我在Macbook OSX 10.2.1(Sierra)上运行Python 3.5.2。
当我尝试从Kaggle运行泰坦尼克号数据集的一些代码时,我一直收到以下错误:
NotFittedError Traceback(最近调用最后)in()6 7 #使用测试集进行预测并打印它们。----〉8 my_prediction = my_tree_one. predicate(test_features)9 print(my_prediction)10
/库/框架/Python.框架/版本/3.5/库/Python 3.5/站点包/sklearn/树/树. py在预测(自我,X,检查_输入)429 """430--〉431 X =自我.验证_X_预测(X,检查_输入)432概率=自我.树_.预测(X)433 n_样本= X.形状[0]
/库/框架/Python. framework/版本/3.5/lib/python3.5/站点包/sklearn/tree/tree. py in_validate_X_predict(self,X,check_input)386 """每当尝试预测、应用、预测概率时验证X""" 387如果self. tree_为None:- -〉388引发NotFittedError("估计器未拟合",389 "在利用模型之前调用fit
")390
未拟合错误:估计值未拟合,在利用模型之前调用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"])
这里是code其余部分的链接。
因为我已经调用了"fit"函数,所以我不能理解这个错误消息。我哪里出错了?谢谢你的时间。
- Edit**:原来这个问题是从前面的代码块继承而来的。
# 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))
以下行:* * 我的树_一个=我的树_一个.拟合(要素_一个,目标)**
产生错误:
ValueError:输入包含NaN、无穷大或对dtype("float32")而言太大的值。
2条答案
按热度按时间vhmi4jdf1#
该错误不言自明:
features_one
或target
数组确实包含NaN
或无穷大值,因此估计量无法拟合,因此您不能将其用于以后的预测。检查这些数组,并在拟合之前相应地处理
NaN
值。insrf1ej2#
可能是新的库包有这个问题。我在lgbm包中也遇到了同样的问题,并尝试了相应的较低版本的包,它得到了解决。
您可以尝试使用以下命令安装正确版本的软件包
或