所选特征中的 ANOVA 得分

数据挖掘 特征选择 分数 方差分析
2022-03-07 22:13:15

我使用 ANOVA 选择了特征(因为我有数值数据作为输入,分类数据作为目标):

anova = SelectKBest(score_func=f_classif, k='all')
anova.fit(X_train, y_train.values.argmax(1)) # y_train.values.argmax(1) because I already one-hot-encoded the target.

当我绘制分数时,它会显示图像中的数字:

plt.xlabel("Number of features selected")
plt.ylabel("Score (nb of correct classifications)")
plt.plot(range(len(anova.scores_)), anova1.scores_)
plt.show()

在此处输入图像描述

这个数字的解释是什么?为什么剧情有些中断?

1个回答

你误解了anova回报是什么。它返回每个特征的重要性列表。

因此,它不是选择的特征数量,而应该是图中每个特征的索引至此,混乱就解开了。

该图显示,例如,第 45 个特征和第 65 个特征更重要。

参考:

  1. 选择KBest