我使用scikit学习一些数据分析,和我的数据集有一定的缺失值(由NA
表示)。我使用dtype='f8'
将数据加载到genfromtxt
并开始训练我的分类器。如何让支持向量机在scikit-learn中很好地与缺失的数据一起玩?
分类是RandomForestClassifier
和GradientBoostingClassifier
对象精细,但使用SVC
从sklearn.svm
导致以下错误:
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能够很好地处理缺失的数据?请记住,丢失的数据工作正常的随机森林和其他分类..
什么无限值?这表明只有NaN的策略(即除以零) – lefterav 2014-10-10 17:11:02
我这样做,但转换将数据更改为非整数数组。如果我不估算svm分类工作正常,但是当我将这些数据归为数据时,我得到错误“IndexError:只有整数,切片(':'),省略号('...'),numpy.newaxis('无')和整数或布尔数组是有效的索引。有小费吗 ? – 2017-06-14 11:41:27