lars_path_gram#

sklearn.linear_model.lars_path_gram(Xy, Gram, *, n_samples, max_iter=500, alpha_min=0, method='lar', copy_X=True, eps=np.float64(2.220446049250313e-16), copy_Gram=True, verbose=0, return_path=True, return_n_iter=False, positive=False)[Quelle]#

Der lars_path im Modus der ausreichenden Statistiken.

Die Optimierungsfunktion für den Fall method=’lasso’ ist

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

Im Fall von method=’lar’ ist die Zielfunktion nur in Form einer impliziten Gleichung bekannt (siehe Diskussion in [1]).

Mehr dazu im Benutzerhandbuch.

Parameter:
Xyndarray der Form (n_features,)

Xy = X.T @ y.

Gramndarray der Form (n_features, n_features)

Gram = X.T @ X.

n_samplesint

Entsprechende Stichprobengröße.

max_iterint, Standard=500

Maximale Anzahl der durchzuführenden Iterationen, unendlich für keine Begrenzung.

alpha_minfloat, default=0

Minimale Korrelation entlang des Pfades. Sie entspricht dem Regularisierungsparameter alpha im Lasso.

method{‘lar’, ‘lasso’}, default=’lar’

Gibt das zurückgegebene Modell an. Wählen Sie 'lar' für Least Angle Regression, 'lasso' für Lasso.

copy_Xbool, Standardwert=True

Wenn False, wird X überschrieben.

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_Grambool, Standard=True

Wenn False, wird Gram überschrieben.

verboseint, default=0

Steuert die Ausführlichkeit der Ausgabe.

return_pathbool, default=True

Wenn return_path==True, wird der gesamte Pfad zurückgegeben, andernfalls wird nur der letzte Punkt des Pfades zurückgegeben.

return_n_iterbool, Standard=False

Ob die Anzahl der Iterationen zurückgegeben werden soll.

positivebool, Standardwert=False

Beschränkt Koeffizienten auf >= 0. Diese Option ist nur mit method=’lasso’ zulässig. Beachten Sie, dass die Modellkoeffizienten für kleine alpha-Werte nicht mit der Lösung der gewöhnlichen kleinsten Quadrate konvergieren. 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 der Lasso-Pfad-Funktion mit Koordinatenabstieg überein.

Gibt zurück:
alphasndarray der Form (n_alphas + 1,)

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.

activendarray der Form (n_alphas,)

Indizes der aktiven Variablen am Ende des Pfades.

coefsndarray der Form (n_features, n_alphas + 1)

Koeffizienten entlang des Pfades.

n_iterint

Anzahl der durchgeführten Iterationen. Wird nur zurückgegeben, wenn return_n_iter auf True gesetzt ist.

Siehe auch

lars_path_gram

Berechnet den LARS-Pfad.

lasso_path

Berechnet den Lasso-Pfad mit Koordinatenabstieg.

LassoLars

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

Lars

Least Angle Regression Modell, auch bekannt als LAR.

LassoLarsCV

Kreuzvalidiertes Lasso unter Verwendung des LARS-Algorithmus.

LarsCV

Kreuzvalidiertes Least Angle Regression Modell.

sklearn.decomposition.sparse_encode

Sparse Coding.

Referenzen

Beispiele

>>> from sklearn.linear_model import lars_path_gram
>>> from sklearn.datasets import make_regression
>>> X, y, true_coef = make_regression(
...    n_samples=100, n_features=5, n_informative=2, coef=True, random_state=0
... )
>>> true_coef
array([ 0.        ,  0.        ,  0.        , 97.9, 45.7])
>>> alphas, _, estimated_coef = lars_path_gram(X.T @ y, X.T @ X, n_samples=100)
>>> alphas.shape
(3,)
>>> estimated_coef
array([[ 0.     ,  0.     ,  0.     ],
       [ 0.     ,  0.     ,  0.     ],
       [ 0.     ,  0.     ,  0.     ],
       [ 0.     , 46.96, 97.99],
       [ 0.     ,  0.     , 45.70]])