NotFittedError: оценщик не установлен, перед использованием модели вызовите команду fit.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 NotFittedError: оценщик не установлен, перед использованием модели вызовите команду fit.

Сообщение Anonymous »

Я использую Python 3.5.2 на Macbook OSX 10.2.1 (Sierra).

При попытке запустить некоторый код для набора данных Titanic от Kaggle я продолжает получать следующую ошибку:




NotFittedError Traceback (последний вызов
последний) in ()
6
7 # Сделайте свой прогноз, используя тестовый набор, и распечатайте его.
----> 8 my_prediction = my_tree_one.predict(test_features)
9 print( my_prediction)
10

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/tree/tree.py
в прогнозе(self, X, check_input)
429 """
430
--> 431 X = self._validate_X_predict(X, check_input)
432 proba = self.tree_.predict(X)
433 n_samples = X.shape[0]

/Library/Frameworks/ Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/tree/tree.py
в _validate_X_predict(self, X, check_input)
386 """Проверять X всякий раз, когда кто-то пытается спрогнозировать, применить, Predict_proba"""
387, если self.tree_ равен None:
--> 388 поднять NotFittedError("Оценщик не установлен, "
389 "вызовите соответствие перед использованием модели.")
390

NotFittedError: средство оценки не установлено, вызовите соответствие перед использованием модели
.

Нарушающий код выглядит следующим образом:

Код: Выделить всё

# Impute the missing value with the median
test.Fare[152] = test.Fare.median()

# Extract the features from the test set: Pclass, Sex, Age, and Fare.
test_features = test[["Pclass", "Sex", "Age", "Fare"]].values

# Make your prediction using the test set and print them.
my_prediction = my_tree_one.predict(test_features)
print(my_prediction)

# Create a data frame with two columns: PassengerId & Survived. Survived contains your predictions
PassengerId =np.array(test["PassengerId"]).astype(int)
my_solution = pd.DataFrame(my_prediction, PassengerId, columns = ["Survived"])
print(my_solution)

# Check that your data frame has 418 entries
print(my_solution.shape)

# Write your solution to a csv file with the name my_solution.csv
my_solution.to_csv("my_solution_one.csv", index_label = ["PassengerId"])
И вот ссылка на остальную часть кода.

Поскольку я уже назвал «подгонку» ', я не могу понять это сообщение об ошибке. Где я ошибаюсь? Спасибо, что уделили время.

Изменить:
Оказывается, проблема унаследована от предыдущего блока кода.

Код: Выделить всё

# Fit your first decision tree: my_tree_one
my_tree_one = tree.DecisionTreeClassifier()
my_tree_one = my_tree_one.fit(features_one, target)

# Look at the importance and score of the included features
print(my_tree_one.feature_importances_)
print(my_tree_one.score(features_one, target))
С помощью строки:
my_tree_one = my_tree_one.fit(features_one, target)

генерация ошибки:


ValueError: входные данные содержат NaN, бесконечность или значение, слишком большое для
dtype('float32').


Подробнее здесь: https://stackoverflow.com/questions/409 ... -the-model
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»