图形拉索CV#
- class sklearn.covariance.GraphicalLassoCV(*, alphas=4, n_refinements=4, cv=None, tol=0.0001, enet_tol=0.0001, max_iter=100, mode='cd', n_jobs=None, verbose=False, eps=np.float64(2.220446049250313e-16), assume_centered=False)[源代码]#
稀疏逆协方差w/l1罚分的交叉验证选择。
请参阅术语表条目 cross-validation estimator .
阅读更多的 User Guide .
在 v0.20 版本发生变更: GraphLassoCV已重命名为GraphicalLassoCV
- 参数:
- alphasint或类似数组的形状(n_alphas,),dype =float,默认=4
如果给定一个整数,它会固定阿尔法网格上要使用的点的数量。如果给出了列表,它就会给出要使用的网格。有关更多详细信息,请参阅类文档字符串中的注释。范围 [1, inf) for an integer. Range is (0, inf] 对于类似阵列的漂浮物。
- n_refinementsint,默认=4
网格细化的次数。如果传递了显式的alpha值,则不使用。范围是[1,inf)。
- cvint,交叉验证生成器或可迭代,默认=无
确定交叉验证拆分策略。简历的可能输入包括:
无,若要使用默认的5重交叉验证,
integer,用于指定折叠次数。
可迭代产出(训练、测试)分裂为索引数组。
对于integer/Non-输入
KFold
采用了指 User Guide 这里可以使用的各种交叉验证策略。
在 0.20 版本发生变更:
cv
如果无从3倍更改为5倍,则默认值。- tolfloat,默认= 1 e-4
声明收敛的容差:如果对偶间隙低于此值,则停止迭代。范围为(0,inf]。
- enet_tolfloat,默认= 1 e-4
用于计算下降方向的弹性网解算器的容差。此参数控制给定列更新的搜索方向的准确性,而不是总体参数估计的准确性。仅用于模式=' CD '。范围为(0,inf]。
- max_iterint,默认=100
最大迭代次数。
- mode' CD ',',默认=' CD '
要使用的Lasso解算器:坐标下降或LARS。将LARS用于非常稀疏的基础图形,其中特征数量大于样本数量。其他地方更喜欢数字上更稳定的CD。
- n_jobsint,默认=无
要并行运行的作业数。
None
意思是1,除非在a中joblib.parallel_backend
上下文-1
意味着使用所有处理器。看到 Glossary 了解更多详细信息。在 v0.20 版本发生变更:
n_jobs
默认值从1更改为无- verbose布尔,默认=假
如果verbose为True,则在每次迭代时打印目标函数和对偶间隙。
- epsfloat,默认=eps
Cholesky对角线因子计算中的机器精度正规化。对于条件非常恶劣的系统,请增加这一比例。默认值为
np.finfo(np.float64).eps
.Added in version 1.3.
- assume_centered布尔,默认=假
如果为True,则数据在计算前不居中。在处理均值几乎为零但不完全为零的数据时很有用。如果为假,则在计算之前将数据集中。
- 属性:
- location_形状的nd数组(n_features,)
估计位置,即估计平均值。
- covariance_形状的nd数组(n_features,n_features)
估计的协方差矩阵。
- precision_形状的nd数组(n_features,n_features)
估计精度矩阵(逆协方差)。
- costs_(objective,dual_gap)对列表
每次迭代时目标函数和双重差距的值列表。仅在Return_costs为True时返回。
Added in version 1.3.
- alpha_浮子
已选择处罚参数。
- cv_results_恩德雷法令
带有钥匙的法令:
- 阿尔法形状的nd数组(n_alphas,)
探索了所有处罚参数。
- split(k)_Test_score形状的nd数组(n_alphas,)
第(k)次遗漏数据的日志似然评分。
Added in version 1.0.
- mean_test_score形状的nd数组(n_alphas,)
折痕上得分的平均值。
Added in version 1.0.
- std_test_score形状的nd数组(n_alphas,)
折痕分数的标准差。
Added in version 1.0.
- n_iter_int
为最佳Alpha运行的迭代次数。
- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( Names of features seen during fit. Defined only when
X
has feature names that are all strings.Added in version 1.0.
参见
graphical_lasso
L1-惩罚协方差估计量。
GraphicalLasso
Sparse inverse covariance estimation with an l1-penalized estimator.
注意到
寻找最佳惩罚参数 (
alpha
)是在迭代细化的网格上完成的:首先计算网格上的交叉验证分数,然后以最大值为中心新的细化网格,等等。这里面临的挑战之一是求解器可能无法收敛到条件良好的估计。的对应值
alpha
然后出现缺失值,但最佳值可能接近这些缺失值。在
fit
,曾经是最好的参数alpha
通过交叉验证找到,使用整个训练集再次拟合模型。示例
>>> import numpy as np >>> from sklearn.covariance import GraphicalLassoCV >>> true_cov = np.array([[0.8, 0.0, 0.2, 0.0], ... [0.0, 0.4, 0.0, 0.0], ... [0.2, 0.0, 0.3, 0.1], ... [0.0, 0.0, 0.1, 0.7]]) >>> np.random.seed(0) >>> X = np.random.multivariate_normal(mean=[0, 0, 0, 0], ... cov=true_cov, ... size=200) >>> cov = GraphicalLassoCV().fit(X) >>> np.around(cov.covariance_, decimals=3) array([[0.816, 0.051, 0.22 , 0.017], [0.051, 0.364, 0.018, 0.036], [0.22 , 0.018, 0.322, 0.094], [0.017, 0.036, 0.094, 0.69 ]]) >>> np.around(cov.location_, decimals=3) array([0.073, 0.04 , 0.038, 0.143])
- error_norm(comp_cov, norm='frobenius', scaling=True, squared=True)[源代码]#
计算两个协方差估计量之间的均方误差。
- 参数:
- comp_cov形状类似阵列(n_features,n_features)
要比较的协方差。
- norm{“frobenius”,“spectral”},default=“frobenius”
用于计算误差的范数类型。可用的错误类型:- 'frobenius'(默认):sqrt(tr(A^t.A))- 'spectral':sqrt(max(eigenvalues(A^t.A))其中A是错误
(comp_cov - self.covariance_)
.- scaling布尔,默认=True
如果为True(默认),则将误差平方规范除以n_features。如果为假,则不会重新调整误差平方规范。
- squared布尔,默认=True
是计算平方误差规范还是误差规范。如果为True(默认),则返回平方误差规范。如果为假,则返回错误规范。
- 返回:
- result浮子
之间的均方误差(在Frobenius范数的意义上)
self
和comp_cov
协方差估计量
- fit(X, y=None, **params)[源代码]#
将GraphicalLasso协方差模型与X匹配。
- 参数:
- X形状类似阵列(n_samples,n_features)
计算协方差估计值的数据。
- y忽视
未使用,按照惯例,为了API一致性而存在。
- **paramsdict,默认=无
要传递给CV拆分器和cross_val_score函数的参数。
Added in version 1.5: 仅在以下情况下可用
enable_metadata_routing=True
,可以使用sklearn.set_config(enable_metadata_routing=True)
.看到 Metadata Routing User Guide 了解更多详细信息。
- 返回:
- self对象
返回实例本身。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
Added in version 1.5.
- 返回:
- routingMetadataRouter
A
MetadataRouter
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- mahalanobis(X)[源代码]#
计算给定观测值的平方马哈拉诺比斯距离。
- 参数:
- X形状类似阵列(n_samples,n_features)
我们计算的观测结果,即Mahalanobis距离。假设观察值是从与用于匹配的数据相同的分布中得出的。
- 返回:
- dist形状的nd数组(n_samples,)
观测结果的马哈拉诺比斯距离平方。
- score(X_test, y=None)[源代码]#
计算的log似然
X_test
根据高斯模型估计。高斯模型由其均值和协方差矩阵定义,分别表示为:
self.location_
和self.covariance_
.- 参数:
- X_test形状类似阵列(n_samples,n_features)
我们计算其可能性的测试数据,其中
n_samples
是样本数量和n_features
是功能的数量。X_test
假设是从与适合(包括定中心)中使用的数据相同的分布中得出的。- y忽视
未使用,按照惯例,为了API一致性而存在。
- 返回:
- res浮子
的对数似然
X_test
与self.location_
和self.covariance_
分别作为高斯模型均值和协方差矩阵的估计量。