解析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远程登录代码
Apr 29 Python
python实现简单socket程序在两台电脑之间传输消息的方法
Mar 13 Python
python将字符串转换成数组的方法
Apr 29 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
python进阶_浅谈面向对象进阶
Aug 17 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
python并发编程之线程实例解析
Dec 27 Python
python3将视频流保存为本地视频文件
Jun 20 Python
利用Python如何生成便签图片详解
Jul 09 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
Django认证系统实现的web页面实现代码
Aug 12 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的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
使用JavaScript switch case 另类写法
2010/03/14 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python实现的计数排序算法示例
2017/11/29 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
python中K-means算法基础知识点
2021/01/25 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
业务员岗位职责
2013/11/16 职场文书
美术国培研修感言
2014/02/12 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
就业推荐表导师评语
2014/12/31 职场文书
实习介绍信范文
2015/05/05 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL