經驗共變異數 (EmpiricalCovariance)#

class sklearn.covariance.EmpiricalCovariance(*, store_precision=True, assume_centered=False)[原始碼]#

最大似然共變異數估計器。

請在 使用者指南 中閱讀更多。

參數:
store_precisionbool, 預設=True

指定是否儲存估計的精確度。

assume_centeredbool,預設值為False

如果為 True,則在計算前不對資料進行中心化處理。當處理平均值接近但不完全為零的資料時很有用。如果為 False (預設值),則在計算前對資料進行中心化處理。

屬性:
location_形狀為 (n_features,) 的 ndarray

估計的位置,即估計的平均值。

covariance_形狀為 (n_features, n_features) 的 ndarray

估計的共變異數矩陣

precision_形狀為 (n_features, n_features) 的 ndarray

估計的偽反矩陣。(僅在 store_precision 為 True 時儲存)

n_features_in_int

fit 期間看到的特徵數量。

在 0.24 版本中新增。

feature_names_in_形狀為 (n_features_in_,) 的 ndarray

fit 期間看到的特徵名稱。僅當 X 具有全為字串的特徵名稱時才定義。

在 1.0 版本中新增。

另請參閱

EllipticEnvelope

一個用於偵測高斯分佈資料集中離群值的物件。

GraphicalLasso

使用 l1 懲罰估計器的稀疏反共變異數估計。

LedoitWolf

LedoitWolf 估計器。

MinCovDet

最小共變異數行列式 (共變異數的穩健估計器)。

OAS

Oracle 近似收縮估計器。

ShrunkCovariance

具有收縮的共變異數估計器。

範例

>>> import numpy as np
>>> from sklearn.covariance import EmpiricalCovariance
>>> 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 = EmpiricalCovariance().fit(X)
>>> cov.covariance_
array([[0.7569..., 0.2818...],
       [0.2818..., 0.3928...]])
>>> cov.location_
array([0.0622..., 0.0193...])
error_norm(comp_cov, norm='frobenius', scaling=True, squared=True)[來源]#

計算兩個共變異數估計器之間的均方誤差。

參數:
comp_cov形狀為 (n_features, n_features) 的類陣列物件

要比較的共變異數。

norm{“frobenius”, “spectral”},預設值為 “frobenius”

用於計算誤差的範數類型。可用的誤差類型:- ‘frobenius’ (預設值):sqrt(tr(A^t.A)) - ‘spectral’:sqrt(max(eigenvalues(A^t.A)),其中 A 是誤差 (comp_cov - self.covariance_)

scalingbool,預設值為 True

如果為 True (預設值),則平方誤差範數除以 n_features。如果為 False,則不重新調整平方誤差範數。

squaredbool,預設值為 True

是否計算平方誤差範數或誤差範數。如果為 True (預設值),則傳回平方誤差範數。如果為 False,則傳回誤差範數。

傳回值:
resultfloat

selfcomp_cov 共變異數估計器之間的均方誤差 (就 Frobenius 範數而言)。

fit(X, y=None)[來源]#

將最大概似共變異數估計器擬合到 X。

參數:
X形狀為 (n_samples, n_features) 的類陣列物件

訓練資料,其中 n_samples 是樣本數,而 n_features 是特徵數。

y忽略

未使用,為了 API 一致性而存在。

傳回值:
selfobject

傳回實例本身。

get_metadata_routing()[來源]#

取得此物件的中繼資料路由。

請查看 使用者指南,了解路由機制的運作方式。

傳回值:
routingMetadataRequest

封裝路由資訊的 MetadataRequest

get_params(deep=True)[來源]#

取得此估計器的參數。

參數:
deepbool,預設值為 True

如果為 True,則將傳回此估計器和其中所包含的子物件 (估計器) 的參數。

傳回值:
paramsdict

參數名稱對應到其值的字典。

get_precision()[來源]#

精確度矩陣的 Getter。

傳回值:
precision_形狀為 (n_features, n_features) 的類陣列物件

與目前共變異數物件關聯的精確度矩陣。

mahalanobis(X)[來源]#

計算給定觀測值的平方馬氏距離。

參數:
X形狀為 (n_samples, n_features) 的類陣列物件

我們計算其馬氏距離的觀測值。假設觀測值是從與 fit 中使用的資料相同的分佈中抽取的。

傳回值:
dist形狀為 (n_samples,) 的 ndarray

觀測值的平方馬氏距離。

score(X_test, y=None)[來源]#

計算在估計的高斯模型下,X_test 的對數概似。

高斯模型由其平均值和共變異數矩陣定義,分別由 self.location_self.covariance_ 表示。

參數:
X_test形狀為 (n_samples, n_features) 的類陣列物件

用於計算似然率的測試資料,其中 n_samples 為樣本數量,而 n_features 為特徵數量。假設 X_test 的分布與用於擬合的資料(包括中心化)相同。

y忽略

未使用,為了 API 一致性而存在。

傳回值:
resfloat

X_test 的對數似然率,使用 self.location_self.covariance_ 作為高斯模型均值和共變異數矩陣的估計值。

set_params(**params)[原始碼]#

設定此估計器的參數。

此方法適用於簡單的估計器以及巢狀物件(例如 Pipeline)。後者的參數形式為 <component>__<parameter>,因此可以更新巢狀物件的每個組件。

參數:
**paramsdict

估計器參數。

傳回值:
self估計器實例

估計器實例。