sklearn之LASSO算法应用
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 np
from numpy import genfromtxt
from 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
sklearn之LASSO算法应用相关推荐
- 机器学习算法笔记——P22 sklearn—LASSO算法
机器学习算法笔记--P22 sklearn-LASSO算法 #!/usr/bin/env python # coding: utf-8# In[1]:import numpy as np from n ...
- LASSO算法确定指标权重的一次实践(python dataframe数据结构处理与数据读写 sklearn)
由于大创项目的需要,在尝试构建一个评分体系,并且使用该评分体系对企业进行评分,最后利用该评分对股票收益率进行预测.在一个指标体系中,需要确定指标的构成和各指标之间的权重. 而这个代码则是尝试着使用LA ...
- ML之LiRLasso:基于datasets糖尿病数据集利用LiR和Lasso算法进行(9→1)回归预测(三维图散点图可视化)
ML之LiR&Lasso:基于datasets糖尿病数据集利用LiR和Lasso算法进行(9→1)回归预测(三维图散点图可视化) 目录 基于datasets糖尿病数据集利用LiR和Lasso算 ...
- 数据预处理与特征工程—9.Lasso算法实现特征选择
文章目录 引言 实战 引言 为什么Lasso算法可以用于特征选择呢?因为Lasso算法可以使特征的系数进行压缩并且可以使某些回归系数为0,即不选用该特征,因此可以进行特征选择.而与它同为线性回归正 ...
- 第二章.线性回归以及非线性回归—LASSO算法
第二章.线性回归以及非线性回归 2.13 LASSO算法 1.前期导入: 通过构造一个一阶惩罚函数获得一个精炼的模型:通过最终确定一些指标(变量)的系数为零,解释力很强 岭回归估计系数等于0的机会微乎 ...
- 用Python对案例进行Ridge算法和Lasso算法的比较
文章目录 1. 加载数据 2.数据处理 3.划分数据 4.搭建管道 5.数据分割 6. 画图 7. 特别说明 1. 加载数据 import numpy as np import matplotlib ...
- 【机器学习】LASSO算法弹性网络
1.在上一次我们说了Rigde回归.在那之间我们说了对于代价函数有两种正则化的方式:L1正则化和L2正则化.这两种正则化的目的有一个很重要的共同点就是抵抗多重共线性,在岭回归中我们使用的是L2正则化, ...
- Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型
Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录
- sklearn LDA降维算法
sklearn LDA降维算法 LDA(Linear Discriminant Analysis)线性判断别分析,可以用于降维和分类.其基本思想是类内散度尽可能小,类间散度尽可能大,是一种经典的监督式 ...
最新文章
- Py之xlutils:xlutils的简介、安装、使用方法之详细攻略
- bzoj 4515: [Sdoi2016]游戏
- 软件设计原则(二)单一职责原则 -Single Responsibility Principle
- MapXtreme 安装、编码及打包注意事项
- Nginx配置文件详细说明(转)
- mysql oracle 数据类型转换_Mysql与Oracle之间的数据类型转换
- Linux的shell编程(二)
- 7月-伟大的事业,一般都是在下半年完成的
- UOS开启开发者模式
- python把多个人声分离_python音轨分离神器
- php在线拍照代码,PHP+Javascript实现在线拍照功能实例_php技巧
- Visio如何画箭头
- 接口测试如何生成随机的参数值
- html中如何淡化背景图片,Word2010如何去除图片背景
- 目前开发人工日多少钱_行内人解读开发一个App需要多少钱?-今日头条
- linux安装gcc5.4教程,arm-linux-gcc-5.4.0安装方法
- flutter编译遇到unknown revision or path not in the working tree的错误
- 《c语言入门经典》Ivor Horton第十章练习题4
- 第二章 随机变量及其分布
- 划分计算机发展的四个阶段主要依据,计算机的发展划分为4个阶段,分别为什么、什么、什么和什么。...