當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。