l1-penalized covariance estimator
Read more in the :ref:`User Guide <sparse_inverse_covariance>`.
Parameters ---------- emp_cov : 2D ndarray, shape (n_features, n_features) Empirical covariance from which to compute the covariance estimate.
alpha : positive float The regularization parameter: the higher alpha, the more regularization, the sparser the inverse covariance.
cov_init : 2D 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.
tol : positive float, optional The tolerance to declare convergence: if the dual gap goes below this value, iterations are stopped.
enet_tol : positive 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_iter : integer, optional The maximum number of iterations.
verbose : boolean, optional If verbose is True, the objective function and dual gap are printed at each iteration.
return_costs : boolean, optional If return_costs is True, the objective function and dual gap at each iteration are returned.
eps : float, optional The machine-precision regularization in the computation of the Cholesky diagonal factors. Increase this for very ill-conditioned systems.
return_n_iter : bool, optional Whether or not to return the number of iterations.
Returns ------- covariance : 2D ndarray, shape (n_features, n_features) The estimated covariance matrix.
precision : 2D ndarray, shape (n_features, n_features) The estimated (sparse) precision matrix.
costs : list 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_iter : int Number of iterations. Returned only if `return_n_iter` is set to True.
See Also -------- GraphicalLasso, GraphicalLassoCV
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.