Fonction de sélection à l'aide de scikit-learn

Je suis nouveau dans l'apprentissage de la machine. Je suis en train de préparer mes données à des fins de classification à l'aide de Scikit Learn SVM. Afin de sélectionner les meilleurs caractéristiques que j'ai utilisé la méthode suivante:

SelectKBest(chi2, k=10).fit_transform(A1, A2)

Depuis mon dataset consistent en des valeurs négatives, j'obtiens l'erreur suivante:

ValueError                                Traceback (most recent call last)
/media/5804B87404B856AA/TFM_UC3M/test2_v.py in <module>()
----> 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.

Quelqu'un peut me dire comment je peux transformer mes données ?

Vous pourrait normaliser les valeurs entre 0 et 1, ou prendre des valeurs absolues, peut-être
Si vos données n'est pas non négatif, peut-être chi2 n'est pas une bonne méthode. Vous pouvez utiliser f_score. Quelle est la nature de vos données?
Merci EdChum et Andreas. Mes données consistent en de min, max, moyenne, médiane et de la FFT du signal de l'accéléromètre

OriginalL'auteur sara | 2014-09-11