sklearn.covariance
.graphical_lasso¶
-
sklearn.covariance.
graphical_lasso
(emp_cov, alpha, cov_init=None, mode='cd', tol=0.0001, enet_tol=0.0001, max_iter=100, verbose=False, return_costs=False, eps=2.220446049250313e-16, return_n_iter=False)[source]¶ l1-penalized covariance estimator
Read more in the User Guide.
- Parameters
- emp_cov2D ndarray, shape (n_features, n_features)
Empirical covariance from which to compute the covariance estimate.
- alphapositive float
The regularization parameter: the higher alpha, the more regularization, the sparser the inverse covariance.
- cov_init2D array (n_features, n_features), optional
The initial guess for the covariance.
- mode{‘cd’, ‘lars’}
The Lasso solver to use: coordinate descent or LARS. Use LARS for very sparse underlying graphs, where p > n. Elsewhere prefer cd which is more numerically stable.
- tolpositive float, optional
The tolerance to declare convergence: if the dual gap goes below this value, iterations are stopped.
- enet_tolpositive float, optional
The tolerance for the elastic net solver used to calculate the descent direction. This parameter controls the accuracy of the search direction for a given column update, not of the overall parameter estimate. Only used for mode=’cd’.
- max_iterinteger, optional
The maximum number of iterations.
- verboseboolean, optional
If verbose is True, the objective function and dual gap are printed at each iteration.
- return_costsboolean, optional
If return_costs is True, the objective function and dual gap at each iteration are returned.
- epsfloat, optional
The machine-precision regularization in the computation of the Cholesky diagonal factors. Increase this for very ill-conditioned systems.
- return_n_iterbool, optional
Whether or not to return the number of iterations.
- Returns
- covariance2D ndarray, shape (n_features, n_features)
The estimated covariance matrix.
- precision2D ndarray, shape (n_features, n_features)
The estimated (sparse) precision matrix.
- costslist of (objective, dual_gap) pairs
The list of values of the objective function and the dual gap at each iteration. Returned only if return_costs is True.
- n_iterint
Number of iterations. Returned only if
return_n_iter
is set to True.
See also
Notes
The algorithm employed to solve this problem is the GLasso algorithm, from the Friedman 2008 Biostatistics paper. It is the same algorithm as in the R
glasso
package.One possible difference with the
glasso
R package is that the diagonal coefficients are not penalized.