f_regression#
- sklearn.feature_selection.f_regression(X, y, *, центр=True, force_finite=True)[источник]#
Одномерные линейные регрессионные тесты, возвращающие F-статистику и p-значения.
Быстрая линейная модель для проверки эффекта одного регрессора, последовательно для многих регрессоров.
Это выполняется в 2 шага:
Перекрестная корреляция между каждым регрессором и целевой переменной вычисляется с использованием
r_regressionкак:E[(X[:, i] - mean(X[:, i])) * (y - mean(y))] / (std(X[:, i]) * std(y))
Он преобразуется в F-оценку, а затем в p-значение.
f_regressionпроисходит изr_regressionи будет ранжировать признаки в том же порядке, если все признаки положительно коррелируют с целевой переменной.Однако обратите внимание, что в отличие от
f_regression,r_regressionзначения лежат в [-1, 1] и поэтому могут быть отрицательными.f_regressionпоэтому рекомендуется в качестве критерия выбора признаков для идентификации потенциально предсказательных признаков для последующего классификатора, независимо от знака ассоциации с целевой переменной.Кроме того
f_regressionвозвращает p-значения, в то время какr_regressionне делает.Подробнее в Руководство пользователя.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Матрица данных.
- yarray-like формы (n_samples,)
Целевой вектор.
- центрbool, по умолчанию=True
Центрировать ли матрицу данных
Xи целевой векторy. По умолчанию,Xиyбудет центрирован.- force_finitebool, по умолчанию=True
Принудительно ли делать F-статистику и связанные p-значения конечными. Есть два случая, когда ожидается, что F-статистика не будет конечной:
когда целевая переменная
yили некоторые признаки вXпостоянны. В этом случае корреляция Пирсона R не определена, что приводит к получениюnp.nanзначения в F-статистике и p-значении. Когдаforce_finite=True, F-статистика устанавливается в0.0и связанное p-значение устанавливается в1.0.когда признак в
Xидеально коррелирует (или антикоррелирует) с целевой переменнойy. В этом случае ожидается, что F-статистика будетnp.inf. Когдаforce_finite=True, F-статистика устанавливается вnp.finfo(dtype).maxи связанное p-значение установлено в0.0.
Добавлено в версии 1.1.
- Возвращает:
- f_statisticndarray формы (n_features,)
F-статистика для каждого признака.
- p-значенияndarray формы (n_features,)
P-значения, связанные с F-статистикой.
Смотрите также
r_regressionКоэффициент корреляции Пирсона R между меткой/признаком для задач регрессии.
f_classifANOVA F-значение между меткой/признаком для задач классификации.
chi2Статистики хи-квадрат неотрицательных признаков для задач классификации.
SelectKBestВыбрать признаки на основе k наивысших оценок.
SelectFprВыбор признаков на основе теста ложноположительной частоты.
SelectFdrВыберите признаки на основе оцененного уровня ложных открытий.
SelectFweВыбор признаков на основе семейной ошибки.
SelectPercentileВыбор признаков на основе процентиля наивысших оценок.
Примеры
>>> from sklearn.datasets import make_regression >>> from sklearn.feature_selection import f_regression >>> X, y = make_regression( ... n_samples=50, n_features=3, n_informative=1, noise=1e-4, random_state=42 ... ) >>> f_statistic, p_values = f_regression(X, y) >>> f_statistic array([1.21, 2.67e13, 2.66]) >>> p_values array([0.276, 1.54e-283, 0.11])