Python错误。ImportError: 没有名为feature_format的模块

我正在学习Udacity课程中的回归部分,课程名为"Intro to Machine Learning",并正在进行其中的一个迷你项目。

我复制了项目的代码,编写了回归部分,并尝试在Python 2的Jupyter Notebook上运行它。不幸的是,我遇到了以下错误。

    ImportError                               Traceback (most recent call last)    <ipython-input-8-433cee6c5e25> in <module>()         15 import pickle         16 sys.path.append("../tools/")    ---> 17 from feature_format import featureFormat, targetFeatureSplit         18 dictionary = pickle.load( open("../final_project/final_project_dataset_modified.pkl", "r") )         19     ImportError: No module named feature_format

我正在处理的代码如下:加载并格式化数据集的修改版本(为什么要修改?我们在异常值迷你项目中移除了一些麻烦点)。绘制一个训练/测试数据的小散点图。在指定位置填写回归代码:

    #!/usr/bin/python    import sys    import pickle    sys.path.append("../tools/")    from feature_format import featureFormat, targetFeatureSplit    dictionary = pickle.load( open("../final_project/final_project_dataset_modified.pkl", "r") )    ### 列出你想查看的特征--列表中的第一项将是"目标"特征    features_list = ["bonus", "salary"]    data = featureFormat( dictionary, features_list, remove_any_zeroes=True)    target, features = targetFeatureSplit( data )    ### 在回归中需要训练-测试分割,就像分类一样    from sklearn.cross_validation import train_test_split    feature_train, feature_test, target_train, target_test = train_test_split(features, target, test_size=0.5, random_state=42)    train_color = "b"    test_color = "r"    ### 你的回归代码在这里!    ### 请命名为reg,以便下面的绘图代码能够识别并正确绘制。别忘了将上面的test_color从"b"改为    ### "r",以区分训练点和测试点。    from sklearn import linear_model    reg = linear_model.LinearRegression()    reg.fit(feature_train,target_train)    ### 绘制散点图,颜色编码训练和测试点    import matplotlib.pyplot as plt    for feature, target in zip(feature_test, target_test):        plt.scatter( feature, target, color=test_color )     for feature, target in zip(feature_train, target_train):        plt.scatter( feature, target, color=train_color )     ### 图例标签    plt.scatter(feature_test[0], target_test[0], color=test_color, label="test")    plt.scatter(feature_test[0], target_test[0], color=train_color, label="train")    ### 绘制回归线,一旦它被编码    try:        plt.plot( feature_test, reg.predict(feature_test) )    except NameError:        pass    plt.xlabel(features_list[1])    plt.ylabel(features_list[0])    plt.legend()    plt.show()

回答:

原因

ImportError: No module named feature_format表示没有名为feature_format的模块。

该模块已在您使用的存储库中定义,路径为ud120-projects/tools/feature_format.py

解决方案1

feature_format模块的路径在k_means_cluster.py的第3行声明,作为sys.path.append的参数传递。

将路径从相对路径更改为绝对路径,例如sys.path.append("ud120-projects/tools/")

解决方案2

一切正常,只需执行这个简单的技巧。
克隆GitHub存储库

git clone https://github.com/udacity/ud120-projects.git

进入目录ud120-projects/k_means/,使用

cd ud120-projects/k_means/

然后使用Python2运行Python脚本

python k_means_cluster.py

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注