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


Python sklearn RidgeCV用法及代碼示例


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

用法:

class sklearn.linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), *, fit_intercept=True, normalize='deprecated', scoring=None, cv=None, gcv_mode=None, store_cv_values=False, alpha_per_target=False)

帶有內置交叉驗證的嶺回歸。

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

默認情況下,它執行有效的留一交叉驗證。

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

參數

alphasndarray 形狀 (n_alphas,),默認 = (0.1, 1.0, 10.0)

要嘗試的 alpha 值數組。正則化強度;必須是正浮點數。正則化改善了問題的條件並減少了估計的方差。較大的值指定更強的正則化。 Alpha 對應於其他線性模型中的 1 / (2C),例如 LogisticRegression LinearSVC 。如果使用留一法交叉驗證,則 alpha 必須為正。

fit_intercept布爾,默認=真

是否計算此模型的截距。如果設置為 false,則不會在計算中使用截距(即數據應居中)。

normalize布爾,默認=假

fit_intercept 設置為 False 時忽略此參數。如果為 True,則回歸量 X 將在回歸前通過減去均值並除以 l2 範數進行歸一化。如果您希望標準化,請在使用 normalize=False 對估計器調用 fit 之前使用 StandardScaler

scoringstr,可調用,默認=無

一個字符串(請參閱模型評估文檔)或帶有簽名 scorer(estimator, X, y) 的記分器可調用對象/函數。如果為“無”,則 cv 為 ‘auto’ 或“無”(即使用留一交叉驗證時),則為負均方誤差,否則為 r2 得分。

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

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

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

對於整數/無輸入,如果y 是二進製或多類,則使用 StratifiedKFold ,否則使用 KFold

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

gcv_mode{‘auto’, ‘svd’, ‘eigen’},默認='自動'

指示執行留一交叉驗證時使用哪種策略的標誌。選項有:

'auto' : use 'svd' if n_samples > n_features, otherwise use 'eigen'
'svd' : force use of singular value decomposition of X when X is
    dense, eigenvalue decomposition of X^T.X when X is sparse.
'eigen' : force computation via eigendecomposition of X.X^T

‘auto’ 模式是默認模式,旨在根據訓練數據的形狀選擇兩者中更便宜的選項。

store_cv_values布爾,默認=假

指示與每個 alpha 對應的交叉驗證值是否應存儲在 cv_values_ 屬性中的標誌(見下文)。該標誌僅與cv=None兼容(即使用留一交叉驗證)。

alpha_per_target布爾,默認=假

指示是否分別優化每個目標的 alpha 值(從 alphas 參數列表中選擇)的標誌(對於 multi-output 設置:多個預測目標)。當設置為 True 時,擬合後,alpha_ 屬性將包含每個目標的值。當設置為 False 時,單個 alpha 用於所有目標。

屬性

cv_values_形狀(n_samples,n_alphas)或形狀(n_samples,n_targets,n_alphas)的ndarray,可選

每個 alpha 的交叉驗證值(僅在 store_cv_values=Truecv=None 時可用)。調用fit() 後,如果scoring is None,此屬性將包含均方誤差,否則它將包含標準化的每點預測值。

coef_ndarray 形狀 (n_features) 或 (n_targets, n_features)

權重向量。

intercept_形狀的浮點數或 ndarray (n_targets,)

決策函數中的獨立項。如果 fit_intercept = False 則設置為 0.0。

alpha_形狀的浮點數或 ndarray (n_targets,)

估計的正則化參數,或者,如果是 alpha_per_target=True ,則為每個目標的估計正則化參數。

best_score_形狀的浮點數或 ndarray (n_targets,)

具有最佳 alpha 的基本估計器的分數,或者,如果是 alpha_per_target=True ,則為每個目標的分數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

例子

>>> from sklearn.datasets import load_diabetes
>>> from sklearn.linear_model import RidgeCV
>>> X, y = load_diabetes(return_X_y=True)
>>> clf = RidgeCV(alphas=[1e-3, 1e-2, 1e-1, 1]).fit(X, y)
>>> clf.score(X, y)
0.5166...

相關用法


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