机器学习——LASSO算法

LASSO算法的简单介绍

LASSO算法和岭回归算法在应用目的上其实都是相似的,这两种算法的本质就是两种不同的正则化方法
下面来看看这两种方法的对比:
在这里插入图片描述
在这里插入图片描述
岭回归是L1正则化,LASSO是L2正则化。两个回归系数的值都可以用来限制t,取值有相同的地方。这是一张表示系数和代价函数值关系的图:
在这里插入图片描述
红色的圈圈表示的是代价函数值等高线,中间的黑点表示最小值。蓝色区域是系数的选取范围,可以看到,当选取范围和等高线交界的地方是最合适的取值点,这时即符合选取范围,代价函数的值也越接近中心的最小值。

python实现——sklearnLASSO算法

来看看实验用到的数据:
在这里插入图片描述
在这里插入图片描述
代码实现:
在这里插入图片描述
lasson算法的模型也是用到交叉验证法,但和岭回归相比,不用传入参数,因为这个方法本身就有很多参数,直接用它内部的参数计算即可。
在这里插入图片描述
然后打印结果看看效果如何:
在这里插入图片描述
在这里插入图片描述
14.13是求得的lasson系数,第二行是相关系数,可以理解为特征,后面的3个0表示这3个特征量可能是线性重复,对lasson的计算没有太大帮助和影响,而前面3个特征则是有影响的。从这里我们看到lasson的解释性是很强的,最后得到的预测结果115.7和真实结果一样。

弹性网

岭回归和lasson用的其实都是一个算法公式,不同的参数取值会得到岭回归和lasson或者其他一些算法。
在这里插入图片描述
当q是1时就是lasson,q是2时就是岭回归,其他类型的一般很少用,效果不如这两种好。弹性网则结合了lasson和岭回归两种算法,吸取了两种算法的特点,这是一种相对来说比较新的算法。
在这里插入图片描述
当α取0.2时得到类似lasson的图形,但是边是弯曲的,所以被称为弹性网,这时岭回归前面的系数是0.2,lasson前面的系数是0.8,说明lasson的比重比较大,这就是和 lasson的图形类似的原因。

python实现——弹性网

数据和上面的lasson用到的数据是一样的,代码开始部分都一样。
在这里插入图片描述
在这里插入图片描述
这里和lasson一样也是不用传入参数的,只不过调用的方法不同。结果也和lasson一样可以得到相关系数和本身的弹性系数。
在这里插入图片描述
在这里插入图片描述
可以看到结果形式和lasson差不多,理论上说,因为弹性网结合了岭回归和lasson的特点,所以得到的预测值应该比这两种算法都要好。

  • 6
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值