解析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 相关文章推荐
python网页请求urllib2模块简单封装代码
Feb 07 Python
python使用循环实现批量创建文件夹示例
Mar 25 Python
pygame实现弹力球及其变速效果
Jul 03 Python
Django MEDIA的配置及用法详解
Jul 25 Python
python中seaborn包常用图形使用详解
Nov 25 Python
Python实现获取当前目录下文件名代码详解
Mar 10 Python
如何在django中实现分页功能
Apr 22 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
sklearn的predict_proba使用说明
Jun 28 Python
python实现学生管理系统开发
Jul 24 Python
Python脚本调试工具安装过程
Jan 11 Python
解决pytorch 数据类型报错的问题
Mar 03 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入门教程 精简版
2009/12/13 PHP
fgetcvs在linux的问题
2012/01/15 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
php中的依赖注入实例详解
2019/08/14 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
js选择器全面解析
2016/06/27 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
初一生物教学反思
2014/01/18 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
读书活动实施方案
2014/03/10 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
昆虫记读书笔记
2015/06/26 职场文书
如何写好闭幕词
2019/04/02 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
导游词之青岛崂山
2019/12/27 职场文书