r回归#

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

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

皮尔逊相关系数也称为皮尔逊积矩相关系数。

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

每个回归量与目标之间的互相关计算如下:

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

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

1.0版本新增。

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

数据矩阵。

y形状为 (n_samples,) 的 array-like

目标向量。

centerbool, default=True

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

force_finite布尔值,默认为True

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

1.1版本新增。

返回:
correlation_coefficient形状为(n_features,)的ndarray

特征的皮尔逊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.15...,  1.        , -0.22...])