解析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检测QQ在线状态的方法
May 09 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
Python实现简单的四则运算计算器
Nov 02 Python
Python深入06——python的内存管理详解
Dec 07 Python
Python 对象中的数据类型
May 13 Python
python的mysqldb安装步骤详解
Aug 14 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
python 实现屏幕录制示例
Dec 23 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
python读取csv文件指定行的2种方法详解
Feb 13 Python
Python实现归一化算法详情
Mar 18 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
简单的php数据库操作类代码(增,删,改,查)
2013/04/08 PHP
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
js读取配置文件自写
2014/02/11 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
Vue.js的模板语法详解
2020/02/16 Javascript
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python中的zipfile模块使用详解
2015/06/25 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
keras 多任务多loss实例
2020/06/22 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
自荐信结尾
2013/10/27 职场文书
医学专业五年以上个人求职信
2013/12/03 职场文书
竞选演讲稿范文
2013/12/28 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
推广活动策划方案
2014/08/23 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
2014年路政工作总结
2014/12/10 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书