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


Python sklearn LedoitWolf用法及代碼示例


本文簡要介紹python語言中 sklearn.covariance.LedoitWolf 的用法。

用法:

class sklearn.covariance.LedoitWolf(*, store_precision=True, assume_centered=False, block_size=1000)

LedoitWolf 估計器。

Ledoit-Wolf 是一種特殊形式的收縮,其中收縮係數使用 O. Ledoit 和 M. Wolf 的公式計算,如“A Well-Conditioned Estimator for Large-Dimensional Covariance Matrices”中所述,Ledoit 和 Wolf,Journal of Multivariate Analysis ,第 88 卷,第 2 期,2004 年 2 月,第 365-411 頁。

在用戶指南中閱讀更多信息。

參數

store_precision布爾,默認=真

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

assume_centered布爾,默認=假

如果為 True,則在計算之前數據不會居中。在處理平均值幾乎為零但不完全為零的數據時很有用。如果為 False(默認),數據將在計算之前居中。

block_size整數,默認=1000

在其Ledoit-Wolf 估計期間協方差矩陣將被分割成的塊的大小。這純粹是內存優化,不影響結果。

屬性

covariance_ndarray 形狀(n_features,n_features)

估計的協方差矩陣。

location_ndarray 形狀 (n_features,)

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

precision_ndarray 形狀(n_features,n_features)

估計的偽逆矩陣。 (僅當store_precision 為真時存儲)

shrinkage_浮點數

用於計算收縮估計的凸組合中的係數。範圍是 [0, 1]。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

注意

正則化協方差為:

(1 - 收縮) * cov + 收縮 * mu * np.identity(n_features)

其中 mu = trace(cov) /n_features 和收縮由 Ledoit 和 Wolf 公式給出(參見引用)

參考

“Large-Dimensional 協方差矩陣的條件良好的估計器”,Ledoit 和 Wolf,《多元分析雜誌》,第 88 卷,第 2 期,2004 年 2 月,第 365-411 頁。

例子

>>> import numpy as np
>>> from sklearn.covariance import LedoitWolf
>>> real_cov = np.array([[.4, .2],
...                      [.2, .8]])
>>> np.random.seed(0)
>>> X = np.random.multivariate_normal(mean=[0, 0],
...                                   cov=real_cov,
...                                   size=50)
>>> cov = LedoitWolf().fit(X)
>>> cov.covariance_
array([[0.4406..., 0.1616...],
       [0.1616..., 0.8022...]])
>>> cov.location_
array([ 0.0595... , -0.0075...])

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.covariance.LedoitWolf。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。