解析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是编译运行的验证方法
Jan 30 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
在Python的struct模块中进行数据格式转换的方法
Jun 17 Python
Python while 循环使用的简单实例
Jun 08 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
python django使用haystack:全文检索的框架(实例讲解)
Sep 27 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
python 单线程和异步协程工作方式解析
Sep 28 Python
用Python画小女孩放风筝的示例
Nov 23 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 Python
python3使用diagrams绘制架构图的步骤
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防注入安全代码
2008/04/09 PHP
php设计模式 Facade(外观模式)
2011/06/26 PHP
PHP daddslashes 使用方法介绍
2012/10/26 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
JS location几个方法小姐
2008/07/09 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
Node.js的特点详解
2017/02/03 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
基于jQuery拖拽事件的封装
2020/11/29 jQuery
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
python实现飞机大战
2018/09/11 Python
Python openpyxl读取单元格字体颜色过程解析
2019/09/03 Python
详解Python模块化编程与装饰器
2021/01/16 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
外贸英语专业求职信范文
2013/12/25 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
负责人任命书范本
2014/06/04 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
先进个人评语大全
2015/01/04 职场文书
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS