python 卡方检验 特征选择_使用scikit learn进行特征选择

在尝试使用Scikit-Learn的SelectKBest和卡方检验进行特征选择时,遇到了错误:输入数据必须是非负的。由于数据集中包含负值,导致ValueError。现在寻求解决方案来转换数据。
摘要由CSDN通过智能技术生成

我是机器学习的新手。我正在准备我的数据分类使用Scikit学习支持向量机。为了选择最佳功能,我使用了以下方法: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.

有人能告诉我如何转换我的数据吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值