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


Python sklearn LassoLarsIC用法及代碼示例


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

用法:

class sklearn.linear_model.LassoLarsIC(criterion='aic', *, fit_intercept=True, verbose=False, normalize='deprecated', precompute='auto', max_iter=500, eps=2.220446049250313e-16, copy_X=True, positive=False, noise_variance=None)

Lasso 模型使用 BIC 或 AIC 與 Lars 進行模型選擇。

Lasso 的優化目標是:

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

AIC 是 Akaike 信息準則 [2],BIC 是 Bayes 信息準則 [3]。這些標準對於通過在擬合優度和模型複雜性之間進行權衡來選擇正則化參數的值很有用。一個好的模型應該在簡單的同時很好地解釋數據。

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

參數

criterion{‘aic’, ‘bic’},默認='aic'

要使用的標準類型。

fit_intercept布爾,默認=真

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

verbosebool 或 int,默認 = False

設置詳細程度。

normalize布爾,默認=真

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

precomputebool,‘auto’ 或類似數組,默認=’auto’

是否使用預先計算的 Gram 矩陣來加速計算。如果設置為'auto',讓我們決定。 Gram 矩陣也可以作為參數傳遞。

max_iter整數,默認=500

要執行的最大迭代次數。可用於提前停止。

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())的係數通常與坐標下降套索估計器的解一致。因此,使用LassoLarsIC 僅對預期和/或達到稀疏解決方案的問題有意義。

noise_variance浮點數,默認=無

數據的估計噪聲方差。如果 None ,則通過 OLS 模型計算無偏估計。但是,隻有在 n_samples > n_features + fit_intercept 的情況下才有可能。

屬性

coef_形狀類似數組 (n_features,)

參數向量(公式中的w)

intercept_浮點數

決策函數中的獨立項。

alpha_浮點數

信息標準選擇的 alpha 參數

alphas_形狀為 (n_alphas + 1,) 的類似數組或此類數組的列表

每次迭代的最大協方差(絕對值)。 n_alphasmax_itern_features 或帶有 alpha >= alpha_min 的路徑中的節點數,以較小者為準。如果是列表,則長度為 n_targets

n_iter_int

lars_path 運行的迭代次數以找到 alpha 網格。

criterion_形狀類似數組 (n_alphas,)

所有 alpha 的信息標準 (‘aic’, ‘bic’) 的值。選擇具有最小信息標準的 alpha,如 [1] 中指定。

noise_variance_浮點數

用於計算標準的數據的估計噪聲方差。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

注意

自由度數的計算如[1]中所示。

要了解有關 AIC 和 BIC 標準的數學公式的更多詳細信息,請參閱用戶指南。

參考

1(1,2)

Zou、Hui、Trevor Hastie 和 Robert Tibshirani。 “關於套索的自由度。”統計年鑒 35.5(2007 年):2173-2192。

2

關於 Akaike 信息標準的維基百科條目

3

關於貝葉斯信息標準的維基百科條目

例子

>>> from sklearn import linear_model
>>> reg = linear_model.LassoLarsIC(criterion='bic', normalize=False)
>>> X = [[-2, 2], [-1, 1], [0, 0], [1, 1], [2, 2]]
>>> y = [-2.2222, -1.1111, 0, -1.1111, -2.2222]
>>> reg.fit(X, y)
LassoLarsIC(criterion='bic', normalize=False)
>>> print(reg.coef_)
[ 0.  -1.11...]

相關用法


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