-
Lasso回归
- 通过构造一个一阶惩罚函数获得一个精炼的模型;通过最终确定一些指标(变量)的系数为零(岭回归估计系数等于零0的机会微乎其微,造成筛选变量困难),解释力很强。
- 擅长处理具有多重共线性的数据,与岭回归一样是有偏估计。
- 如下图
蓝色部分为限制区域,即取值应该在蓝色区域内或边缘,红色的线为loss的等高线,离黑色的中心点越近loss越小。
由上图可以看出lasso回归可以使其中的一个参数为0,岭回归则困难。-
lasso sklearn实战 -
import numpy as np from numpy import genfromtxt from sklearn import linear_model # 读入数据 data = genfromtxt("longley.csv",delimiter=',') # 切分数据 x_data = data[1:,2:] y_data = data[1:,1] # 创建模型 model = linear_model.LassoCV() model.fit(x_data, y_data) # lasso系数 print(model.alpha_) # 相关系数 print(model.coef_) 20.03464209711722 [0.10206856 0.00409161 0.00354815 0. 0. 0. ] model.predict(x_data[-2,np.newaxis]) array([115.6461414])
线性回归与非线性回归:1.9 lasso回归及实战
最新推荐文章于 2023-11-15 22:03:27 发布