Ошибка Python. ImportError: нет модуля с именем feature_format - PullRequest
0 голосов
/ 05 октября 2019

Я изучаю регрессию из курса Udacity "Intro to Machine Learning" и прохожу в нем мини-проект.

Я скопировал код проекта, написал регрессионную часть как часть кода и попытался запустить его на Jupyter Notebook в Python 2. К сожалению, я получил следующую ошибку.

    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

Код, над которым я работаю, выглядит следующим образом: загружает / форматирует модифицированную версию набора данных (почему модифицировано? Мы устранили некоторые проблемные моменты, которые вы обнаружите в мини-проекте выбросов) .nDraws немногоДиаграмма рассеяния данных обучения / тестированияВведите код регрессии, где указано:

    #!/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") )

    ### list the features you want to look at--first item in the 
    ### list will be the "target" feature
    features_list = ["bonus", "salary"]
    data = featureFormat( dictionary, features_list, remove_any_zeroes=True)
    target, features = targetFeatureSplit( data )

    ### training-testing split needed in regression, just like classification
    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"


    ### Your regression goes here!
    ### Please name it reg, so that the plotting code below picks it up and 
    ### plots it correctly. Don't forget to change the test_color above from "b" to
    ### "r" to differentiate training points from test points.
    from sklearn import linear_model
    reg = linear_model.LinearRegression()
    reg.fit(feature_train,target_train)


    ### draw the scatterplot, with color-coded training and testing points
    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 ) 

    ### labels for the legend
    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")

    ### draw the regression line, once it's coded
    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()

1 Ответ

0 голосов
/ 05 октября 2019

Попробуйте добавить:

import sys
!{sys.executable} -m pip install feature_format

перед импортом feature_format. Это «следует» установить.

...