LarsCV#
- class sklearn.linear_model.LarsCV(*, fit_intercept=True, verbose=False, max_iter=500, precompute='auto', cv=None, max_n_alphas=1000, n_jobs=None, eps=np.float64(2.220446049250313e-16), copy_X=True)[原始碼]#
交叉驗證的最小角度迴歸模型。
請參閱 交叉驗證估算器 的詞彙表條目。
請在 使用者指南 中閱讀更多內容。
- 參數:
- fit_interceptbool,預設值為 True
是否計算此模型的截距。如果設定為 False,則計算時不會使用截距(即預期資料會置中)。
- verbosebool 或 int,預設值為 False
設定詳細程度。
- max_iterint,預設值為 500
要執行的最大迭代次數。
- precomputebool、'auto' 或 array-like,預設值為 'auto'
是否使用預先計算的格拉姆矩陣來加速計算。如果設定為
'auto'
,則由我們決定。由於我們只會使用 X 的子集,因此格拉姆矩陣不能當作參數傳遞。- cvint、交叉驗證產生器或可迭代物件,預設值為 None
決定交叉驗證分割策略。cv 的可能輸入為
None,使用預設的 5 折交叉驗證,
整數,指定摺疊數。
可迭代物件,產生 (train, test) 分割,作為索引陣列。
對於整數/None 輸入,會使用
KFold
。請參閱 使用者指南,了解此處可使用的各種交叉驗證策略。
在 0.22 版本中變更: 如果 cv 為 None,則預設值從 3 折變更為 5 折。
- max_n_alphasint,預設值為 1000
路徑上用於計算交叉驗證中殘差的最大點數。
- n_jobsint 或 None,預設值為 None
交叉驗證期間要使用的 CPU 數量。除非在
joblib.parallel_backend
內容中,否則None
表示 1。-1
表示使用所有處理器。請參閱 詞彙表 以取得更多詳細資訊。- epsfloat,預設值為 np.finfo(float).eps
在計算 Cholesky 對角因素時的機器精確度正規化。對於條件非常差的系統,請增加此值。與某些基於迭代最佳化演算法中的
tol
參數不同,此參數不會控制最佳化的容差。- copy_Xbool,預設值為 True
如果為
True
,則會複製 X;否則可能會覆寫。
- 屬性:
- active_長度為 n_alphas 的列表,或此類列表的列表
路徑結束時的活動變數的索引。如果這是列表的列表,則外部列表的長度為
n_targets
。- coef_形狀為 (n_features,) 的類陣列
參數向量(公式中的 w)
- intercept_float
決策函數中的獨立項
- coef_path_形狀為 (n_features, n_alphas) 的類陣列
沿路徑的係數變化值
- alpha_float
估算的正規化參數 alpha
- alphas_形狀為 (n_alphas,) 的類陣列
沿路徑的 alpha 不同值
- cv_alphas_形狀為 (n_cv_alphas,) 的類陣列
不同摺疊的路徑上 alpha 的所有值
- mse_path_形狀為 (n_folds, n_cv_alphas) 的類陣列
沿路徑 (由
cv_alphas
給定的 alpha 值) 每個摺疊的遺漏平均平方誤差- n_iter_類陣列或 int
Lars 使用最佳 alpha 執行的迭代次數。
- n_features_in_int
在 fit 期間看到的特徵數量。
在 0.24 版本中新增。
- feature_names_in_形狀為 (
n_features_in_
,) 的 ndarray 在 fit 期間看到的特徵名稱。僅在
X
具有全部為字串的特徵名稱時定義。在 1.0 版本中新增。
另請參閱
lars_path
使用 LARS 演算法計算最小角度迴歸或 Lasso 路徑。
lasso_path
使用座標下降法計算 Lasso 路徑。
Lasso
以 L1 先驗作為正規化器訓練的線性模型 (又稱 Lasso)。
LassoCV
Lasso 線性模型,沿著正規化路徑進行迭代擬合。
LassoLars
Lasso 模型,使用最小角度迴歸 (又稱 Lars) 擬合。
LassoLarsIC
Lasso 模型,使用 Lars 擬合,並使用 BIC 或 AIC 進行模型選擇。
sklearn.decomposition.sparse_encode
稀疏編碼。
注意事項
在
fit
中,一旦透過交叉驗證找到最佳參數alpha
,則會使用整個訓練集再次擬合模型。範例
>>> from sklearn.linear_model import LarsCV >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_samples=200, noise=4.0, random_state=0) >>> reg = LarsCV(cv=5).fit(X, y) >>> reg.score(X, y) 0.9996... >>> reg.alpha_ np.float64(0.2961...) >>> reg.predict(X[:1,]) array([154.3996...])
- fit(X, y, **params)[原始碼]#
使用 X、y 作為訓練資料擬合模型。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列 (array-like)
訓練資料。
- y形狀為 (n_samples,) 的類陣列 (array-like)
目標值。
- **params字典 (dict),預設值為 None
要傳遞給 CV 分割器的參數。
1.4 版本新增:僅在
enable_metadata_routing=True
時可用,可透過使用sklearn.set_config(enable_metadata_routing=True)
設定。請參閱 中繼資料路由使用者指南 以取得更多詳細資訊。
- 回傳值:
- self物件 (object)
回傳自身的實例。
- get_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請查看 使用者指南 以了解路由機制如何運作。
1.4 版本新增。
- 回傳值:
- routingMetadataRouter
一個
MetadataRouter
,封裝了路由資訊。
- get_params(deep=True)[原始碼]#
取得此估計器的參數。
- 參數:
- deep布林值 (bool),預設值為 True
若為 True,則會回傳此估計器以及包含的子物件(為估計器)的參數。
- 回傳值:
- params字典 (dict)
參數名稱對應到它們的值。
- predict(X)[原始碼]#
使用線性模型進行預測。
- 參數:
- X類陣列 (array-like) 或稀疏矩陣 (sparse matrix),形狀為 (n_samples, n_features)
樣本。
- 回傳值:
- C陣列 (array),形狀為 (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) 的類陣列 (array-like)
測試樣本。對於某些估計器,這可能是一個預先計算的核矩陣或具有形狀
(n_samples, n_samples_fitted)
的通用物件列表,其中n_samples_fitted
是估計器擬合時使用的樣本數。- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列 (array-like)
X
的真實值。- sample_weight形狀為 (n_samples,) 的類陣列 (array-like),預設值為 None
樣本權重。
- 回傳值:
- score浮點數 (float)
self.predict(X)
相對於y
的 \(R^2\)。
注意事項
在回歸器上呼叫
score
時所使用的 \(R^2\) 分數,從 0.23 版本開始使用multioutput='uniform_average'
,以與r2_score
的預設值保持一致。這會影響所有多輸出回歸器的score
方法(除了MultiOutputRegressor
之外)。
- set_fit_request(*, Xy: bool | None | str = '$UNCHANGED$') LarsCV [原始碼]#
請求傳遞給
fit
方法的中繼資料。請注意,只有在
enable_metadata_routing=True
時,此方法才相關(請參閱sklearn.set_config
)。請參閱 使用者指南 以了解路由機制如何運作。每個參數的選項為
True
:請求中繼資料,並在提供時傳遞給fit
。如果未提供中繼資料,則忽略此請求。False
:不請求中繼資料,且元估計器不會將其傳遞給fit
。None
:不請求中繼資料,且如果使用者提供中繼資料,元估計器將會引發錯誤。str
:中繼資料應使用此指定的別名傳遞給元估計器,而不是原始名稱。
預設值 (
sklearn.utils.metadata_routing.UNCHANGED
) 會保留現有的請求。這讓您可以變更某些參數的請求,而不變更其他參數的請求。1.3 版本新增。
請注意
只有當此估計器被用作元估計器的子估計器時(例如在
Pipeline
內部使用),此方法才相關。否則,此方法沒有任何效果。- 參數:
- Xy字串 (str)、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
fit
中的Xy
參數的中繼資料路由。
- 回傳值:
- self物件 (object)
更新後的物件。
- set_params(**params)[原始碼]#
設定此估計器的參數。
此方法適用於簡單的估計器,以及巢狀物件(例如
Pipeline
)。後者具有<元件>__<參數>
形式的參數,因此可以更新巢狀物件的每個元件。- 參數:
- **params字典 (dict)
估計器參數。
- 回傳值:
- self估計器實例 (estimator instance)
估計器實例。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') LarsCV [原始碼]#
請求傳遞給
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物件 (object)
更新後的物件。