解析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 socket编程实例详解
May 27 Python
python去除文件中空格、Tab及回车的方法
Apr 12 Python
Python程序中的观察者模式结构编写示例
May 27 Python
Python实现简易Web爬虫详解
Jan 03 Python
简单了解python代码优化小技巧
Jul 08 Python
python基于pdfminer库提取pdf文字代码实例
Aug 15 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
简单了解Python write writelines区别
Feb 27 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
python爬虫爬取图片的简单代码
Jan 18 Python
python某漫画app逆向
Mar 31 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 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
解析crontab php自动运行的方法
2013/06/24 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
判断window.onload是否多次使用的方法
2014/09/21 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
Vue.js实现分页查询功能
2020/11/15 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python实现在windows下操作word的方法
2015/04/28 Python
Python列表解析配合if else的方法
2018/06/23 Python
Windows下python3.6.4安装教程
2018/07/31 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
PyTorch实现AlexNet示例
2020/01/14 Python
浅谈Python 参数与变量
2020/06/20 Python
python中的错误如何查看
2020/07/08 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
Python截图并保存的具体实例
2021/01/14 Python
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
人事任命书格式
2014/06/05 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书