解析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和pyqt实现360的CLable控件
Feb 21 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
使用python实现生成用户信息
Mar 20 Python
Python 模拟购物车的实例讲解
Sep 11 Python
Python实现按特定格式对文件进行读写的方法示例
Nov 30 Python
解决pyttsx3无法封装的问题
Dec 24 Python
Python实现计算文件MD5和SHA1的方法示例
Jun 11 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
python实现引用其他路径包里面的模块
Mar 09 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 Python
Python OpenCV实现图形检测示例详解
Apr 08 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+MYSQL的文章管理系统(一)
2006/10/09 PHP
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
python数据处理实战(必看篇)
2017/06/11 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
基于python实现百度翻译功能
2019/05/09 Python
基于python实现学生信息管理系统
2019/11/22 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
python selenium 获取接口数据的实现
2020/12/07 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
PHP面试题大全
2015/10/16 面试题
班组长安全职责
2014/01/05 职场文书
社区学习十八大感想
2014/01/22 职场文书
警示教育观后感
2015/06/17 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript