NOTFITTERERROR:估算器不拟合,在利用模型之前调用“ fit”



我在MacBook OSX 10.2.1(Sierra)上运行Python 3.5.2。

尝试从Kaggle运行一些泰坦尼克号数据集的代码时,我一直遇到以下错误:


NotFittitedError Trackback(最近的电话 last)in() 6 7#使用测试集进行预测并打印。 ----> 8 my_prediction = my_tree_one.predict(test_features) 9印刷(my_prediction) 10

/library/frameworks/python.framework/versions/3.5/lib/python3.5/site-packages/sklearn/tree/tree.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.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.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py.py 在_validate_x_predict(self,x,check_input)中 每当试图预测,应用,预测_proba"时,386""验证X 387如果self.tree_无: -> 388提出不拟合eRror("不安装估计器", 389"在利用模型之前调用fit。") 390

notFittitError:不安装估算器,在利用该估计值之前致电fit 型号。

有问题的代码似乎就是这样:

# 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"函数,所以我无法理解此错误消息。我要去哪里?感谢您的时间。

编辑:事实证明,问题是从上一个代码块继承的。

# 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,Infinity或一个太大的值 dtype('float32')。

错误是自我解释的: features_onetarget阵列确实包含 NaN s或无限值,因此估算器不适合,因此您稍后不能将其用于预测。p>在拟合前检查这些数组并相应地处理NaN值。

它可能是具有问题的新库软件包。我在LGBM软件包中也遇到了相同的问题,并以各自的较低版本软件包进行了尝试。

您可以尝试使用以下命令进行正确的版本软件包安装

pip install libraryName==x.x.x

pip3 install libraryName==x.x.x

相关内容

  • 没有找到相关文章

最新更新