圖形套索#

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)[原始碼]#

L1 懲罰共變異數估計器。

使用者指南中閱讀更多資訊。

在 v0.20 版本中變更:graph_lasso 已重新命名為 graphical_lasso

參數:
emp_cov形狀為 (n_features, n_features) 的類陣列

用於計算共變異數估計的經驗共變異數。

alphafloat

正規化參數:alpha 越高,正規化程度越高,逆共變異數越稀疏。範圍是 (0, inf]。

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

要使用的 Lasso 求解器:座標下降或 LARS。對於非常稀疏的底層圖,其中 p > n,請使用 LARS。在其他地方,請優先選擇 cd,它在數值上更穩定。

tolfloat, default=1e-4

宣告收斂的容忍度:如果對偶間隙低於此值,則會停止迭代。範圍是 (0, inf]。

enet_tolfloat, default=1e-4

用於計算下降方向的彈性網求解器的容忍度。此參數控制給定列更新的搜尋方向的準確性,而不是整體參數估計的準確性。僅用於 mode=’cd’。範圍是 (0, inf]。

max_iterint, default=100

最大迭代次數。

verbosebool, default=False

如果 verbose 為 True,則會在每次迭代時列印目標函數和對偶間隙。

return_costsbool, default=False

如果 return_costs 為 True,則會傳回每次迭代時的目標函數和對偶間隙。

epsfloat, default=eps

在計算 Cholesky 對角線因子時的機器精度正規化。對於病態系統,請增加此值。預設值為 np.finfo(np.float64).eps

return_n_iterbool, default=False

是否傳回迭代次數。

傳回:
covariance形狀為 (n_features, n_features) 的 ndarray

估計的共變異數矩陣。

precision形狀為 (n_features, n_features) 的 ndarray

估計的(稀疏)精度矩陣。

costs(目標值, 對偶間隙) 配對的列表

每次迭代的目標函數值和對偶間隙值列表。僅在 return_costs 為 True 時傳回。

n_iterint

迭代次數。僅在 return_n_iter 設定為 True 時傳回。

另請參閱

GraphicalLasso

使用 l1 懲罰估計器進行稀疏逆共變異數估計。

GraphicalLassoCV

使用 l1 懲罰的交叉驗證選擇進行稀疏逆共變異數。

註釋

用於解決此問題的演算法是 Friedman 2008 年生物統計學論文中的 GLasso 演算法。它與 R glasso 套件中的演算法相同。

glasso R 套件的一個可能區別是,對角線係數不會被懲罰。

範例

>>> 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.68...,  0.21..., -0.20...],
       [ 0.21...,  0.22..., -0.08...],
       [-0.20..., -0.08...,  0.23...]])