gpt4 book ai didi

python - 如何从 sklearn.feature_selection.SelectKBest 获取每个特征的分数?

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:39 26 4
gpt4 key购买 nike

我正在尝试获取我的数据集的所有特征的分数。

file_data = numpy.genfromtxt(input_file)
y = file_data[:,-1]
X = file_data[:,0:-1]

x_new = SelectKBest(chi2, k='all').fit_transform(X,y)

在 X 的第一行具有字符串格式的“特征名称”之前,但我收到“输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值”错误。因此,现在 X 仅包含数据,而 y 包含目标值 (1,-1)。

如何从 SelectKBest 中获取每个特征的分数(尝试使用单变量特征选择)?

谢谢

最佳答案

解决方案

你只需要做这样的事情。

file_data = numpy.genfromtxt(input_file)
y = file_data[:,-1]
X = file_data[:,0:-1]

selector = SelectKBest(chi2, k='all').fit(X,y)
x_new = selector.transform(X) # not needed to get the score
scores = selector.scores_


你的问题

当您直接使用 .fit_transform(features, target) 时,选择器 不会被存储,您将返回选择的特征。但是,分数是选择器 的一个属性。为了得到它,你必须使用.fit(features, target)。安装好选择器后,您可以通过调用selector.transform(features) 获取选定的功能,如您在代码中所见避免。

正如我在代码中评论的那样,您无需转换特征即可获得分数。只需安装它们就足够了。


链接

关于python - 如何从 sklearn.feature_selection.SelectKBest 获取每个特征的分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32701649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com