graphical_lasso#
- sklearn.covariance.graphical_lasso(emp_cov, alpha, *, mode='cd', tol=0.0001, enet_tol=0.0001, max_iter=100, verbose=False, return_costs=False, eps=np.float64(2.220446049250313e-16), return_n_iter=False)[Quelle]#
L1-penalisierter Kovarianz-Schätzer.
Lesen Sie mehr im Benutzerhandbuch.
Geändert in Version v0.20: graph_lasso wurde in graphical_lasso umbenannt
- Parameter:
- emp_covarray-like von Form (n_features, n_features)
Empirische Kovarianz, aus der die Kovarianzschätzung berechnet werden soll.
- alphafloat
Der Regularisierungsparameter: Je höher alpha, desto mehr Regularisierung, desto spärlicher die inverse Kovarianz. Bereich ist (0, inf].
- mode{‘cd’, ‘lars’}, Standardwert=’cd’
Der zu verwendende Lasso-Solver: Coordinate Descent oder LARS. Verwenden Sie LARS für sehr spärliche zugrunde liegende Graphen, wo p > n. Ansonsten ist cd vorzuziehen, da es numerisch stabiler ist.
- tolfloat, Standard=1e-4
Die Toleranz, um die Konvergenz zu deklarieren: Wenn die duale Lücke unter diesen Wert fällt, werden die Iterationen gestoppt. Bereich ist (0, inf].
- enet_tolfloat, Standardwert=1e-4
Die Toleranz für den Elastic-Net-Solver, der zur Berechnung der Abstiegsrichtung verwendet wird. Dieser Parameter steuert die Genauigkeit der Suchrichtung für eine gegebene Spaltenaktualisierung, nicht der gesamten Parameterschätzung. Wird nur für mode=’cd‘ verwendet. Bereich ist (0, inf].
- max_iterint, default=100
Die maximale Anzahl von Iterationen.
- verbosebool, default=False
Wenn verbose True ist, werden die Zielfunktion und der duale Abstand in jeder Iteration ausgegeben.
- return_costsbool, Standardwert=False
Wenn return_costs True ist, werden die Zielfunktion und der duale Abstand in jeder Iteration zurückgegeben.
- epsfloat, Standardwert=eps
Die Regularisierung der Maschinengenauigkeit bei der Berechnung der Cholesky-Diagonalfaktoren. Erhöhen Sie dies für sehr schlecht konditionierte Systeme. Standard ist
np.finfo(np.float64).eps.- return_n_iterbool, Standard=False
Ob die Anzahl der Iterationen zurückgegeben werden soll oder nicht.
- Gibt zurück:
- covariancendarray von Form (n_features, n_features)
Die geschätzte Kovarianzmatrix.
- precisionndarray von Form (n_features, n_features)
Die geschätzte (spärliche) Präzisionsmatrix.
- costsListe von Paaren (Zielfunktion, dualer Abstand)
Die Liste der Werte der Zielfunktion und der dualen Lücke bei jeder Iteration. Wird nur zurückgegeben, wenn return_costs True ist.
- n_iterint
Anzahl der Iterationen. Wird nur zurückgegeben, wenn
return_n_iterauf True gesetzt ist.
Siehe auch
GraphicalLassoSchätzung der dünnen Kovarianz mit einem l1-penalisierten Schätzer.
GraphicalLassoCVSparse inverse Kovarianz mit kreuzvalidierter Wahl des l1-Penalties.
Anmerkungen
Der zur Lösung dieses Problems verwendete Algorithmus ist der GLasso-Algorithmus aus der Friedman 2008 Biostatistics Publikation. Es ist derselbe Algorithmus wie im R-Paket
glasso.Ein möglicher Unterschied zum R-Paket
glassobesteht darin, dass die Diagonalkoeffizienten nicht bestraft werden.Beispiele
>>> import numpy as np >>> from sklearn.datasets import make_sparse_spd_matrix >>> from sklearn.covariance import empirical_covariance, graphical_lasso >>> true_cov = make_sparse_spd_matrix(n_dim=3,random_state=42) >>> rng = np.random.RandomState(42) >>> X = rng.multivariate_normal(mean=np.zeros(3), cov=true_cov, size=3) >>> emp_cov = empirical_covariance(X, assume_centered=True) >>> emp_cov, _ = graphical_lasso(emp_cov, alpha=0.05) >>> emp_cov array([[ 1.687, 0.212, -0.209], [ 0.212, 0.221, -0.0817], [-0.209, -0.0817, 0.232]])