f_regression
- sklearn.feature_selection.f_regression(X, y, *, center=True, force_finite=True)[source]
-
Однофакторные линейные регрессионные тесты, возвращающие статистику 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} of shape (n_samples, n_features)
-
Матрица данных.
- yarray-like of shape (n_samples,)
-
Вектор целевых значений.
- centerbool, default=True
-
Центрировать ли матрицу данных
Xи вектор целевых значенийy. По умолчаниюXиyбудут центрированы. - force_finitebool, default=True
-
Принудительно ли устанавливать статистику F и соответствующие p-значения в конечные значения. Есть два случая, когда ожидается, что статистика F не будет конечной:
- когда целевая переменная
yили некоторые признаки вXявляются постоянными. В этом случае корреляция Пирсона не определена, что приводит к получению значений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 of shape (n_features,)
-
Статистика F для каждого признака.
- p_valuesndarray of shape (n_features,)
-
P-значения, связанные со статистикой F.
См. также
r_regression-
Корреляция Пирсона между меткой/признаком для регрессионных задач.
f_classif-
Статистика ANOVA 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.2...+00, 2.6...+13, 2.6...+00]) >>> p_values array([2.7..., 1.5..., 1.0...])
-
Примеры галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.feature_selection.f_regression.html