sklearn之LASSO算法应用
发布日期:2021-05-28 17:02:17 浏览次数:11 分类:技术文章

本文共 1047 字,大约阅读时间需要 3 分钟。

sklearn之LASSO算法应用

前言: 本文介绍LASSO算法理论以及sklearn中Lasso算法如何调用和使用

一、LASSO算法和岭回归算法对比

•Tibshirani(1996)提出了Lasso(The Least Absolute Shrinkage and
Selectionator operator)算法。
• 通过构造一个一阶惩罚函数获得一个精炼的模型;通过最终确定一些
指标(变量)的系数为零(岭回归估计系数等于0的机会微乎其微,
造成筛选变量困难),解释力很强。
• 擅长处理具有多重共线性的数据,与岭回归一样是有偏估

在这里插入图片描述

LASSO算法的代价函数和岭回归的代价函数都是为了防止过拟合,但是,岭回归算法很难使得模型参数为0,而LASSO算法可以使得模型中的很多参数(对于本数据模型训练影响不大)为0,进而使得模型的特征要素减少

二、sklearn中应有LASSO算法示例代码

import numpy as npfrom numpy import genfromtxtfrom sklearn import linear_model# 读取数据data = genfromtxt(r'longley.csv', delimiter=',')# 切分数据x_data = data[1:, 2:]y_data = data[1:, 1, np.newaxis]# 训练模型model = linear_model.LassoCV()model.fit(x_data, y_data)# 训练后选择的lasso系数print(model.alpha_)# 训练后线性模型参数print(model.coef_)# 预测值print(model.predict(x_data[-2, np.newaxis]))print(y_data[-2])  # 真实值

三、代码执行结果

20.03464209711722[0.10206856 0.00409161 0.00354815 0.         0.         0.        ][115.6461414][115.7]

由上面结果可知,LASSO算法会自动得到一个合适的λ值,并且其训练出的模型中有很多参数为0 ,可以认为参数为0的特征是不重要的特征,可以舍弃,进而简化模型。

四、数据下载

链接:https://pan.baidu.com/s/14xi9nAW4DyY3mWFp_GTb0w
提取码:3kf3

转载地址:https://blog.csdn.net/qq_34720818/article/details/105865215 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:sklearn值弹性网算法应用以及线性回归模型算法总结
下一篇:标准方程法的改进--岭回归算法的python实现

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年02月21日 15时56分40秒