赞
踩
第二章.线性回归以及非线性回归
通过构造一个一阶惩罚函数获得一个精炼的模型;通过最终确定一些指标(变量)的系数为零,解释力很强
岭回归估计系数等于0的机会微乎其微,造成筛选变量困难
擅长处理具有多重共线性的数据,与岭回归一样是有偏估计
岭回归
LASSO
图像描述:
①.假设定义的函数里面只有β1和β2两个系数,有λ的限制条件时,可以绘制出图中的蓝色圆圈
②.图中的β^代表代价函数的最小值,一个圈代表一个代价函数的值,代价函数的值越小越好
③.图中红色点的是λ比较好的取值点(两个图像相切的点)
图像描述:
①.假设定义的函数里面只有β1和β2两个系数,有λ的限制条件时,可以绘制出图中的蓝色菱形
②.图中的β^代表代价函数的最小值,一个圈代表一个代价函数的值,代价函数的值越小越好
③.图中红色点的是λ比较好的取值点(两个图像相切的点)
④.相对来说,LASSO的β1的参数取值比较容易取到0,岭回归的参数比较难取到0
岭回归
图像描述:
①.不同的线代表不同的参数值
②.从右向左看,参数值不断的变小,通过增大正则项λ的系数,使得参数值不断变小,无限趋近于0,很难等于0
LASSO
图像描述:
①.不同的线代表不同的参数值
②.从右向左看,参数值不断的变小,通过增大正则项λ的系数,使得某些参数值等于0(等于0的参数可能是一些干扰参数,例如:噪声,或存在多重共线性的问题),选取少量参数构建模型,排除等于0的参数
import numpy as np from numpy import genfromtxt from sklearn import linear_model # 导入数据 data = genfromtxt('D:\\Data\\longley.csv', delimiter=',') # 数据切片 x_data = data[1:, 2:] y_data = data[1:, 1] # 创建模型 model = linear_model.LassoCV() # 拟合线性模型 model.fit(x_data, y_data) # lasso系数 coeff = model.alpha_ print('lasso系数:', coeff) # 相关系数 rCoeff = model.coef_ print('相关系数:', rCoeff) # 预测数据 pred = model.predict(x_data[2, np.newaxis]) print('第二行的预测数据:', pred, '实际数据:88.2')
①.数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。