Какое значение p принимается sklearn chi2? - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь понять реализацию алгоритма выбора sklearn chi2 для feauture.Я думаю, что понимаю формулу chi2.enter image description here

enter image description here

После получения этого значения мы увидим таблицу с 1 степенью свободы и в соответствии с необходимостью выборазначение p. Если значение chi2 больше, чем хранить его, в противном случае игнорируйте его.

Мой вопрос: как пакет sklearn выбирает это значение p самостоятельно? Для него просто требуются массивы X и y в качестве входных данных.

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

и всегда ли норма chi2 нормализуется?ссылка на статью - http://courses.ischool.berkeley.edu/i256/f06/papers/yang97comparative.pdf

1 Ответ

0 голосов
/ 10 июня 2018

Идея состоит в том, чтобы выполнить одномерный выбор объектов :

  1. Для каждой функции вы вычисляете какую-то статистику (в вашем случае числовой-statistic)
  2. Создайте набор (надеюсь) наиболее важных функций, комбинируя 1) с некоторым методом выбора ( SelectKBest , SelectPercentile )

Итак, возвращаясь к вашему вопросу, я думаю, что вы неправильно поняли следующий пункт:

  • Вы всегда запускаете тест chi2 для всех функций, а затем сохраняете только те, которые имелисамая высокая chi2-статистика (= самое низкое значение p).Вы не указываете пороговое значение, поскольку ваша цель - сохранить наиболее информативных функций .Если вы настаиваете и действительно хотите использовать пороговое значение отсечки, вам придется написать собственный Transformer, и совершенно неясно, каким должно быть это предельное значение (даже применительно к p-значениям).
...