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


Python sklearn LassoLars用法及代碼示例


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

用法:

class sklearn.linear_model.LassoLars(alpha=1.0, *, fit_intercept=True, verbose=False, normalize='deprecated', precompute='auto', max_iter=500, eps=2.220446049250313e-16, copy_X=True, fit_path=True, positive=False, jitter=None, random_state=None)

套索模型與最小角回歸(又名 Lars)擬合。

它是使用 L1 先驗作為正則化器訓練的線性模型。

Lasso 的優化目標是:

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

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

參數

alpha浮點數,默認=1.0

乘以懲罰項的常數。默認為 1.0。 alpha = 0 相當於普通最小二乘法,由 LinearRegression 求解。由於數字原因,不建議將 alpha = 0 與 LassoLars 對象一起使用,您應該更喜歡使用 LinearRegression 對象。

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 將被複製;否則,它可能會被覆蓋。

fit_path布爾,默認=真

如果True 完整路徑存儲在coef_path_ 屬性中。如果您計算一個大問題或許多目標的解決方案,將 fit_path 設置為 False 將導致加速,尤其是在 alpha 較小的情況下。

positive布爾,默認=假

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

jitter浮點數,默認=無

要添加到 y 值的均勻噪聲參數的上限,以滿足模型對 one-at-a-time 計算的假設。可能有助於穩定性。

random_stateint、RandomState 實例或無,默認=無

確定抖動的隨機數生成。傳遞 int 以在多個函數調用之間實現可重現的輸出。請參閱術語表。如果 jitter 為 None,則忽略。

屬性

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

每次迭代的協方差最大值(絕對值)。 n_alphasmax_itern_featuresalpha >= alpha_min 路徑中的節點數,以較小者為準。如果這是一個類似數組的列表,則外部列表的長度為 n_targets

active_長度為 n_alphas 的列表或此類列表的列表

路徑末端的活動變量的索引。如果這是列表列表,則外部列表的長度為 n_targets

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

如果傳遞了一個列表,那麽它應該是 n_targets 這樣的數組之一。沿路徑的係數值的變化。如果 fit_path 參數為 False ,則該值不存在。如果這是一個類似數組的列表,則外部列表的長度為 n_targets

coef_形狀為 (n_features,) 或 (n_targets, n_features) 的類似數組

參數向量(公式中的 w)。

intercept_形狀為浮點或類似數組 (n_targets,)

決策函數中的獨立項。

n_iter_類似數組或int

lars_path 為找到每個目標的 alpha 網格而進行的迭代次數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

例子

>>> from sklearn import linear_model
>>> reg = linear_model.LassoLars(alpha=0.01, normalize=False)
>>> reg.fit([[-1, 1], [0, 0], [1, 1]], [-1, 0, -1])
LassoLars(alpha=0.01, normalize=False)
>>> print(reg.coef_)
[ 0.         -0.955...]

相關用法


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