运行scikit-learn官网中的例子-- SVM with univariate feature selection ,当使用自己的数据时,一直报错:
“Input X must be non-negative”
是因为特征中有负值,不能使用chi2(卡方检验)来作为相关性评价的准则。参考:Feature selection using scikit-learn
解决方法就是:
Just use sklearn.preprocessing.MinMaxScaler().fit_transform(YOUR_TRAINING_FEATURES_HERE)
with the default values to scale your training features to be from 0 to 1.
注意MinMaxScalar()过程必须在SelectPercentile(chi2)过程之前才能起到作用!