LassoLarsCV#
- class sklearn.linear_model.LassoLarsCV(*, fit_intercept=True, verbose=False, max_iter=500, precompute='auto', cv=None, max_n_alphas=1000, n_jobs=None, eps=np.float64(2.220446049250313e-16), copy_X=True, positive=False)[Quelle]#
Kreuzvalidiertes Lasso unter Verwendung des LARS-Algorithmus.
Siehe Glossareintrag für Cross-validation-Schätzer.
Die Optimierungsziel für Lasso ist
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
Mehr dazu im Benutzerhandbuch.
- Parameter:
- fit_interceptbool, Standardwert=True
Ob für dieses Modell ein Achsenabschnitt berechnet werden soll. Wenn auf False gesetzt, wird kein Achsenabschnitt in Berechnungen verwendet (d.h. die Daten werden als zentriert erwartet).
- verbosebool oder int, default=False
Legt den Ausführlichkeitsgrad fest.
- max_iterint, Standard=500
Maximale Anzahl von Iterationen, die durchgeführt werden sollen.
- precomputebool oder ‘auto’ , Standardwert=’auto’
Ob eine vorab berechnete Gram-Matrix zur Beschleunigung der Berechnungen verwendet werden soll. Wenn auf
'auto'gesetzt, entscheiden wir. Die Gram-Matrix kann nicht als Argument übergeben werden, da wir nur Teilmengen von X verwenden werden.- cvint, Kreuzvalidierungsgenerator oder iterierbar, Standardwert=None
Bestimmt die Strategie der Kreuzvalidierungsaufteilung. Mögliche Eingaben für cv sind
None, um die standardmäßige 5-fache Kreuzvalidierung zu verwenden,
Ganzzahl, um die Anzahl der Folds anzugeben.
Eine iterierbare Liste, die (Trainings-, Test-) Splits als Indizes-Arrays liefert.
Für ganzzahlige/None-Eingaben wird
KFoldverwendet.Siehe Benutzerhandbuch für die verschiedenen Kreuzvalidierungsstrategien, die hier verwendet werden können.
Geändert in Version 0.22: Der Standardwert von
cv, wenn None, hat sich von 3-Fold auf 5-Fold geändert.- max_n_alphasint, Standardwert=1000
Die maximale Anzahl von Punkten auf dem Pfad, die zur Berechnung der Residuen in der Kreuzvalidierung verwendet werden.
- n_jobsint oder None, default=None
Anzahl der CPUs, die während der Kreuzvalidierung verwendet werden sollen.
Nonebedeutet 1, außer in einemjoblib.parallel_backend-Kontext.-1bedeutet die Verwendung aller Prozessoren. Siehe Glossar für weitere Details.- epsfloat, default=np.finfo(float).eps
Die maschinenpräzise Regularisierung bei der Berechnung der diagonalen Cholesky-Faktoren. Erhöhen Sie dies für sehr schlecht konditionierte Systeme. Im Gegensatz zum
tol-Parameter in einigen iterativen optimierungsbasierten Algorithmen steuert dieser Parameter nicht die Toleranz der Optimierung.- copy_Xbool, Standardwert=True
Wenn True, wird X kopiert; andernfalls kann es überschrieben werden.
- positivebool, Standardwert=False
Beschränke Koeffizienten auf >= 0. Beachten Sie, dass Sie möglicherweise fit_intercept entfernen möchten, das standardmäßig auf True gesetzt ist. Unter der positiven Beschränkung konvergieren die Modellkoeffizienten nicht zum Kleinste-Quadrate-Lösung für kleine Werte von alpha. Nur Koeffizienten bis zum kleinsten alpha-Wert (
alphas_[alphas_ > 0.].min(), wenn fit_path=True) die vom schrittweisen Lars-Lasso-Algorithmus erreicht werden, stimmen typischerweise mit der Lösung des Koordinatenabstieg-Lasso-Schätzers überein. Infolgedessen ist die Verwendung von LassoLarsCV nur für Probleme sinnvoll, bei denen eine spärliche Lösung erwartet und/oder erreicht wird.
- Attribute:
- coef_array-ähnlich der Form (n_features,)
Parametervektor (w in der Formel)
- intercept_float
unabhängiger Term in der Entscheidungsfunktion.
- coef_path_array-like der Form (n_features, n_alphas)
die variierenden Werte der Koeffizienten entlang des Pfades
- alpha_float
der geschätzte Regularisierungsparameter alpha
- alphas_array-like der Form (n_alphas,)
die verschiedenen Werte von alpha entlang des Pfades
- cv_alphas_array-like der Form (n_cv_alphas,)
alle Werte von alpha entlang des Pfades für die verschiedenen Folds
- mse_path_array-like der Form (n_folds, n_cv_alphas)
der mittlere quadratische Fehler für die zurückgelassenen Daten für jeden Fold entlang des Pfades (alpha-Werte gegeben durch
cv_alphas)- n_iter_array-ähnlich oder int
die Anzahl der Iterationen, die von Lars mit dem optimalen Alpha ausgeführt wurden.
- active_list von int
Indizes der aktiven Variablen am Ende des Pfades.
- n_features_in_int
Anzahl der während des fits gesehenen Merkmale.
Hinzugefügt in Version 0.24.
- feature_names_in_ndarray mit Form (
n_features_in_,) Namen der während fit gesehenen Merkmale. Nur definiert, wenn
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
Siehe auch
lars_pathBerechnet den Least Angle Regression- oder Lasso-Pfad unter Verwendung des LARS-Algorithmus.
lasso_pathBerechnet den Lasso-Pfad mit Koordinatenabstieg.
LassoLineares Modell, trainiert mit L1-Prior als Regularisator (auch bekannt als Lasso).
LassoCVLasso-Linearmodell mit iterativem Anpassen entlang eines Regularisierungspfades.
LassoLarsLasso-Modell, angepasst mit Least Angle Regression, auch bekannt als Lars.
LassoLarsICLasso-Modell, angepasst mit Lars, unter Verwendung von BIC oder AIC zur Modellauswahl.
sklearn.decomposition.sparse_encodeSparse Coding.
Anmerkungen
Das Objekt löst dasselbe Problem wie das Objekt
LassoCV. Im Gegensatz zuLassoCVfindet es jedoch die relevanten Alpha-Werte selbst. Im Allgemeinen wird es aufgrund dieser Eigenschaft stabiler sein. Es ist jedoch anfälliger für stark multikolineare Datensätze.Es ist effizienter als
LassoCV, wenn nur eine kleine Anzahl von Merkmalen im Vergleich zur Gesamtzahl ausgewählt wird, zum Beispiel wenn es nur sehr wenige Stichproben im Vergleich zur Anzahl der Merkmale gibt.In
fitwird das Modell, sobald der beste Parameteralphadurch Kreuzvalidierung gefunden wurde, erneut mit dem gesamten Trainingsdatensatz trainiert.Beispiele
>>> from sklearn.linear_model import LassoLarsCV >>> from sklearn.datasets import make_regression >>> X, y = make_regression(noise=4.0, random_state=0) >>> reg = LassoLarsCV(cv=5).fit(X, y) >>> reg.score(X, y) 0.9993 >>> reg.alpha_ np.float64(0.3972) >>> reg.predict(X[:1,]) array([-78.4831])
- fit(X, y, **params)[Quelle]#
Trainiert das Modell mit X, y als Trainingsdaten.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsdaten.
- yarray-like von Form (n_samples,)
Zielwerte.
- **paramsdict, default=None
Parameter, die an den CV-Splitter übergeben werden sollen.
Hinzugefügt in Version 1.4: Nur verfügbar, wenn
enable_metadata_routing=True, was durch Verwendung vonsklearn.set_config(enable_metadata_routing=True)eingestellt werden kann. Weitere Details finden Sie im Benutzerhandbuch für Metadaten-Routing.
- Gibt zurück:
- selfobject
Gibt eine Instanz von self zurück.
- get_metadata_routing()[Quelle]#
Holt das Metadaten-Routing dieses Objekts.
Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.
Hinzugefügt in Version 1.4.
- Gibt zurück:
- routingMetadataRouter
Ein
MetadataRouter, der die Routing-Informationen kapselt.
- get_params(deep=True)[Quelle]#
Holt Parameter für diesen Schätzer.
- Parameter:
- deepbool, default=True
Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.
- Gibt zurück:
- paramsdict
Parameternamen, zugeordnet ihren Werten.
- predict(X)[Quelle]#
Vorhersage mit dem linearen Modell.
- Parameter:
- Xarray-like oder sparse matrix, Form (n_samples, n_features)
Stichproben.
- Gibt zurück:
- Carray, Form (n_samples,)
Gibt vorhergesagte Werte zurück.
- score(X, y, sample_weight=None)[Quelle]#
Gibt den Bestimmtheitskoeffizienten auf Testdaten zurück.
Der Bestimmtheitskoeffizient \(R^2\) ist definiert als \((1 - \frac{u}{v})\), wobei \(u\) die Summe der quadrierten Residuen ist
((y_true - y_pred)** 2).sum()und \(v\) die Gesamtsumme der Quadrate ist((y_true - y_true.mean()) ** 2).sum(). Der bestmögliche Score ist 1.0 und er kann negativ sein (da das Modell beliebig schlechter sein kann). Ein konstantes Modell, das immer den Erwartungswert vonyvorhersagt, ohne die Eingabemerkmale zu berücksichtigen, würde einen \(R^2\)-Score von 0.0 erzielen.- Parameter:
- Xarray-like der Form (n_samples, n_features)
Teststichproben. Für einige Schätzer kann dies eine vorab berechnete Kernelmatrix oder eine Liste von generischen Objekten sein, stattdessen mit der Form
(n_samples, n_samples_fitted), wobein_samples_fitteddie Anzahl der für die Anpassung des Schätzers verwendeten Stichproben ist.- yarray-like der Form (n_samples,) oder (n_samples, n_outputs)
Wahre Werte für
X.- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- Gibt zurück:
- scorefloat
\(R^2\) von
self.predict(X)bezogen aufy.
Anmerkungen
Der \(R^2\)-Score, der beim Aufruf von
scorefür einen Regressor verwendet wird, nutzt ab Version 0.23multioutput='uniform_average', um konsistent mit dem Standardwert vonr2_scorezu bleiben. Dies beeinflusst diescore-Methode aller Multi-Output-Regressoren (mit Ausnahme vonMultiOutputRegressor).
- set_fit_request(*, Xy: bool | None | str = '$UNCHANGED$') LassoLarsCV[Quelle]#
Konfiguriert, ob Metadaten für die
fit-Methode angefordert werden sollen.Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit
enable_metadata_routing=Trueaktiviert ist (siehesklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.Die Optionen für jeden Parameter sind
True: Metadaten werden angefordert und, falls vorhanden, anfitübergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anfit.None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.
Der Standardwert (
sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.Hinzugefügt in Version 1.3.
- Parameter:
- Xystr, True, False, oder None, default=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
Xyinfit.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.
- set_params(**params)[Quelle]#
Setzt die Parameter dieses Schätzers.
Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie
Pipeline). Letztere haben Parameter der Form<component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.- Parameter:
- **paramsdict
Schätzer-Parameter.
- Gibt zurück:
- selfestimator instance
Schätzer-Instanz.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') LassoLarsCV[Quelle]#
Konfiguriert, ob Metadaten für die
score-Methode angefordert werden sollen.Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit
enable_metadata_routing=Trueaktiviert ist (siehesklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.Die Optionen für jeden Parameter sind
True: Metadaten werden angefordert und, falls vorhanden, anscoreübergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anscore.None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.
Der Standardwert (
sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.Hinzugefügt in Version 1.3.
- Parameter:
- sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
sample_weightinscore.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.