r_regression#

sklearn.feature_selection.r_regression(X, y, *, center=True, force_finite=True)#

计算每个特征与目标之间的皮尔逊相关系数r。

皮尔逊相关系数r也被称为皮尔逊相关系数。

用于测试每个回归变量单独效应的线性模型。这是一个用于特征选择过程的评分函数,而不是一个独立的特征选择过程。

计算每个回归变量与目标之间的交叉相关性,如下所示:

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

有关使用方法,请参阅 用户指南

Added in version 1.0.

Parameters:
X{array-like, sparse matrix},形状为 (n_samples, n_features)

数据矩阵。

yarray-like,形状为 (n_samples,)

目标向量。

centerbool, 默认=True

是否将数据矩阵 X 和目标向量 y 居中。默认情况下, Xy 将被居中。

force_finitebool, 默认=True

是否强制皮尔逊相关系数r为有限值。在某些特征在 X 或目标 y 为常数的情况下,皮尔逊相关系数r未定义。当 force_finite=False 时,返回相关系数 np.nan 以确认这种情况。当 force_finite=True 时,该值将被强制为最小相关系数 0.0

Added in version 1.1.

Returns:
correlation_coefficientndarray,形状为 (n_features,)

特征的皮尔逊相关系数r。

See also

f_regression

返回单变量线性回归测试的 f 统计量和 p 值。

mutual_info_regression

连续目标的互信息。

f_classif

分类任务中标签/特征的 ANOVA F 值。

chi2

分类任务中非负特征的卡方统计量。

Examples

>>> 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.15...,  1.        , -0.22...])