我有一个X
具有1000
特征(列)和100
浮点元素行的矩阵y
以及两个类 0 和 1 的向量目标,维度y
为(100,1)
。我想计算这个矩阵中区分2
类别的 10 个最佳特征。我尝试使用定义的卡方,scikit-learn
但X
它是浮点元素。
你能帮我告诉我一个我可以使用的功能吗?
谢谢你。
我有一个X
具有1000
特征(列)和100
浮点元素行的矩阵y
以及两个类 0 和 1 的向量目标,维度y
为(100,1)
。我想计算这个矩阵中区分2
类别的 10 个最佳特征。我尝试使用定义的卡方,scikit-learn
但X
它是浮点元素。
你能帮我告诉我一个我可以使用的功能吗?
谢谢你。
我不确定你的意思X
是浮动元素。Chi2 适用于非负直方图数据(即 l1 归一化)。如果您的数据不满足这一点,则必须使用另一种方法。
scikit-learn 中有一个完整的特征选择算法模块。你读过文档吗?最简单的方法是使用 SelectKBest。
递归特征消除(RFE)对我来说真的很有效。该方法最初为所有特征分配权重,并删除权重最小的特征。重复应用此步骤,直到我们达到所需的功能数量(在您的情况下为 10)。
http://scikit-learn.org/stable/modules/feature_selection.html#recursive-feature-elimination
据我所知,如果你的数据是相关的,那么 L1 惩罚选择可能不是最好的主意。如我错了请纠正我。