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

有關使用方式的更多資訊,請參閱使用者指南

於 1.0 版本新增。

參數:
X形狀為 (n_samples, n_features) 的類陣列或稀疏矩陣

資料矩陣。

y形狀為 (n_samples,) 的類陣列

目標向量。

center布林值,預設為 True

是否要將資料矩陣 X 和目標向量 y 中心化。預設情況下,Xy 將會被中心化。

force_finite布林值,預設為 True

是否強制皮爾森相關係數為有限值。在 X 中的某些特徵或目標 y 為常數的特殊情況下,皮爾森相關係數未定義。當 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

用於分類任務的標籤/特徵之間的變異數分析 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...])