我正在使用scikit-learn进行一些数据分析,我的数据集中有一些缺失值(用NA
表示)。我使用dtype='f8'
的genfromtxt
函数加载数据,并开始训练分类器。
RandomForestClassifier
和GradientBoostingClassifier
对象上的分类正常,但是在使用sklearn.svm
中的SVC
时会出现以下错误:
probas = classifiers[i].fit(train[traincv], target[traincv]).predict_proba(train[testcv])
File "C:\Python27\lib\site-packages\sklearn\svm\base.py", line 409, in predict_proba
X = self._validate_for_predict(X)
File "C:\Python27\lib\site-packages\sklearn\svm\base.py", line 534, in _validate_for_predict
X = atleast2d_or_csr(X, dtype=np.float64, order="C")
File "C:\Python27\lib\site-packages\sklearn\utils\validation.py", line 84, in atleast2d_or_csr
assert_all_finite(X)
File "C:\Python27\lib\site-packages\sklearn\utils\validation.py", line 20, in assert_all_finite
raise ValueError("array contains NaN or infinity")
ValueError: array contains NaN or infinity
出了什么问题?我该如何使SVM适应缺失数据?请记住,缺失数据对于随机森林和其他分类器来说都可以正常工作。
:
), ellipsis (...
), numpy.newaxis (None
) and integer or boolean arrays are valid indices”。有什么建议吗? - Dhanush Gopinath