chi2#
- sklearn.feature_selection.chi2(X, y)[источник]#
Вычислите статистику хи-квадрат между каждым неотрицательным признаком и классом.
Эта оценка может использоваться для выбора
n_featuresпризнаки с наибольшими значениями для тестовой статистики хи-квадрат из X, который должен содержать только неотрицательные целочисленные значения признаков таких как булевы значения или частоты (например, количество терминов в классификации документов), относительно классов.Если некоторые из ваших признаков непрерывны, вам нужно разбить их на интервалы, например, используя
KBinsDiscretizer.Напомним, что критерий хи-квадрат измеряет зависимость между стохастическими переменными, поэтому использование этой функции «отсеивает» признаки, которые с наибольшей вероятностью независимы от класса и, следовательно, нерелевантны для классификации.
Подробнее в Руководство пользователя.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Векторы образцов.
- yarray-like формы (n_samples,)
Целевой вектор (метки классов).
- Возвращает:
- chi2ndarray формы (n_features,)
Статистика Chi2 для каждого признака.
- p-значенияndarray формы (n_features,)
P-значения для каждого признака.
Смотрите также
f_classifANOVA F-значение между меткой/признаком для задач классификации.
f_regressionF-значение между меткой/признаком для задач регрессии.
Примечания
Сложность этого алгоритма O(n_classes * n_features).
Примеры
>>> import numpy as np >>> from sklearn.feature_selection import chi2 >>> X = np.array([[1, 1, 3], ... [0, 1, 5], ... [5, 4, 1], ... [6, 6, 2], ... [1, 4, 0], ... [0, 0, 0]]) >>> y = np.array([1, 1, 0, 0, 2, 2]) >>> chi2_stats, p_values = chi2(X, y) >>> chi2_stats array([15.3, 6.5 , 8.9]) >>> p_values array([0.000456, 0.0387, 0.0116 ])