解析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 相关文章推荐
使用url_helper简化Python中Django框架的url配置教程
May 30 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
python实现按行分割文件
Jul 22 Python
使用python实现对元素的长截图功能
Nov 14 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
Numpy 多维数据数组的实现
Jun 18 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
Python下使用Trackbar实现绘图板
Oct 27 Python
Python中openpyxl实现vlookup函数的实例
Oct 28 Python
Python调用腾讯API实现人脸身份证比对功能
Apr 04 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
MVC模式的PHP实现
2006/10/09 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
JavaScript中的闭包
2016/02/24 Javascript
angular2倒计时组件使用详解
2017/01/12 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
Python判断telnet通不通的实例
2019/01/26 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
Python爬虫开发与项目实战
2020/12/16 Python
法国珠宝店:CLEOR
2017/01/29 全球购物
公司年会主持词
2014/03/22 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
运动会演讲稿
2014/05/07 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP
配置nginx 重定向到系统维护页面
2021/06/08 Servers
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