当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn MinCovDet用法及代码示例


本文简要介绍python语言中 sklearn.covariance.MinCovDet 的用法。

用法:

class sklearn.covariance.MinCovDet(*, store_precision=True, assume_centered=False, support_fraction=None, random_state=None)

最小协方差行列式(MCD):协方差的稳健估计。

最小协方差行列式协方差估计器将应用于Gaussian-distributed 数据,但仍可能与从单峰对称分布中提取的数据相关。它不适用于multi-modal 数据(用于拟合MinCovDet 对象的算法在这种情况下可能会失败)。应该考虑使用投影追踪方法来处理multi-modal 数据集。

在用户指南中阅读更多信息。

参数

store_precision布尔,默认=真

指定是否存储估计的精度。

assume_centered布尔,默认=假

如果为 True,则计算稳健位置和协方差估计的支持,并从中重新计算协方差估计,而不使数据居中。对于处理均值显著为零但不完全为零的数据很有用。如果为 False,则使用 FastMCD 算法直接计算鲁棒位置和协方差,无需额外处理。

support_fraction浮点数,默认=无

要包含在原始 MCD 估计的支持中的点的比例。默认值为无,这意味着将在算法中使用 support_fraction 的最小值:(n_sample + n_features + 1) / 2。参数必须在 (0, 1) 范围内。

random_stateint、RandomState 实例或无,默认=无

确定用于打乱数据的伪随机数生成器。传递 int 以获得跨多个函数调用的可重现结果。请参阅词汇表。

属性

raw_location_ndarray 形状 (n_features,)

校正和重新加权之前的原始稳健估计位置。

raw_covariance_ndarray 形状(n_features,n_features)

校正和重新加权之前的原始稳健估计协方差。

raw_support_ndarray 形状 (n_samples,)

在校正和重新加权之前,已用于计算位置和形状的原始稳健估计的观测值掩码。

location_ndarray 形状 (n_features,)

估计坚固的位置。

covariance_ndarray 形状(n_features,n_features)

估计的稳健协方差矩阵。

precision_ndarray 形状(n_features,n_features)

估计的伪逆矩阵。 (仅当store_precision 为真时存储)

support_ndarray 形状 (n_samples,)

已用于计算位置和形状的稳健估计的观测值掩码。

dist_ndarray 形状 (n_samples,)

训练集(称为fit)观测值的马哈拉诺比斯距离。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

参考

卢瑟乌1984

P.J.卢梭。平方回归的最小中位数。 J. Am Stat Ass,79:871,1984。

卢梭

A Fast Algorithm for the minimum Covariance Determinant Estimator, 1999, American Statistical Association and the American Society for Quality, TECHNOMETRICS

ButlerDavies

R. W. Butler、P. L. Davies 和 M. Jhun,最小协方差行列式估计量的渐近,统计年鉴,1993 年,卷。 21、3号、1385-1400

例子

>>> import numpy as np
>>> from sklearn.covariance import MinCovDet
>>> from sklearn.datasets import make_gaussian_quantiles
>>> real_cov = np.array([[.8, .3],
...                      [.3, .4]])
>>> rng = np.random.RandomState(0)
>>> X = rng.multivariate_normal(mean=[0, 0],
...                                   cov=real_cov,
...                                   size=500)
>>> cov = MinCovDet(random_state=0).fit(X)
>>> cov.covariance_
array([[0.7411..., 0.2535...],
       [0.2535..., 0.3053...]])
>>> cov.location_
array([0.0813... , 0.0427...])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.covariance.MinCovDet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。