Какие значения p принимает sklearn chi2

Я пытаюсь понять реализацию алгоритма sklearn chi2 для выбора функции. Я думаю, что понимаю формулу chi2. Какие значения p принимает sklearn chi2

Какие значения p принимает sklearn chi2

После получения этого значения мы увидим таблицу для 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

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
914
1

Ответы 1

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

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

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

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

Всегда ли значения хи-квадрат нормализованы? Я ссылаюсь на статью, которая также часто цитируется, где это упоминается ... Я добавил ссылку в вопрос.

ubuntu_noob 10.06.2018 14:31

Я рекомендую вам увидеть реализацию здесь: github.com/scikit-learn/scikit-learn/blob/a24c8b46/sklearn/…

Jan K 10.06.2018 14:41

Я видел эту реализацию ... Я не думаю, что они должны быть нормализованы, но в документе так сказано ...

ubuntu_noob 10.06.2018 15:08

Другие вопросы по теме