python lasso回归分析_解析python实现Lasso回归「建议收藏」

python lasso回归分析_解析python实现Lasso回归「建议收藏」Lasso原理Lasso与弹性拟合比较python实现importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.metricsimportr2_score#defmain():#产生一些稀疏数据np.random.seed(42)n_samples,n_features=50,200X=np.random.ran…

大家好,又见面了,我是你们的朋友全栈君。

Lasso原理

python 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 # 稀疏化系数–随机的把系数向量1×200的其中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实现Lasso回归,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137742.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 智慧小区云平台解决方案有哪些_智慧社区平台解决方案

    智慧小区云平台解决方案有哪些_智慧社区平台解决方案第1章概述智慧云社区是智慧城市概念之下的社区管理的一种新理念,是新形势下社会管理创新的一种新模式。智慧云社区是指充分利用物联网、云计算、移动互联网等新一代信息技术,为居民提供一个安全、舒适、便利的生活环境,从而形成基于信息化、智能化社会管理与服务的新型管理模式的社区。近几年来,随着国家智慧城市和智慧云社区建设工作的日益深入,在搭建云计算基础平台的同时,需要开发…

    2022年10月18日
    2
  • Redis连接时报错:Could not connect to Redis at 127.0.0.1:6379: Connection refused「建议收藏」

    Redis连接时报错:Could not connect to Redis at 127.0.0.1:6379: Connection refused「建议收藏」在安装好redis扩展尝试连接redis时,客户端打不开,原因是需要先开启服务端,这需要先配置redis.conf1.找到redis.conf并修改daemonizeno为daemonizeyes,这样就可以默认启动就后台运行2.使用配置开启redis服务redis-server/usr/local/redis-5.0.53.连接使用redisr…

    2022年5月20日
    54
  • RSA加密算法详解及例题

    RSA加密算法详解及例题这是我自己在学习RSA加密算法的时候自己整理的笔记,如需转载请注明出处RSA加密算法我这里就不对RSA的发明背景做介绍了,你只要知道RSA加密算法是非常非常重要的加密算法,放在现在的时代亦是如此。RSA加密算法的安全性是基于对极大整数做因数分解的困难。RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。例如:(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。(2)甲方获取乙方的公钥,然后用它对信息加密

    2022年6月12日
    69
  • 【SpringBoot】45、SpringBoot中整合JWT实现Token验证(注解篇)「建议收藏」

    前言上篇文章,我们已经在SpringBoot中整合了JWT并实现了Token验证,那我们在实际应用中就会发现,如果每个视图层(controller)都手动验证token,代码就会显得特别臃肿,本篇文章主要为了解决该问题。如果对整合JWT还不熟悉的朋友,可以先看看我的这篇博客:【SpringBoot】四十四、SpringBoot中整合JWT实现Token验证自定义注解1、创建自定义注解packagecom.asurplus.common.annotation;import

    2022年4月14日
    123
  • 60mph和kmh换算_mph换算器(速度计算器在线)「建议收藏」

    60mph和kmh换算_mph换算器(速度计算器在线)「建议收藏」mph是英里每时的意思吗?如何换算成千米每时?100mph=160.9kmhmph是英里每时的意思吗?如何换算成千米每时?mph是米/小时的意思mitersperhour也可写成m/hAkm/h=A*1000m/h玩极品飞车12,上面的速度是mph,怎么换算啊1英里=5280英尺=63360英寸=1609.344米汽车速度表上,英制的MPH与公制的km/…

    2022年6月28日
    82
  • 对于Redis中设置了过期时间的Key,你需要知道这些内容「建议收藏」

    对于Redis中设置了过期时间的Key,你需要知道这些内容

    2022年2月14日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号