从 selectKbest 获取特征名称

2024-01-09

我使用 Scikit 学习selectKbest从 900 个特征中选择大约 500 个最佳特征。如下,其中 d 是所有特征的数据框。

from sklearn.feature_selection import SelectKBest, chi2, f_classif
X_new = SelectKBest(chi2, k=491).fit_transform(d, label_vs)

当我打印时X_new现在,它只给我数字,但我需要所选功能的名称以便稍后使用它们。

我尝试过类似的事情X_new.dtype.names但我没有拿回任何东西,我试图转换X_new进入数据框,但我得到的唯一列名是

1, 2, 3, 4... 

那么有没有办法知道所选功能的名称是什么?


这是您可以使用的方法get_support():

chY = SelectKBest(chi2, k=491)
X_new = chY.fit_transform(d, label_vs)
column_names = [column[0]  for column in zip(d.columns,chY.get_support()) if column[1]]

从 @AI_Learning 的答案中,您可以通过以下方式获取列名称:

column_names = d.columns[chY.get_support()]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 selectKbest 获取特征名称 的相关文章

随机推荐