scikit_learn lasso詳解


Lasso 回歸 l1 正則化

The Lasso 是估計稀疏系數的線性模型。 它在一些情況下是有用的,因為它傾向於使用具有較少參數值的情況,有效地減少給定解決方案所依賴變量的數量。

因此,Lasso 及其變體是壓縮感知領域的基礎。 在一定條件下,它可以恢復一組非零權重的精確集。

 

 

主參數設置
alpha : float, 可選,默認 1.0。當 alpha 為 0 時算法等同於普通最小二乘法,可通過 Linear Regression 實現,因此不建議將 alpha 設為 0.

fit_intercept : boolean
是否進行攔截計算(intercept)。若 false,則不計算(比如數據已經經過集中了)。此處不太明白,仿佛與偏度有關。

normalize : boolean, 可選, 默認 False
若 True,則先 normalize 再 regression。若 fit_intercept 為 false 則忽略此參數。當 regressors 被 normalize 的時候,需要注意超參(hyperparameters)的學習會更穩定,幾乎獨立於 sample。對於標准化的數據,就不會有此種情況。如果需要標准化數據,請對數據預處理。然后在學習時設置 normalize=False。

copy_X : boolean, 可選, 默認 True
若 True,則會復制 X;否則可能會被覆蓋。

precompute : True | False | array-like, 默認=False
是否使用預計算的 Gram 矩陣來加速計算。如果設置為 ‘auto’ 則機器決定。Gram 矩陣也可以 pass。對於 sparse input 這個選項永遠為 True。

max_iter : int, 可選
最大循環次數。

tol : float, 可選
優化容忍度 The tolerance for the optimization: 若更新后小於 tol,優化代碼檢查優化的 dual gap 並繼續直到小於 tol 為止。

warm_start : bool, 可選
為 True 時, 重復使用上一次學習作為初始化,否則直接清除上次方案。

positive : bool, 可選
設為 True 時,強制使系數為正。

selection : str, 默認 ‘cyclic’
若設為 ‘random’, 每次循環會隨機更新參數,而按照默認設置則會依次更新。設為隨機通常會極大地加速交點(convergence)的產生,尤其是 tol 比 1e-4 大的情況下。

random_state : int, RandomState instance, 或者 None (默認值)
pseudo random number generator 用來產生隨機 feature 進行更新時需要用的

seed。僅當 selection 為 random 時才可用。


原文:https://blog.csdn.net/luanpeng825485697/article/details/79829926


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM