从矩阵n X m获得最佳特征

时间:2013-05-12 02:12:32

标签: python scipy scikit-learn

我有一个X矩阵,其中1000个要素(列)和100个浮点元素行,y个向量目标有两个类0和1,维度y的{​​{1}}是(100,1)。我想计算这个矩阵中区分2类的10个最佳特征。我试图使用scikit-learn中定义的卡方,但X是浮点元素。

你能帮助我并告诉我一个我可以使用的功能。

谢谢。

2 个答案:

答案 0 :(得分:1)

我不确定X是什么意思是浮点元素。 Chi2适用于非负直方图数据(即l1归一化)。如果数据不满足此要求,则必须使用其他方法。

scikit-learn中有whole module个特征选择算法。你读过文档吗?最简单的就是使用SelectKBest。

答案 1 :(得分:0)

递归特征消除(RFE)对我来说非常有效。此方法最初为所有要素指定权重,并删除权重最小的要素。重复应用此步骤,直到我们达到所需数量的功能(在您的情况下为10)。

http://scikit-learn.org/stable/modules/feature_selection.html#recursive-feature-elimination

据我所知,如果您的数据是相关的,L1惩罚选择可能不是最佳选择。如果我错了,请纠正我。