解析python实现Lasso回归


Posted in Python onSeptember 11, 2019

Lasso原理

解析python实现Lasso回归

Lasso与弹性拟合比较python实现

import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import r2_score
#def main():
# 产生一些稀疏数据
np.random.seed(42)
n_samples, n_features = 50, 200
X = np.random.randn(n_samples, n_features) # randn(...)产生的是正态分布的数据
coef = 3 * np.random.randn(n_features)   # 每个特征对应一个系数
inds = np.arange(n_features)
np.random.shuffle(inds)
coef[inds[10:]] = 0 # 稀疏化系数--随机的把系数向量1x200的其中10个值变为0
y = np.dot(X, coef) # 线性运算 -- y = X.*w
# 添加噪声:零均值,标准差为 0.01 的高斯噪声
y += 0.01 * np.random.normal(size=n_samples)
# 把数据划分成训练集和测试集
n_samples = X.shape[0]
X_train, y_train = X[:n_samples // 2], y[:n_samples // 2]
X_test, y_test = X[n_samples // 2:], y[n_samples // 2:]
# 训练 Lasso 模型
from sklearn.linear_model import Lasso
alpha = 0.1
lasso = Lasso(alpha=alpha)
y_pred_lasso = lasso.fit(X_train, y_train).predict(X_test)
r2_score_lasso = r2_score(y_test, y_pred_lasso)
print(lasso)
print("r^2 on test data : %f" % r2_score_lasso)
# 训练 ElasticNet 模型
from sklearn.linear_model import ElasticNet
enet = ElasticNet(alpha=alpha, l1_ratio=0.7)
y_pred_enet = enet.fit(X_train, y_train).predict(X_test)
r2_score_enet = r2_score(y_test, y_pred_enet)
print(enet)
print("r^2 on test data : %f" % r2_score_enet)
plt.plot(enet.coef_, color='lightgreen', linewidth=2,
     label='Elastic net coefficients')
plt.plot(lasso.coef_, color='gold', linewidth=2,
     label='Lasso coefficients')
plt.plot(coef, '--', color='navy', label='original coefficients')
plt.legend(loc='best')
plt.title("Lasso R^2: %f, Elastic Net R^2: %f"
     % (r2_score_lasso, r2_score_enet))
plt.show()

运行结果

解析python实现Lasso回归

总结

以上所述是小编给大家介绍的python实现Lasso回归,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python3.2中的字符串函数学习总结
Apr 23 Python
Python计算已经过去多少个周末的方法
Jul 25 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
Python进阶_关于命名空间与作用域(详解)
May 29 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
python 使用pandas计算累积求和的方法
Feb 08 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
Python 分享10个PyCharm技巧
Jul 13 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
python 弧度与角度互转实例
Apr 15 Python
win10从零安装配置pytorch全过程图文详解
May 08 Python
python区块链实现简版工作量证明
May 25 Python
Python 点击指定位置验证码破解的实现代码
Sep 11 #Python
python实现的接收邮件功能示例【基于网易POP3服务器】
Sep 11 #Python
python实现的发邮件功能示例
Sep 11 #Python
python 字符串常用函数详解
Sep 11 #Python
python sqlite的Row对象操作示例
Sep 11 #Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 #Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 #Python
You might like
php session和cookie使用说明
2010/04/07 PHP
php中的观察者模式简单实例
2015/01/20 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
对Python中9种生成新对象的方法总结
2018/05/23 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
社区十八大感言
2014/01/19 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
五一劳动节活动记录
2014/03/23 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
初三语文教学计划
2015/01/22 职场文书
功夫熊猫观后感
2015/06/10 职场文书
MySQL优化及索引解析
2022/03/17 MySQL