r_regression#

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

Berechnet Pearsons r für jedes Merkmal und das Ziel.

Pearsons r ist auch bekannt als Pearson-Korrelationskoeffizient.

Lineares Modell zum Testen des individuellen Effekts jedes von vielen Regressoren. Dies ist eine Scoring-Funktion, die in einem Feature-Selection-Verfahren verwendet wird, kein eigenständiges Feature-Selection-Verfahren.

Die Kreuzkorrelation zwischen jedem Regressor und dem Ziel wird berechnet als

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

Weitere Informationen zur Verwendung finden Sie im Benutzerhandbuch.

Hinzugefügt in Version 1.0.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Die Datenmatrix.

yarray-like von Form (n_samples,)

Der Zielvektor.

centerbool, default=True

Ob die Datenmatrix X und der Zielvektor y zentriert werden sollen oder nicht. Standardmäßig werden X und y zentriert.

force_finitebool, default=True

Ob die Pearson'sche R-Korrelation auf endlich erzwungen werden soll oder nicht. In dem speziellen Fall, in dem einige Merkmale in X oder das Ziel y konstant sind, ist die Pearson'sche R-Korrelation nicht definiert. Wenn force_finite=False, wird eine Korrelation von np.nan zurückgegeben, um diesen Fall anzuerkennen. Wenn force_finite=True, wird dieser Wert auf eine minimale Korrelation von 0.0 erzwungen.

Hinzugefügt in Version 1.1.

Gibt zurück:
correlation_coefficientndarray of shape (n_features,)

Pearson'sche R-Korrelationskoeffizienten der Merkmale.

Siehe auch

f_regression

Univariate lineare Regressionstests, die F-Statistik und p-Werte zurückgeben.

mutual_info_regression

Gegenseitige Information für ein kontinuierliches Ziel.

f_classif

ANOVA F-Wert zwischen Label/Merkmal für Klassifizierungsaufgaben.

chi2

Chi-Quadrat-Statistiken nicht-negativer Merkmale für Klassifizierungsaufgaben.

Beispiele

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