RidgeCV#

class sklearn.linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), *, fit_intercept=True, scoring=None, cv=None, gcv_mode=None, store_cv_results=None, alpha_per_target=False, store_cv_values='deprecated')[原始碼]#

具有內建交叉驗證的 Ridge 迴歸。

請參閱詞彙表條目 交叉驗證估計器

預設情況下,它會執行有效的留一交叉驗證。

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

參數:
alphasarray-like,形狀為 (n_alphas,),預設值為 (0.1, 1.0, 10.0)

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

fit_interceptbool,預設值為 True

是否為此模型計算截距。如果設定為 False,則在計算中不會使用截距(即,預期資料是居中的)。

scoring字串、可呼叫的物件,預設值為 None

一個字串(請參閱 評分參數:定義模型評估規則)或一個帶有簽名的評分器可呼叫物件/函數 scorer(estimator, X, y)。如果為 None,則如果 cv 是 'auto' 或 None(即,當使用留一交叉驗證時),則為負均方誤差,否則為 r2 分數。

cvint、交叉驗證產生器或可迭代的物件,預設值為 None

決定交叉驗證拆分策略。cv 的可能輸入為

  • None,以使用有效的留一交叉驗證

  • integer,以指定摺疊次數。

  • CV 分割器,

  • 一個可產生 (train, test) 拆分作為索引陣列的可迭代物件。

對於 integer/None 輸入,如果 y 是二元或多類,則使用 StratifiedKFold,否則,使用 KFold

請參閱 使用者指南,以了解此處可以使用的各種交叉驗證策略。

gcv_mode{‘auto’, ‘svd’, ‘eigen’},預設值為 ‘auto’

指示在執行留一交叉驗證時要使用哪種策略的旗標。選項為

'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_resultsbool,預設值為 False

指示是否應將對應於每個 alpha 的交叉驗證值儲存在 cv_results_ 屬性中(請參閱下方)的旗標。此旗標僅與 cv=None(即使用留一交叉驗證)相容。

在 1.5 版中變更: 參數名稱從 store_cv_values 變更為 store_cv_results

alpha_per_targetbool,預設值為 False

旗標,指示是否針對每個目標分別最佳化 alpha 值(從 alphas 參數清單中選取)(對於多輸出設定:多個預測目標)。當設定為 True 時,在擬合後,alpha_ 屬性將包含每個目標的值。當設定為 False 時,所有目標都使用單一 alpha。

在 0.24 版中新增。

store_cv_valuesbool

旗標,指示是否應將對應於每個 alpha 的交叉驗證值儲存在 cv_values_ 屬性中(請參閱下方)。此旗標僅與 cv=None(即使用留一交叉驗證)相容。

自 1.5 版起已棄用: store_cv_values 在 1.5 版中已棄用,改用 store_cv_results,並將在 1.7 版中移除。

屬性:
cv_results_ndarray,形狀為 (n_samples, n_alphas) 或 (n_samples, n_targets, n_alphas),可選

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

在 1.5 版中變更: cv_values_ 變更為 cv_results_

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

權重向量。

intercept_float 或 ndarray,形狀為 (n_targets,)

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

alpha_float 或 ndarray,形狀為 (n_targets,)

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

best_score_float 或 ndarray,形狀為 (n_targets,)

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

在 0.23 版本中新增。

n_features_in_int

fit 期間看到的特徵數量。

在 0.24 版中新增。

feature_names_in_形狀為 (n_features_in_,) 的 ndarray

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

在 1.0 版本中新增。

另請參閱

Ridge

嶺迴歸。

RidgeClassifier

基於 {-1, 1} 標籤上的嶺迴歸的分類器。

RidgeClassifierCV

具有內建交叉驗證的嶺分類器。

範例

>>> 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...
fit(X, y, sample_weight=None, **params)[原始碼]#

使用 cv 擬合嶺迴歸模型。

參數:
X形狀為 (n_samples, n_features) 的 ndarray

訓練資料。如果使用 GCV,必要時將轉換為 float64。

y形狀為 (n_samples,) 或 (n_samples, n_targets) 的 ndarray

目標值。必要時將轉換為 X 的 dtype。

sample_weightfloat 或形狀為 (n_samples,) 的 ndarray,預設值為 None

每個樣本的個別權重。如果給定 float,則每個樣本將具有相同的權重。

**paramsdict,預設值為 None

要傳遞給底層評分器的參數。

在 1.5 版本中新增:僅當 enable_metadata_routing=True 時可用,可以使用 sklearn.set_config(enable_metadata_routing=True) 進行設定。有關更多詳細資訊,請參閱 中繼資料路由使用者指南

