一部のデータ分析に scikit-learn を使用していますが、データセットにいくつかの欠損値があります ( で表されますNA
)。genfromtxt
with でデータをロードしdtype='f8'
、分類子のトレーニングに取り掛かります。
RandomForestClassifier
オブジェクトとGradientBoostingClassifier
オブジェクトの分類は問題ありませんが、 SVC
fromを使用する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 を適切に動作させるにはどうすればよいですか? 欠落しているデータは、ランダム フォレストやその他の分類子では正常に機能することに注意してください。