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


Python sklearn EllipticEnvelope用法及代码示例


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

用法:

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

用于检测高斯分布式数据集中异常值的对象。

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

参数

store_precision布尔,默认=真

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

assume_centered布尔,默认=假

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

support_fraction浮点数,默认=无

要包含在原始 MCD 估计的支持中的点的比例。如果没有,support_fraction 的最小值将在算法中使用:[n_sample + n_features + 1] / 2。范围是 (0, 1)。

contamination浮点数,默认=0.1

数据集的污染量,即数据集中异常值的比例。范围是 (0, 0.5]。

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

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

属性

location_ndarray 形状 (n_features,)

估计坚固的位置。

covariance_ndarray 形状(n_features,n_features)

估计的稳健协方差矩阵。

precision_ndarray 形状(n_features,n_features)

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

support_ndarray 形状 (n_samples,)

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

offset_浮点数

用于从原始分数定义决策函数的偏移量。我们有关系:decision_function = score_samples - offset_。偏移量取决于污染参数,并以这样一种方式定义,即我们在训练中获得预期的异常值(决策函数 < 0 的样本)数量。

raw_location_ndarray 形状 (n_features,)

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

raw_covariance_ndarray 形状(n_features,n_features)

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

raw_support_ndarray 形状 (n_samples,)

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

dist_ndarray 形状 (n_samples,)

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

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

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

注意

来自协方差估计的异常值检测可能会在高维设置中中断或表现不佳。特别是,人们将始终注意使用 n_samples > n_features ** 2

参考

1

Rousseeuw, P.J., Van Driessen, K. “最小协方差行列式估计的快速算法” Technometrics 41(3), 212 (1999)

例子

>>> import numpy as np
>>> from sklearn.covariance import EllipticEnvelope
>>> true_cov = np.array([[.8, .3],
...                      [.3, .4]])
>>> X = np.random.RandomState(0).multivariate_normal(mean=[0, 0],
...                                                  cov=true_cov,
...                                                  size=500)
>>> cov = EllipticEnvelope(random_state=0).fit(X)
>>> # predict returns 1 for an inlier and -1 for an outlier
>>> cov.predict([[0, 0],
...              [3, 3]])
array([ 1, -1])
>>> cov.covariance_
array([[0.7411..., 0.2535...],
       [0.2535..., 0.3053...]])
>>> cov.location_
array([0.0813... , 0.0427...])

相关用法


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