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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java与python那个更好_java和python哪个更好用?

    java与python那个更好_java和python哪个更好用?互联网上的许多文章都举例论证了Python和Java之间的比较。但是没有人给出“java和python哪个更好用?”的明确理由。我们都知道,如今Python正在与几乎每种编程语言竞争。甚至它还在与世界上最强大的编程语言-Java竞争,Java是创建桌面应用程序的最佳编程语言之一。同时它也用于数据科学领域。因此,这两种编程语言在各个行业中都在相互竞争。在进行比较之前,让我们看一下这两种语言的概述。…

    2022年7月8日
    20
  • Android studio安装教程(2020/11/20最新版本的安装)[通俗易懂]

    Android studio安装教程(2020/11/20最新版本的安装)[通俗易懂]最新版Androidstudio的安装教程,安装步骤详细!对于gradle下不下来以及想整一个低版本的SDK的问题进行了解答!

    2022年5月23日
    382
  • Java集合篇:Hashtable原理详解(JDK1.8)

    Java集合篇:Hashtable原理详解(JDK1.8)

    2021年10月4日
    39
  • 26Region_awing

    26Region_awing给出 n 个点的一棵树,多次询问两点之间的最短距离。注意:边是无向的。所有节点的编号是 1,2,…,n。输入格式第一行为两个整数 n 和 m。n 表示点数,m 表示询问次数;下来 n−1 行,每行三个整数 x,y,k,表示点 x 和点 y 之间存在一条边长度为 k;再接下来 m 行,每行两个整数 x,y,表示询问点 x 到点 y 的最短距离。树中结点编号从 1 到 n。输出格式共 m 行,对于每次询问,输出一行询问结果。数据范围2≤n≤104,1≤m≤2×104,0<k≤1

    2022年8月9日
    4
  • VMProtect虚拟机保护分析入门

    VMProtect虚拟机保护分析入门开始以前在逆向分析的时候,遇见VMP的代码就束手无策,只能跳过。最近在分析的时候又遇见vmp,准备研究一下。我这次遇见的VMP用查壳工具看是VMProtect(1.60-2.05)[-]。所以本次选

    2022年7月1日
    30
  • pytest失败重试_arcmap重分类失败

    pytest失败重试_arcmap重分类失败安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

    2022年8月6日
    5

发表回复

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

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