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


Python sklearn LassoLarsCV用法及代碼示例


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

用法:

class sklearn.linear_model.LassoLarsCV(*, fit_intercept=True, verbose=False, max_iter=500, normalize='deprecated', precompute='auto', cv=None, max_n_alphas=1000, n_jobs=None, eps=2.220446049250313e-16, copy_X=True, positive=False)

Cross-validated 套索,使用 LARS 算法。

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

Lasso 的優化目標是:

(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1

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

參數

fit_intercept布爾,默認=真

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

verbosebool 或 int,默認 = False

設置詳細程度。

max_iter整數,默認=500

要執行的最大迭代次數。

normalize布爾,默認=真

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

precomputebool 或 ‘auto’ ,默認='auto'

是否使用預先計算的 Gram 矩陣來加速計算。如果設置為'auto',讓我們決定。 Gram 矩陣不能作為參數傳遞,因為我們將隻使用 X 的子集。

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

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

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

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

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

max_n_alphas整數,默認=1000

路徑上用於計算交叉驗證殘差的最大點數。

n_jobsint 或無,默認=無

交叉驗證期間要使用的 CPU 數量。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有處理器。有關詳細信息,請參閱詞匯表。

eps浮點數,默認=np.finfo(float).eps

machine-precision 正則化計算 Cholesky 對角因子。為非常 ill-conditioned 的係統增加此值。與某些基於迭代優化的算法中的tol 參數不同,該參數不控製優化的容差。

copy_X布爾,默認=真

如果為 True,則 X 將被複製;否則,它可能會被覆蓋。

positive布爾,默認=假

將係數限製為 >= 0。請注意,您可能希望刪除默認設置為 True 的 fit_intercept。在正限製下,對於較小的 alpha 值,模型係數不會收斂到 ordinary-least-squares 解。隻有通過逐步Lars-Lasso 算法達到的最小 alpha 值(當 fit_path=True 時為 alphas_[alphas_ > 0.].min())的係數通常與坐標下降套索估計器的解一致。因此,使用LassoLarsCV 僅對預期和/或達到稀疏解決方案的問題有意義。

屬性

coef_形狀類似數組 (n_features,)

參數向量(公式中的w)

intercept_浮點數

決策函數中的獨立項。

coef_path_形狀類似數組 (n_features, n_alphas)

沿路徑的係數的變化值

alpha_浮點數

估計的正則化參數 alpha

alphas_形狀類似數組 (n_alphas,)

沿路徑的不同 alpha 值

cv_alphas_形狀類似數組 (n_cv_alphas,)

不同折疊路徑上的所有 alpha 值

mse_path_形狀類似數組 (n_folds, n_cv_alphas)

left-out 上沿路徑的每個折疊的均方誤差(由 cv_alphas 給出的 alpha 值)

n_iter_類似數組或int

Lars 以最優 alpha 運行的迭代次數。

active_int列表

路徑末端的活動變量的索引。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

注意

該對象解決了與 LassoCV 對象相同的問題。然而,與 LassoCV 不同的是,它自己找到相關的 alpha 值。一般來說,因為有這個屬性,所以會比較穩定。然而,它對於嚴重多重共線性的數據集更加脆弱。

如果與總數相比僅選擇少量特征,例如與特征數量相比樣本很少,則它比 LassoCV 更有效。

例子

>>> from sklearn.linear_model import LassoLarsCV
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(noise=4.0, random_state=0)
>>> reg = LassoLarsCV(cv=5, normalize=False).fit(X, y)
>>> reg.score(X, y)
0.9993...
>>> reg.alpha_
0.3972...
>>> reg.predict(X[:1,])
array([-78.4831...])

相關用法


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