特征选择(如chi2方法)产生的p值意味着什么?

5 投票
1 回答
7560 浏览
提问于 2025-04-18 06:39

最近,我使用了sklearn(一个Python的机器学习库)来做短文本分类的任务。我发现SelectKBest这个类可以选择K个最好的特征。不过,SelectKBest的第一个参数是一个评分函数,它的作用是“接受两个数组X和y,然后返回一对数组(scores,pvalues)”。我知道scores是什么意思,但pvalues又是什么呢?

1 个回答

8

一般来说,p值表示在零假设下,某个结果或更极端结果发生的可能性。在你提到的特征选择的情况下,零假设可以理解为这个特征对预测目标没有任何信息,这里的没有信息是根据评分方法来理解的:如果你的评分方法是测试单变量线性关系(比如在sklearn.feature_selection中有f_classiff_regression这样的选项),那么零假设就意味着这种线性关系并不存在。

简单来说,特征选择的p值表示如果这个变量与目标没有任何关系,那么这个分数或更高的分数出现的概率。

还有一个普遍的说法:分数越大越好,p值越小越好(而且损失越小也越好)。

撰写回答