Toggle Menu
Prev Up Next

scikit-learn 1.3.2
Other versions

Please cite us if you use the software.

# `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)

  L1-penalized covariance estimator.

  Read more in the User Guide.

  Changed in version v0.20: graph_lasso has been renamed to graphical_lasso

  Parameters:
    emp_cov array-like of shape (n_features, n_features)

      Empirical covariance from which to compute the covariance estimate.

    alpha float

      The regularization parameter: the higher alpha, the more regularization, the sparser the inverse covariance. Range is (0, inf].

    cov_init array of shape (n_features, n_features), default=None

      The initial guess for the covariance. If None, then the empirical covariance is used.

      Deprecated since version 1.3: `cov_init` is deprecated in 1.3 and will be removed in 1.5. It currently has no effect.

    mode{‘cd’, ‘lars’}, default=’cd’

      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 float, default=1e-4

      The tolerance to declare convergence: if the dual gap goes below this value, iterations are stopped. Range is (0, inf].

    enet_tol float, default=1e-4

      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’. Range is (0, inf].

    max_iter int, default=100

      The maximum number of iterations.

    verbose bool, default=False

      If verbose is True, the objective function and dual gap are printed at each iteration.

    return_costs bool, default=False

      If return_costs is True, the objective function and dual gap at each iteration are returned.

    eps float, default=eps

      The machine-precision regularization in the computation of the Cholesky diagonal factors. Increase this for very ill-conditioned systems. Default is `np.finfo(np.float64).eps`.

    return_n_iter bool, default=False

      Whether or not to return the number of iterations.

  Returns:
    covariance ndarray of shape (n_features, n_features)

      The estimated covariance matrix.

    precision ndarray of 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`

    Sparse inverse covariance estimation with an l1-penalized estimator.

  `GraphicalLassoCV`

    Sparse inverse covariance with cross-validated choice of the l1 penalty.

  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.