f_regression#
- sklearn.feature_selection.f_regression(X, y, *, center=True, force_finite=True)[Quelle]#
Univariate lineare Regressionstests, die F-Statistik und p-Werte zurückgeben.
Schnelles lineares Modell zum sequenziellen Testen der Auswirkung einzelner Regressoren auf viele Regressoren.
Dies geschieht in 2 Schritten
Die Kreuzkorrelation zwischen jedem Regressor und dem Ziel wird mit
r_regressionberechnet alsE[(X[:, i] - mean(X[:, i])) * (y - mean(y))] / (std(X[:, i]) * std(y))
Sie wird in einen F-Score und dann in einen p-Wert umgewandelt.
f_regressionleitet sich vonr_regressionab und wird die Merkmale in derselben Reihenfolge ranken, wenn alle Merkmale positiv mit dem Ziel korreliert sind.Beachten Sie jedoch, dass im Gegensatz zu
f_regression, Werte vonr_regressionim Bereich [-1, 1] liegen und daher negativ sein können.f_regressionwird daher als Merkmal-Auswahlkriterium empfohlen, um potenziell prädiktive Merkmale für einen nachgeschalteten Klassifikator zu identifizieren, unabhängig vom Vorzeichen der Assoziation mit der Zielvariable.Darüber hinaus gibt
f_regressionp-Werte zurück, währendr_regressiondies nicht tut.Lesen Sie mehr im Benutzerhandbuch.
- 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
Xund der Zielvektoryzentriert werden sollen oder nicht. Standardmäßig werdenXundyzentriert.- force_finitebool, default=True
Ob F-Statistiken und zugehörige p-Werte endlich erzwungen werden sollen oder nicht. Es gibt zwei Fälle, in denen die F-Statistik voraussichtlich nicht endlich ist
wenn das Ziel
yoder einige Merkmale inXkonstant sind. In diesem Fall ist die Pearson'sche R-Korrelation nicht definiert, was dazu führt, dassnp.nan-Werte in der F-Statistik und im p-Wert erzielt werden. Wennforce_finite=Trueist, wird die F-Statistik auf0.0und der zugehörige p-Wert auf1.0gesetzt.wenn ein Merkmal in
Xperfekt mit dem Zielykorreliert (oder antikorreliert) ist. In diesem Fall wird erwartet, dass die F-Statistiknp.infist. Wennforce_finite=Trueist, wird die F-Statistik aufnp.finfo(dtype).maxund der zugehörige p-Wert auf0.0gesetzt.
Hinzugefügt in Version 1.1.
- Gibt zurück:
- f_statisticndarray von der Form (n_features,)
F-Statistik für jedes Merkmal.
- p_valuesndarray von der Form (n_features,)
P-Werte, die mit der F-Statistik verbunden sind.
Siehe auch
r_regressionPearson's R zwischen Label/Merkmal für Regressionsaufgaben.
f_classifANOVA F-Wert zwischen Label/Merkmal für Klassifizierungsaufgaben.
chi2Chi-Quadrat-Statistiken nicht-negativer Merkmale für Klassifizierungsaufgaben.
SelectKBestWählt Merkmale basierend auf den k höchsten Scores aus.
SelectFprWählt Merkmale basierend auf einem Test der falschen positiven Rate aus.
SelectFdrWählt Merkmale basierend auf einer geschätzten Rate falsch entdeckter Fälle aus.
SelectFweWählt Merkmale basierend auf der familiären Fehlerrate aus.
SelectPercentileWählt Merkmale basierend auf dem Perzentil der höchsten Scores aus.
Beispiele
>>> from sklearn.datasets import make_regression >>> from sklearn.feature_selection import f_regression >>> X, y = make_regression( ... n_samples=50, n_features=3, n_informative=1, noise=1e-4, random_state=42 ... ) >>> f_statistic, p_values = f_regression(X, y) >>> f_statistic array([1.21, 2.67e13, 2.66]) >>> p_values array([0.276, 1.54e-283, 0.11])