LassoLarsIC#

class sklearn.linear_model.LassoLarsIC(criterion='aic', *, fit_intercept=True, verbose=False, precompute='auto', max_iter=500, eps=np.float64(2.220446049250313e-16), copy_X=True, positive=False, noise_variance=None)[source]#

Lasso-Modell, angepasst mit Lars, unter Verwendung von BIC oder AIC zur Modellauswahl.

Die Optimierungsziel für Lasso ist

(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1

AIC ist das Akaike Informationskriterium [2] und BIC ist das Bayes'sche Informationskriterium [3]. Solche Kriterien sind nützlich, um den Wert des Regularisierungsparameters zu wählen, indem ein Kompromiss zwischen der Anpassungsgüte und der Komplexität des Modells getroffen wird. Ein gutes Modell sollte die Daten gut erklären und gleichzeitig einfach sein.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
criterion{‘aic’, ‘bic’}, Standard='aic'

Der Typ des zu verwendenden Kriteriums.

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, Standard='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 der durchzuführenden Iterationen. Kann für Early Stopping verwendet werden.

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

Koeffizienten auf >= 0 beschränken. Beachten Sie, dass Sie möglicherweise fit_intercept entfernen möchten, das standardmäßig auf True gesetzt ist. Unter der positiven Einschränkung konvergieren die Modellkoeffizienten für kleine Werte von alpha nicht zur Lösung der gewöhnlichen kleinsten Quadrate. Nur Koeffizienten bis zum kleinsten alpha-Wert (alphas_[alphas_ > 0.].min(), wenn fit_path=True) des schrittweisen Lars-Lasso-Algorithmus stimmen typischerweise mit der Lösung des Koordinatenabstieg-Lasso-Schätzers überein. Infolgedessen ist die Verwendung von LassoLarsIC nur für Probleme sinnvoll, bei denen eine spärliche Lösung erwartet und/oder erreicht wird.

noise_variancefloat, Standard=None

Die geschätzte Rauschvarianz der Daten. Wenn None, wird ein unverzerrter Schätzwert durch ein OLS-Modell berechnet. Dies ist jedoch nur möglich, wenn n_samples > n_features + fit_intercept.

Hinzugefügt in Version 1.1.

Attribute:
coef_array-ähnlich der Form (n_features,)

Parametervektor (w in der Formel)

intercept_float

konstanter Term in der Entscheidungsfunktion.

alpha_float

der durch das Informationskriterium gewählte alpha-Parameter

alphas_array-ähnlich der Form (n_alphas + 1,) oder Liste solcher Arrays

Maximum der Kovarianzen (im Absolutwert) bei jeder Iteration. n_alphas ist entweder max_iter, n_features oder die Anzahl der Knoten im Pfad mit alpha >= alpha_min, je nachdem, welcher Wert kleiner ist. Wenn es sich um eine Liste handelt, hat sie die Länge n_targets.

n_iter_int

Anzahl der Iterationen, die von lars_path ausgeführt werden, um das Alpha-Gitter zu finden.

criterion_array-ähnlich der Form (n_alphas,)

Der Wert der Informationskriterien (‘aic’, ‘bic’) über alle Alphas. Das Alpha mit dem kleinsten Informationskriterium wird gewählt, wie in [1] angegeben.

noise_variance_float

Die geschätzte Rauschvarianz aus den Daten, die zur Berechnung des Kriteriums verwendet wurden.

Hinzugefügt in Version 1.1.

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 X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

lars_path

Berechnet den Least Angle Regression- oder Lasso-Pfad unter Verwendung des LARS-Algorithmus.

lasso_path

Berechnet den Lasso-Pfad mit Koordinatenabstieg.

Lasso

Lineares Modell, trainiert mit L1-Prior als Regularisator (auch bekannt als Lasso).

LassoCV

Lasso-Linearmodell mit iterativem Anpassen entlang eines Regularisierungspfades.

LassoLars

Lasso-Modell, angepasst mit Least Angle Regression, auch bekannt als Lars.

LassoLarsCV

Kreuzvalidiertes Lasso unter Verwendung des LARS-Algorithmus.

sklearn.decomposition.sparse_encode

Sparse Coding.

Anmerkungen

Der Freiheitsgrad wird wie in [1] berechnet.

Weitere Details zur mathematischen Formulierung der AIC- und BIC-Kriterien finden Sie im Benutzerhandbuch.

Referenzen

Beispiele

>>> from sklearn import linear_model
>>> reg = linear_model.LassoLarsIC(criterion='bic')
>>> X = [[-2, 2], [-1, 1], [0, 0], [1, 1], [2, 2]]
>>> y = [-2.2222, -1.1111, 0, -1.1111, -2.2222]
>>> reg.fit(X, y)
LassoLarsIC(criterion='bic')
>>> print(reg.coef_)
[ 0.  -1.11]

Ein detailliertes Beispiel für die Verwendung dieser Klasse finden Sie unter Lasso-Modellauswahl über Informationskriterien.

fit(X, y, copy_X=None)[source]#

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. Wird bei Bedarf in den Datentyp von X umgewandelt.

copy_Xbool, Standard=None

Wenn angegeben, überschreibt dieser Parameter die Wahl von copy_X, die bei der Instanzerstellung getroffen wurde. Wenn True, wird X kopiert; andernfalls kann es überschrieben werden.

Gibt zurück:
selfobject

Gibt eine Instanz von self zurück.

get_metadata_routing()[source]#

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)[source]#

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)[source]#

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)[source]#

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 ((y_true - y_pred)** 2).sum() und \(v\) die Summe der quadrierten Totalabweichungen ((y_true - y_true.mean()) ** 2).sum() ist. 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 von y vorhersagt, unabhängig von den Eingabemerkmalen, 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), wobei n_samples_fitted die 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 auf y.

Anmerkungen

Der \(R^2\)-Score, der beim Aufruf von score auf einem Regressor verwendet wird, verwendet ab Version 0.23 multioutput='uniform_average', um konsistent mit dem Standardwert von r2_score zu sein. Dies beeinflusst die score-Methode aller Multi-Output-Regressoren (mit Ausnahme von MultiOutputRegressor).

set_fit_request(*, copy_X: bool | None | str = '$UNCHANGED$') LassoLarsIC[source]#

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=True aktiviert ist (siehe sklearn.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, an fit übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an fit.

  • 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:
copy_Xstr, True, False oder None, Standard=sklearn.utils.metadata_routing.UNCHANGED

Metadaten-Routing für den Parameter copy_X in fit.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

set_params(**params)[source]#

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$') LassoLarsIC[source]#

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=True aktiviert ist (siehe sklearn.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, an score übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an score.

  • 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_weight in score.

Gibt zurück:
selfobject

Das aktualisierte Objekt.