LassoLars#
- class sklearn.linear_model.LassoLars(alpha=1.0, *, fit_intercept=True, verbose=False, precompute='auto', max_iter=500, eps=np.float64(2.220446049250313e-16), copy_X=True, fit_path=True, positive=False, jitter=None, random_state=None)[Quelle]#
Lasso-Modell, angepasst mit Least Angle Regression, auch bekannt als Lars.
Es ist ein lineares Modell, das mit einer L1-Prior als Regularisierer trainiert wird.
Die Optimierungsziel für Lasso ist
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
Mehr dazu im Benutzerhandbuch.
- Parameter:
- alphafloat, default=1.0
Konstante, die den Strafterm multipliziert. Standard ist 1.0.
alpha = 0entspricht einem gewöhnlichen kleinsten Quadrat, gelöst durchLinearRegression. Aus numerischen Gründen wird die Verwendung vonalpha = 0mit dem LassoLars-Objekt nicht empfohlen, und Sie sollten stattdessen das LinearRegression-Objekt bevorzugen.- 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.
- precomputebool, ‘auto’ oder array-ähnlich, Standardwert=’auto’
Ob eine vorberechnete Gram-Matrix verwendet werden soll, um Berechnungen zu beschleunigen. Wenn auf
'auto'gesetzt, entscheiden wir. Die Gram-Matrix kann auch als Argument übergeben werden.- max_iterint, Standard=500
Maximale Anzahl von Iterationen, die durchgeführt werden sollen.
- 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.
- fit_pathbool, Standardwert=True
Wenn
True, wird der gesamte Pfad im Attributcoef_path_gespeichert. Wenn Sie die Lösung für ein großes Problem oder viele Ziele berechnen, führt das Setzen vonfit_pathaufFalsezu einer Beschleunigung, insbesondere bei kleinenalpha.- positivebool, Standardwert=False
Beschränkt Koeffizienten auf >= 0. Beachten Sie, dass Sie möglicherweise
fit_interceptentfernen möchten, das standardmäßig auf True gesetzt ist. Unter der positiven Einschränkung konvergieren die Modellkoeffizienten für kleinealpha-Werte nicht zur Lösung der gewöhnlichen kleinsten Quadrate. Nur Koeffizienten bis zum kleinstenalpha-Wert (alphas_[alphas_ > 0.].min()beifit_path=True), die vom schrittweisen Lars-Lasso-Algorithmus erreicht werden, stimmen typischerweise mit der Lösung des koordinatenabgestiegenen Lasso-Schätzers überein.- jitterfloat, Standardwert=None
Obergrenze für einen gleichmäßigen Rauschparameter, der zu den
y-Werten hinzugefügt wird, um die Annahme des Modells von Ein-für-Einmal-Berechnungen zu erfüllen. Kann zur Stabilität beitragen.Hinzugefügt in Version 0.23.
- random_stateint, RandomState-Instanz oder None, default=None
Bestimmt die Zufallszahlengenerierung für das Jittering. Übergeben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg. Siehe Glossary. Wird ignoriert, wenn
jitterNone ist.Hinzugefügt in Version 0.23.
- Attribute:
- alphas_array-ähnlich der Form (n_alphas + 1,) oder Liste solcher Arrays
Maximum der Kovarianzen (in absolutem Wert) bei jeder Iteration.
n_alphasist entwedermax_iter,n_featuresoder die Anzahl der Knoten im Pfad mitalpha >= alpha_min, je nachdem, welcher Wert kleiner ist. Wenn dies eine Liste von Array-ähnlichen ist, ist die Länge der äußeren Listen_targets.- active_Liste der Länge n_alphas oder Liste solcher Listen
Indizes der aktiven Variablen am Ende des Pfades. Wenn dies eine Liste von Listen ist, ist die Länge der äußeren Liste
n_targets.- coef_path_array-ähnlich der Form (n_features, n_alphas + 1) oder Liste solcher Arrays
Wenn eine Liste übergeben wird, wird erwartet, dass es sich um ein Array von n_targets solchen Arrays handelt. Die variierenden Werte der Koeffizienten entlang des Pfades. Es ist nicht vorhanden, wenn der Parameter
fit_pathaufFalsegesetzt ist. Wenn dies eine Liste von Array-ähnlichen ist, ist die Länge der äußeren Listen_targets.- coef_array-ähnlich der Form (n_features,) oder (n_targets, n_features)
Parametervektor (w in der Formel).
- intercept_float oder array-ähnlich der Form (n_targets,)
Unabhängiger Term in der Entscheidungsfunktion.
- n_iter_array-ähnlich oder int
Die Anzahl der Iterationen, die von lars_path benötigt werden, um das Gitter von Alphas für jedes Ziel zu finden.
- 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.
LassoLarsCVKreuzvalidiertes Lasso unter Verwendung des LARS-Algorithmus.
LassoLarsICLasso-Modell, angepasst mit Lars, unter Verwendung von BIC oder AIC zur Modellauswahl.
sklearn.decomposition.sparse_encodeSparse Coding.
Beispiele
>>> from sklearn import linear_model >>> reg = linear_model.LassoLars(alpha=0.01) >>> reg.fit([[-1, 1], [0, 0], [1, 1]], [-1, 0, -1]) LassoLars(alpha=0.01) >>> print(reg.coef_) [ 0. -0.955]
- fit(X, y, Xy=None)[Quelle]#
Trainiert das Modell mit X, y als Trainingsdaten.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsdaten.
- yarray-like der Form (n_samples,) oder (n_samples, n_targets)
Zielwerte.
- Xyarray-ähnlich der Form (n_features,) oder (n_features, n_targets), Standardwert=None
Xy = np.dot(X.T, y), was vorab berechnet werden kann. Dies ist nur nützlich, wenn die Gram-Matrix vorab berechnet wurde.
- 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.
- Gibt zurück:
- routingMetadataRequest
Ein
MetadataRequest, der 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 beste mögliche Wert ist 1,0 und er kann negativ sein (da das Modell beliebig schlechter sein kann). Ein konstantes Modell, das immer den Erwartungswert vonyvorhersagt, unabhängig von den Eingabemerkmalen, würde einen \(R^2\)-Wert 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\)-Wert, der bei Aufruf von
scoreauf einem Regressor verwendet wird, nutztmultioutput='uniform_average'ab Version 0.23, um konsistent mit dem Standardwert vonr2_scorezu bleiben. Dies beeinflusst diescore-Methode aller Multi-Output-Regressoren (außerMultiOutputRegressor).
- set_fit_request(*, Xy: bool | None | str = '$UNCHANGED$') LassoLars[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$') LassoLars[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.