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時返回。 |
另見
注
用來解決這個問題的算法是來自Friedman 2008生物統計學論文的GLasso算法。它與R glasso
包中的算法相同。
與glasso
R包相比,一個可能的區別是其對角線系數沒有懲罰。