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懲罰協方差估計器。

用戶指南閱讀更多內容。

v0.20版中已更改: graph_lasso已重命名為graphical_lasso

參數 說明
emp_cov ndarray of shape (n_features, n_features)
利用經驗協方差計算協方差估計。
alpha float
正則化參數:alpha越高,正則化越強,逆協方差矩陣越稀疏。范圍是(0,inf]。
cov_init array of shape (n_features, n_features), default=None
協方差的初始估計。
mode {‘cd’, ‘lars’}, default=’cd’
設置lasso求解器:坐標下降(cd)或LARS。LARS用于特征數量大于樣本數量的非常稀疏的情況。在數值更穩定的情況首先cd。
tol float, default=1e-4
聲明收斂的容差:如果兩次迭代結果的差值小于此值,則停止迭代。范圍是(0,inf]。
enet_tol float, default=1e-4
用于計算下降方向的彈性網求解器的容差。該參數控制給定列更新搜索方向的準確性,而不是整體參數估計的準確性。僅用于mode ='cd'。范圍是(0,inf]。
max_iter int, default=100
最大迭代次數。
verbose bool, default=False
如果verbose為True,則每次迭代都會打印目標函數和對偶間隙。
return_costs bool, default=Flase
如果return_costs為True,則返回每次迭代的目標函數和對偶間隙。
eps float, default=eps
Cholesky對角因子計算中的機器精度正則化。對于病態系統(ill-conditioned systems),可以增加這個值。默認是np.finfo(np.float64).eps.。
return_n_iter bool, default=False
是否返回迭代次數。
返回值 說明
covariance ndarray of shape (n_features, n_features)
估計的協方差矩陣。
precision ndarray of shape (n_features, n_features)
估計的(稀疏)精度矩陣。
costs list of (objective, dual_gap) pairs
每次迭代時目標函數和對偶間隙的值列表。只有當return_costs為真時才返回。
n_iter int
迭代次數。僅當return_n_iter設置為True時返回。

另見

GraphicalLassoGraphicalLassoCV

用來解決這個問題的算法是來自Friedman 2008生物統計學論文的GLasso算法。它與R glasso包中的算法相同。

glassoR包相比,一個可能的區別是其對角線系數沒有懲罰。