scikit_learn lasso详解

本文深入解析Lasso回归及其l1正则化特性,探讨其如何通过减少非零参数数量实现特征选择,适用于压缩感知场景。文章详细介绍了Lasso回归的主要参数设置,包括alpha、fit_intercept、normalize等,并解释了它们的作用及如何影响模型性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

转载于:https://www.cnblogs.com/jian-gao/p/10736871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值