SelectKBest() 如何进行特征选择?

数据挖掘 机器学习 特征选择 scikit-学习
2021-10-12 06:20:14

SelectKBest(f_classif, k)k要选择的特征数量在哪里,通常用于特征选择,但是,我很难找到有关其工作原理的描述性文档。这是如何工作的示例如下:

model = SelectKBest(f_classif, k)
model.fit_transform(X_train, Target_train)

据我了解,ANOVA F 值不需要分类响应。(请参阅scipy.stats.f_oneway)它正在计算特征之间的值。为什么f_classif需要响应?

SelectKBest当一组数据应该只有一个 F 值时,如何根据 F 值对特征进行排序?

1个回答

你的问题真的f_classifSelectKBest. 这是删除重复的标签注意np.unique(y)

X, y = check_X_y(X, y, ['csr', 'csc', 'coo'])
args = [X[safe_mask(X, y == k)] for k in np.unique(y)]
return f_oneway(*args)

f_oneway 仍然只通过特征矩阵,但它的一个子集。