所以在添加新特性之前,我的随机森林分类器运行得很好。当我尝试运行它时,我一直收到以下错误代码:
\Anaconda2\lib\site-packages\sklearn\utils\validation.pyc in _assert_all_finite(X)
56 and not np.isfinite(X).all()):
57 raise ValueError("Input contains NaN, infinity"
---> 58 " or a value too large for %r." % X.dtype)
59
60
ValueError: Input contains NaN, infinity or a value too large for dtype('float32').
训练和测试都是np.数据帧从csv文件读取的对象。我正试图添加更多的特性以获得更好的预测值,但每次尝试拟合时都会出现上述错误。我确实尝试删除NaN和infinite值,但仍然得到相同的错误。在
以下是我的代码:
^{pr2}$bedPerBath变量为isnull().any()提供了一个True,所以我忽略了它,其余的都给了False。然而,当我试图拟合估计量时,我仍然得到“值误差”。在
X_train, X_cv, y_train, y_cv = train_test_split(X, y, test_size = 0.3)
X_train.isnull().any()
clfRF = RandomForestClassifier(n_estimators = 1000)
clfRF.fit(X_train, y_train)
#CV
y_cv_pred = clfRF.predict_proba(X_cv)
log_loss(y_cv, y_cv_pred)
我注意到错误消息说dtype('float32')太大,而我的值基本上是float64,这会导致错误吗?为什么会这样?在
谢谢。在
尝试:
相关问题 更多 >
编程相关推荐