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


Python sklearn GraphicalLassoCV用法及代碼示例


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

用法:

class sklearn.covariance.GraphicalLassoCV(*, alphas=4, n_refinements=4, cv=None, tol=0.0001, enet_tol=0.0001, max_iter=100, mode='cd', n_jobs=None, verbose=False, assume_centered=False)

稀疏逆協方差 w/cross-validated 選擇 l1 懲罰。

請參閱交叉驗證估計器的詞匯表條目。

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

參數

alphasint 或形狀類似數組 (n_alphas,),dtype=float,默認=4

如果給定一個整數,它會固定要使用的 alpha 網格上的點數。如果給出一個列表,它會給出要使用的網格。有關更多詳細信息,請參閱類文檔字符串中的注釋。給定浮點數時,範圍為 (0, inf]。

n_refinements整數,默認=4

網格細化的次數。如果傳遞了明確的 alpha 值,則不使用。範圍是 [1, inf)。

cvint,交叉驗證生成器或可迭代,默認=無

確定交叉驗證拆分策略。 cv 的可能輸入是:

  • 無,使用默認的 5 折交叉驗證,
  • 整數,指定折疊次數。
  • CV分配器,
  • 一個可迭代的 yield (train, test) 拆分為索引數組。

對於整數/無輸入,使用KFold

有關可在此處使用的各種交叉驗證策略,請參閱用戶指南。

tol浮點數,默認=1e-4

聲明收斂的容差:如果對偶間隙低於此值,則停止迭代。範圍是(0,inf]。

enet_tol浮點數,默認=1e-4

用於計算下降方向的彈性網絡求解器的容差。此參數控製給定列更新的搜索方向的準確性,而不是總體參數估計的準確性。僅用於 mode='cd'。範圍是(0,inf]。

max_iter整數,默認=100

最大迭代次數。

mode{‘cd’, ‘lars’},默認='cd'

要使用的 Lasso 求解器:坐標下降或 LARS。將 LARS 用於非常稀疏的底層圖,其中特征數大於樣本數。在其他地方更喜歡 cd ,它在數值上更穩定。

n_jobs整數,默認=無

並行運行的作業數。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有處理器。有關詳細信息,請參閱詞匯表。

verbose布爾,默認=假

如果 verbose 為 True,則在每次迭代時打印目標函數和對偶間隙。

assume_centered布爾,默認=假

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

屬性

location_ndarray 形狀 (n_features,)

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

covariance_ndarray 形狀(n_features,n_features)

估計的協方差矩陣。

precision_ndarray 形狀(n_features,n_features)

估計的精度矩陣(逆協方差)。

alpha_浮點數

選擇了懲罰參數。

cv_alphas_形狀列表 (n_alphas,), dtype=float

已棄用:cv_alphas_ 屬性在 0.24 版中已棄用,取而代之的是 cv_results_['alpha'],並將在 1.1 版中刪除(重命名為 0.26)。

grid_scores_ndarray 形狀(n_alphas,n_folds)

已棄用:grid_scores_ 屬性在 0.24 版中已棄用,取而代之的是 cv_results_,並將在 1.1 版中刪除(重命名為 0.26)。

cv_results_ndarrays的字典

帶鍵的字典:

阿爾法ndarray 形狀 (n_alphas,)

探索了所有懲罰參數。

拆分(k)_test_scorendarray 形狀 (n_alphas,)

第 (k) 倍的 left-out 數據的對數似然得分。

mean_test_scorendarray 形狀 (n_alphas,)

折疊的平均分數。

std_test_scorendarray 形狀 (n_alphas,)

折疊分數的標準差。

split(k)_scorendarray 形狀 (n_alphas,)

第 (k) 倍的 left-out 數據的對數似然得分。

mean_scorendarray 形狀 (n_alphas,)

折疊的平均分數。

std_scorendarray 形狀 (n_alphas,)

折疊分數的標準差。

n_iter_int

為最佳 alpha 運行的迭代次數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

注意

對最優懲罰參數 (alpha) 的搜索是在迭代細化的網格上完成的:首先計算網格上的 cross-validated 分數,然後以最大值為中心創建一個新的細化網格,依此類推。

這裏麵臨的挑戰之一是求解器可能無法收斂到條件良好的估計。然後,相應的 alpha 值作為缺失值出現,但最優值可能接近這些缺失值。

例子

>>> import numpy as np
>>> from sklearn.covariance import GraphicalLassoCV
>>> true_cov = np.array([[0.8, 0.0, 0.2, 0.0],
...                      [0.0, 0.4, 0.0, 0.0],
...                      [0.2, 0.0, 0.3, 0.1],
...                      [0.0, 0.0, 0.1, 0.7]])
>>> np.random.seed(0)
>>> X = np.random.multivariate_normal(mean=[0, 0, 0, 0],
...                                   cov=true_cov,
...                                   size=200)
>>> cov = GraphicalLassoCV().fit(X)
>>> np.around(cov.covariance_, decimals=3)
array([[0.816, 0.051, 0.22 , 0.017],
       [0.051, 0.364, 0.018, 0.036],
       [0.22 , 0.018, 0.322, 0.094],
       [0.017, 0.036, 0.094, 0.69 ]])
>>> np.around(cov.location_, decimals=3)
array([0.073, 0.04 , 0.038, 0.143])

相關用法


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