sklearn chi2采用的p值是多少?

时间:2018-06-10 09:14:46

标签: python machine-learning scikit-learn feature-selection

我试图了解sklearn chi2对于超级选择算法的实现。 我想我理解chi2公式。 enter image description here

enter image description here

获得此值后,我们将看到1个自由度的表,并根据需要选择p值。如果chi2值大于保持,否则忽略它。

我的问题是sklearn包如何自己选择这个p值?它只需要X和y数组作为输入。

http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.chi2.html

并且chi2得分总是正常化吗? 链接到论文 - http://courses.ischool.berkeley.edu/i256/f06/papers/yang97comparative.pdf

1 个答案:

答案 0 :(得分:0)

想法是执行univariate feature selection

  1. 对于每个功能,您可以计算某种统计信息(在您的情况下是chisquared-statistic)
  2. 通过将1)与某种选择方法(SelectKBestSelectPercentile
  3. 组合,创建一组(希望)最重要的功能

    回到你的问题,我认为你误解了以下几点:

    • 您总是对所有功能运行chi2测试,然后您只保留具有最高chi2统计量(=最低p值)的那些。您没有指定截止阈值,因为您的目标是保留信息量最大的功能。如果您坚持并且确实想要使用截止阈值,则必须编写自己的Transformer,并且根本不应该显示此截止值(即使应用于p值)。