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
中心化。預設情況下,X
和y
將會被中心化。- 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...])