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