回傳值:
self物件

擬合的估計器。

注意事項

當提供 sample_weight 時,選定的超參數可能會取決於我們是使用留一交叉驗證 (cv=None 或 cv='auto') 還是其他形式的交叉驗證,因為只有留一交叉驗證在計算驗證分數時才會考慮樣本權重。

get_metadata_routing()[原始碼]#

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

請查看 使用者指南,了解路由機制如何運作。

在 1.5 版本中新增。

回傳值:
routingMetadataRouter

封裝路由資訊的 MetadataRouter

get_params(deep=True)[原始碼]#

取得此估計器的參數。

參數:
deepbool,預設值為 True

如果為 True,將會回傳此估計器以及所包含的子物件(為估計器)的參數。

回傳值:
paramsdict

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

predict(X)[原始碼]#

使用線性模型進行預測。

參數:
X類陣列或稀疏矩陣,形狀 (n_samples, n_features)

樣本。

回傳值:
C陣列,形狀 (n_samples,)

回傳預測值。

score(X, y, sample_weight=None)[原始碼]#

回傳預測的決定係數。

決定係數 \(R^2\) 定義為 \((1 - \frac{u}{v})\),其中 \(u\) 是殘差平方和 ((y_true - y_pred)** 2).sum(),而 \(v\) 是總平方和 ((y_true - y_true.mean()) ** 2).sum()。最佳可能分數為 1.0,而且可以是負值(因為模型可能任意地差)。一個總是預測 y 的期望值,而忽略輸入特徵的常數模型,將會得到 \(R^2\) 分數 0.0。

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

測試樣本。對於某些估計器,這可能是一個預先計算的核矩陣或形狀為 (n_samples, n_samples_fitted) 的通用物件清單,其中 n_samples_fitted 是估計器擬合中使用的樣本數。

y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列

X 的真實值。

sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None

樣本權重。

回傳值:
scorefloat

self.predict(X) 相對於 y\(R^2\)

注意事項

在回歸器上呼叫 score 時使用的 \(R^2\) 分數,從 0.23 版本開始使用 multioutput='uniform_average',以保持與 r2_score 的預設值一致。這會影響所有多輸出回歸器的 score 方法(除了 MultiOutputRegressor)。

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') RidgeCV[原始碼]#

請求傳遞到 fit 方法的中繼資料。

請注意,此方法僅在 enable_metadata_routing=True 時才相關(請參閱 sklearn.set_config)。請參閱 使用者指南,了解路由機制如何運作。

每個參數的選項為

  • True:要求中繼資料,並在提供時傳遞給 fit。如果未提供中繼資料,則會忽略該要求。

  • False:不要求中繼資料,而且元估計器不會將其傳遞給 fit

  • None:不要求中繼資料,而且如果使用者提供,元估計器將會引發錯誤。

  • str:應該使用此給定別名而不是原始名稱,將中繼資料傳遞給元估計器。

預設值 (sklearn.utils.metadata_routing.UNCHANGED) 會保留現有的要求。這可讓您變更某些參數的要求,而不是其他參數。

在 1.3 版本中新增。

注意

只有在將此估計器用作元估計器的子估計器時,此方法才相關,例如在 Pipeline 內部使用。否則,它沒有任何效果。

參數:
sample_weightstr、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED

用於 fit 中的 sample_weight 參數的中繼資料路由。

回傳值:
self物件

更新後的物件。

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

設定此估算器的參數。

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

參數:
**paramsdict

估算器參數。

回傳值:
self估算器實例

估算器實例。

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') RidgeCV[原始碼]#

請求傳遞到 score 方法的中繼資料。

請注意,此方法僅在 enable_metadata_routing=True 時才相關(請參閱 sklearn.set_config)。請參閱 使用者指南,了解路由機制如何運作。

每個參數的選項為

  • True:請求中繼資料,如果提供,則傳遞到 score。如果未提供中繼資料,則忽略請求。

  • False:不請求中繼資料,並且元估算器不會將其傳遞到 score

  • None:不要求中繼資料,而且如果使用者提供,元估計器將會引發錯誤。

  • str:應該使用此給定別名而不是原始名稱,將中繼資料傳遞給元估計器。

預設值 (sklearn.utils.metadata_routing.UNCHANGED) 會保留現有的要求。這可讓您變更某些參數的要求,而不是其他參數。

在 1.3 版本中新增。

注意

只有在將此估計器用作元估計器的子估計器時,此方法才相關,例如在 Pipeline 內部使用。否則,它沒有任何效果。

參數:
sample_weightstr、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED

用於 score 中的 sample_weight 參數的中繼資料路由。

回傳值:
self物件

更新後的物件。