三、lasso回归
1、原理
【拉格朗日乘数法】
对于参数w增加一个限定条件,能到达和岭回归一样的效果:
在lambda足够小的时候,一些系数会因此被迫缩减到0
-
定义一系列的缩减系数,创建Lasso模型
x轴的取值范围为log10-10 ~ log10-2 -
绘制图像
查看图像
-
缩减范围
查看图像
从图像中可以发现,引入的惩罚项的系数λ在不断缩减,当取值范围大于log10-1 后趋近于0,趋于稳定
四、普通线性回归、岭回归与lasso回归比较
1. 使用numpy创建一些数据
随机打乱200个数,将打乱的200个数中取前190个设置为0
2. 自定义线性回归
3. 分别创建三种模型,并且训练预测
- 普通线性回归模型
- 岭回归模型
- Lasso回归模型
4. 画出三种回归系数和真实的系数之间的对比图
查看图像
通过图像对比,在这个模型中, Lasso回归是最接近的,所以在这个模型中,用 Lasso回归是最好的选择
五、练习
预测鲍鱼的年龄
1. 导入数据
这是一个无头数据,前7列数据是鲍鱼的一些体质特征,第8列数据是鲍鱼的年龄
2. 创建普通线性回归模型
3. 训练并进行预测
4. 查看误差
可以发现,这个模型没有过拟合
预测一只鲍鱼,特征如下:
这个数据给的有点离谱,预测的话,年龄是87岁左右