我是机器学习的新手.我正在使用Scikit Learn SVM准备我的数据进行分类.为了选择最好的功能,我使用了以下方法:
SelectKBest(chi2, k=10).fit_transform(A1, A2)
由于我的数据集由负值组成,因此出现以下错误:
ValueError Traceback (most recent call last) /media/5804B87404B856AA/TFM_UC3M/test2_v.py in() ----> 1 2 3 4 5 /usr/local/lib/python2.6/dist-packages/sklearn/base.pyc in fit_transform(self, X, y, **fit_params) 427 else: 428 # fit method of arity 2 (supervised transformation) --> 429 return self.fit(X, y, **fit_params).transform(X) 430 431 /usr/local/lib/python2.6/dist-packages/sklearn/feature_selection/univariate_selection.pyc in fit(self, X, y) 300 self._check_params(X, y) 301 --> 302 self.scores_, self.pvalues_ = self.score_func(X, y) 303 self.scores_ = np.asarray(self.scores_) 304 self.pvalues_ = np.asarray(self.pvalues_) /usr/local/lib/python2.6/dist- packages/sklearn/feature_selection/univariate_selection.pyc in chi2(X, y) 190 X = atleast2d_or_csr(X) 191 if np.any((X.data if issparse(X) else X) < 0): --> 192 raise ValueError("Input X must be non-negative.") 193 194 Y = LabelBinarizer().fit_transform(y) ValueError: Input X must be non-negative.
有人能告诉我如何转换我的数据?