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包相比,一个可能的区别是其对角线系数没有惩罚。