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 折交叉驗證,

  • 整數,指定摺疊數。

  • CV 分割器,

  • 可迭代物件,產生 (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

scoresample_weight 參數的元數據路由。

回傳值:
self物件 (object)

更新後的物件。