r_regression#

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

计算每个特征和目标变量的皮尔逊r值。

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

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

每个回归器和目标变量之间的互相关性计算如下:

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

有关更多用法,请参见用户指南

版本 1.0 中新增。

参数:
X{array-like, sparse matrix} of shape (n_samples, n_features)

数据矩阵。

yarray-like of shape (n_samples,)

目标向量。

centerbool, default=True

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

force_finitebool, default=True

是否强制皮尔逊R相关系数为有限值。在 X 中的某些特征或目标 y 为常数(即不变)的特殊情况下,皮尔逊R相关系数未定义。当 force_finite=False 时,返回 np.nan 表示这种情况。当 force_finite=True 时,此值将被强制设置为最小相关系数 0.0

版本 1.1 中新增。

返回:
correlation_coefficientndarray of shape (n_features,)

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

另请参阅

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])