get feature names of SelectKBest function python(获取SelectKBest函数的功能名称)
本文介绍了获取SelectKBest函数的功能名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从skledge实现了SelectKBest,我希望获得K个最佳列的名称,而不仅仅是每个列的值。
我需要做什么?
我的代码:
X_new = SelectKBest(chi2, k=2).fit_transform(X, y)
X_new.shape
X_new是一个数字.ndarray,它有k列,但没有列名称。
推荐答案
您可以获取所选功能的索引。
示例1:
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
iris = load_iris()
X, y = iris.data, iris.target
selector = SelectKBest(chi2, k=2)
selector.fit(X, y)
X_new = selector.transform(X)
X_new.shape
print(selector.get_support(indices=True))
现在,如果您确实想要获取列的实际名称,我们需要使用 pandas 。
示例2:
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
import pandas as pd
iris = load_iris()
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.DataFrame(iris.target)
selector = SelectKBest(chi2, k=2)
selector.fit(X, y)
X_new = selector.transform(X)
print(X_new.shape)
X.columns[selector.get_support(indices=True)]
# 1st way to get the list
vector_names = list(X.columns[selector.get_support(indices=True)])
print(vector_names)
#2nd way
X.columns[selector.get_support(indices=True)].tolist()
结果:
Index([u'petal length (cm)', u'petal width (cm)'], dtype='object')
['petal length (cm)', 'petal width (cm)']
['petal length (cm)', 'petal width (cm)']
这篇关于获取SelectKBest函数的功能名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:获取SelectKBest函数的功能名称


基础教程推荐
猜你喜欢
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 求两个直方图的卷积 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 包装空间模型 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01