r_regression#

sklearn.feature_selection.r_regression(X, y, *, центр=True, force_finite=True)[источник]#

Вычислите коэффициент корреляции Пирсона r для каждого признака и целевой переменной.

Коэффициент корреляции Пирсона также известен как r Пирсона.

Линейная модель для проверки индивидуального эффекта каждого из многих регрессоров. Это функция оценки для использования в процедуре отбора признаков, а не самостоятельная процедура отбора признаков.

Перекрестная корреляция между каждым регрессором и целью вычисляется как:

E[(X[:, i] - mean(X[:, i])) * (y - mean(y))] / (std(X[:, i]) * std(y))

Для получения дополнительной информации об использовании см. Руководство пользователя.

Добавлено в версии 1.0.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Матрица данных.

yarray-like формы (n_samples,)

Целевой вектор.

центрbool, по умолчанию=True

Центрировать ли матрицу данных X и целевой вектор y. По умолчанию, X и y будет центрирован.

force_finitebool, по умолчанию=True

Принудительно ли делать корреляцию Пирсона R конечной. В частном случае, когда некоторые признаки в X или целевой переменной y постоянны, корреляция Пирсона R не определена. Когда force_finite=False, корреляция np.nan возвращается, чтобы подтвердить этот случай. Когда force_finite=True, это значение будет принудительно установлено на минимальную корреляцию 0.0.

Добавлено в версии 1.1.

Возвращает:
correlation_coefficientndarray формы (n_features,)

Коэффициенты корреляции Пирсона признаков.

Смотрите также

f_regression

Одномерные линейные регрессионные тесты, возвращающие f-статистику и p-значения.

mutual_info_regression

Взаимная информация для непрерывной цели.

f_classif

ANOVA F-значение между меткой/признаком для задач классификации.

chi2

Статистики хи-квадрат неотрицательных признаков для задач классификации.

Примеры

>>> from sklearn.datasets import make_regression
>>> from sklearn.feature_selection import r_regression
>>> X, y = make_regression(
...     n_samples=50, n_features=3, n_informative=1, noise=1e-4, random_state=42
... )
>>> r_regression(X, y)
array([-0.157,  1.        , -0.229])