經驗共變異數 (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
self
和comp_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_
作為高斯模型均值和共變異數矩陣的估計值。