Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >R语言Lasso回归模型变量选择和糖尿病发展预测模型

R语言Lasso回归模型变量选择和糖尿病发展预测模型

作者头像
拓端
发布于 2021-06-15 11:52:41
发布于 2021-06-15 11:52:41
4.4K00
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=22721

Lease Absolute Shrinkage and Selection Operator(LASSO)在给定的模型上执行正则化和变量选择。根据惩罚项的大小,LASSO将不太相关的预测因子缩小到(可能)零。因此,它使我们能够考虑一个更简明的模型。在这组练习中,我们将在R中实现LASSO回归。

练习1

加载糖尿病数据集。这有关于糖尿病的病人水平的数据。数据为n = 442名糖尿病患者中的每个人获得了10个基线变量、年龄、性别、体重指数、平均血压和6个血清测量值,以及感兴趣的反应,即一年后疾病进展的定量测量。"

接下来,加载包用来实现LASSO。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
head(data)

向下滑动查看结果▼

练习2

数据集有三个矩阵x、x2和y。x是较小的自变量集,而x2包含完整的自变量集以及二次和交互项。 检查每个预测因素与因变量的关系。生成单独的散点图,所有预测因子的最佳拟合线在x中,y在纵轴上。用一个循环来自动完成这个过程。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
summary(x)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for(i in 1:10){
  plot(x\[,i\], y)
  abline(lm(y~x\[,i\])
}

向下滑动查看结果▼

练习3

使用OLS将y与x中的预测因子进行回归。我们将用这个结果作为比较的基准。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lm(y ~ x)

向下滑动查看结果▼

练习4

绘制x的每个变量系数与β向量的L1准则的路径。该图表明每个系数在哪个阶段缩减为零。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(model_lasso)

向下滑动查看结果▼

练习5

得到交叉验证曲线和最小化平均交叉验证误差的lambda的值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(cv_fit)

向下滑动查看结果▼

练习6

使用上一个练习中的lambda的最小值,得到估计的β矩阵。注意,有些系数已经缩减为零。这表明哪些预测因子在解释y的变化方面是重要的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> fit$beta

向下滑动查看结果▼

练习7

为了得到一个更简明的模型,我们可以使用一个更高的λ值,即在最小值的一个标准误差之内。用这个lambda值来得到β系数。注意,现在有更多的系数被缩减为零。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lambda.1se
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
beta

向下滑动查看结果▼

练习8

如前所述,x2包含更多的预测因子。使用OLS,将y回归到x2,并评估结果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
summary(ols2)

向下滑动查看结果▼

练习9

对新模型重复练习-4。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lasso(x2, y)plot(model_lasso1)

向下滑动查看结果▼

练习10

对新模型重复练习5和6,看看哪些系数被缩减为零。当有很多候选变量时,这是缩小重要预测变量的有效方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(cv_fit1)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
beta

向下滑动查看结果▼


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
R语言Lasso回归模型变量选择和糖尿病发展预测模型|附代码数据
Lease Absolute Shrinkage and Selection Operator(LASSO)在给定的模型上执行正则化和变量选择
拓端
2022/12/19
1K0
R语言Lasso回归模型变量选择和糖尿病发展预测模型|附代码数据
Lease Absolute Shrinkage and Selection Operator(LASSO)在给定的模型上执行正则化和变量选择
拓端
2022/11/09
1.1K0
高维变量选择专题|R、Python用HOLP、Lasso、SCAD、PCR、ElasticNet实例合集分析企业财务、糖尿病
本专题合集聚焦高维数据场景下的稀疏建模与变量选择,通过 R 语言与 Python 双平台技术栈,系统解析企业财务分析与基因数据挖掘两大领域的核心方法论。合集深度整合 HOLP-Adaptive Lasso 二阶段模型、SCAD 平滑剪切绝对偏差惩罚、主成分回归(PCR)、弹性网络(Elastic Net)等前沿算法,结合国泰安 2021 年信息技术企业财务数据集与哺乳动物基因表达数据集,构建完整的高维数据分析闭环(点击文末“阅读原文”获取完整代码、数据、文档)。
拓端
2025/03/20
1120
高维变量选择专题|R、Python用HOLP、Lasso、SCAD、PCR、ElasticNet实例合集分析企业财务、糖尿病
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据|附代码数据
最近我们被客户要求撰写关于高维数据惩罚回归方法的研究报告,包括一些图形和统计输出。
拓端
2023/04/12
8360
R语言组lasso改进逻辑回归变量选择分析高血压、易感因素、2型糖尿病和LDL可视化
本文用逻辑回归和lasso算法医学上的疾病的相关因素,帮助客户确定哪种模型可用于某种疾病的相关因素分析。3个模型:Logistic模型、成组Lasso Logistic模型、由组Lasso选出协变量的Logistic模型,有3个易感因素、高血压、2型糖尿病和LDL,得出误差率和变量数目的图。
拓端
2023/06/29
5710
临床预测模型概述6-统计模型实操-Lasso回归
tps://mp.weixin.qq.com/s/pXRZ1rYUr3lwH5OlDeB0_Q
凑齐六个字吧
2024/08/09
2160
临床预测模型概述6-统计模型实操-Lasso回归
R中进行Lasso回归模型分析
Lasso分析可使用glmnet包中的cv.glmnet函数来执行Lasso回归,并通过交叉验证选出最优的正则化参数λ。下面通过R中著名的mtcars数据集来进行展示。
R语言数据分析指南
2024/03/20
1.8K0
R中进行Lasso回归模型分析
R语言Bootstrap的岭回归和自适应LASSO回归可视化
注意系数是以稀疏矩阵格式表示的,因为沿着正则化路径的解往往是稀疏的。使用稀疏格式在时间和空间上更有效率
拓端
2021/07/16
2.2K0
R语言Bootstrap的岭回归和自适应LASSO回归可视化
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现|附代码数据
Glmnet是一个通过惩罚最大似然关系拟合广义线性模型的软件包。正则化路径是针对正则化参数λ的值网格处的lasso或Elastic Net(弹性网络)惩罚值计算的 ( 点击文末“阅读原文”获取完整代码数据******** )。
拓端
2022/11/08
3.1K0
R语言实现LASSO回归模型
我们知道广义线性模型包括了一维连续因变量、多维连续因变量、非负次数因变量、二元离散因变量、多元离散因变等的回归模型。然而LASSO对以上的数据类型都适合,也可以说LASSO 回归的特点是在拟合广义线性模型的同时进行变量筛选(variable selection)和复杂度调整(regularization)。变量筛选是指不把所有的变量都放入模型中进行拟合,而是有选择的把变量放入模型从而得到更好的性能参数。复杂度调整是指通过一系列参数控制模型的复杂度,从而避免过度拟合(Overfitting)。总的来说LASSO对数据的要求很低。对于线性模型来说,复杂度与模型的变量数有直接关系,变量数越多,模型复杂度就越高。 更多的变量在拟合时往往可以给出一个看似更好的模型,但是同时也面临过度拟合的危险。此时如果用全新的数据去验证模型(validation),通常效果很差。 一般来说,变量数大于数据点数量很多,或者某一个离散变量有太多独特值时,都有可能过度拟合。
一粒沙
2019/07/31
12K0
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
Lasso回归模型,是常用线性回归的模型,当模型维度较高时,Lasso算法通过求解稀疏解对模型进行变量选择。Lars算法则提供了一种快速求解该模型的方法。Lars算法的基本原理有许多其他文章可以参考,这里不过多赘述, 这里主要简介如何在R中利用lars算法包求解线性回归问题以及参数的选择方法。
全栈程序员站长
2022/09/14
2.8K0
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
岭回归与LASSO回归:解析两大经典线性回归方法
岭回归,又称L2正则化,是一种用于解决多重共线性问题的线性回归技术。多重共线性是指自变量之间存在高度相关性的情况,这会导致普通最小二乘法(OLS)估计的不稳定性,使得模型的预测性能下降。岭回归通过在损失函数中添加一个正则化项来解决这个问题,其数学表达式如下:
小馒头学Python
2023/11/23
6K0
岭回归与LASSO回归:解析两大经典线性回归方法
Python数据挖掘 | 实战案例之预测糖尿病
豌豆贴心提醒,本文阅读时间7分钟 今天给大家讲解一个实战案例:如何根据现有数据预测糖尿病。在这个案例开始之前,希望大家回忆一下大学里讲过的线性回归的知识,这是数据挖掘里非常重要的一部分知识。当然,鉴于大家都学过,本篇就不再赘述。 一. 数据集介绍 diabetes dataset数据集 这是一个糖尿病的数据集,主要包括442行数据,10个属性值,分别是:Age(年龄)、性别(Sex)、Body mass index(体质指数)、Average Blood Pressure(平均血压
小小科
2018/05/02
3.3K0
Python数据挖掘 | 实战案例之预测糖尿病
临床研究新风向,巧用LASSO回归构建属于你的心仪模型
对于医生来说,如果有某种“特定功能”来预测患者是否会有未知结果,那么许多医疗实践模式或临床决策都会改变。在临床上,几乎每天我们都会听到这样的叹息:“如果我能提前知道,我当然不会这样做!”。举个简单的例子,如果我们可以预测患有恶性肿瘤的患者对某种化疗药物耐药,那么我们将不会选择给患者服用该药物;如果我们可以预测患者在手术过程中可能出现大出血,那么我们将谨慎操作并为患者准备足够的血液制品;如果我们可以预测高脂血症患者不会从某些降脂药物中受益,那么我们可以避免许多无意义的医疗干预。
用户6317549
2020/04/27
4.1K0
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
Glmnet是一个通过惩罚最大似然来拟合广义线性模型的包。正则化路径是针对正则化参数λ的值网格处的套索或弹性网络罚值计算的。该算法速度极快,可以利用输入矩阵中的稀疏性x。它符合线性,逻辑和多项式,泊松和Cox回归模型。可以从拟合模型中做出各种预测。它也可以适合多响应线性回归。
拓端
2020/08/17
1.5K0
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
机器学习测试笔记(12)——线性回归方法(下)
,这样当y=0, g(x)’=0.5; y>0, g(x)’>0.5且趋于1;y<0, g(x)’<0.5且趋于0,从而达到二分类的目的。sklearn.linear_model通过LogisticRegression类实现逻辑回归。
顾翔
2021/01/04
5460
机器学习测试笔记(12)——线性回归方法(下)
群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化|附代码数据
本文介绍具有分组惩罚的线性回归、GLM和Cox回归模型的正则化路径。这包括组选择方法,如组lasso套索、组MCP和组SCAD,以及双级选择方法,如组指数lasso、组MCP
拓端
2023/07/21
3610
r语言中对LASSO,Ridge岭回归和Elastic Net模型实现
Glmnet是一个通过惩罚最大似然来拟合广义线性模型的包。正则化路径是针对正则化参数λ的值网格处的套索或弹性网络罚值计算的。该算法速度极快,可以利用输入矩阵中的稀疏性x。它符合线性,逻辑和多项式,泊松和Cox回归模型。可以从拟合模型中做出各种预测。它也可以适合多响应线性回归。
拓端
2020/08/22
1.7K0
最强总结!8个线性回归核心点!!
那从今天开始,我预计会陆陆续续出一些内容,来论述各个算法的基础核心点,大家感兴趣可以关注起来。
Python编程爱好者
2024/05/13
8130
最强总结!8个线性回归核心点!!
R语言JAGS贝叶斯回归模型分析博士生延期毕业完成论文时间|附代码数据
本文为读者提供了如何进行贝叶斯回归的基本教程。包括完成导入数据文件、探索汇总统计和回归分析
拓端
2022/12/23
8670
推荐阅读
R语言Lasso回归模型变量选择和糖尿病发展预测模型|附代码数据
1K0
R语言Lasso回归模型变量选择和糖尿病发展预测模型|附代码数据
1.1K0
高维变量选择专题|R、Python用HOLP、Lasso、SCAD、PCR、ElasticNet实例合集分析企业财务、糖尿病
1120
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据|附代码数据
8360
R语言组lasso改进逻辑回归变量选择分析高血压、易感因素、2型糖尿病和LDL可视化
5710
临床预测模型概述6-统计模型实操-Lasso回归
2160
R中进行Lasso回归模型分析
1.8K0
R语言Bootstrap的岭回归和自适应LASSO回归可视化
2.2K0
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现|附代码数据
3.1K0
R语言实现LASSO回归模型
12K0
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
2.8K0
岭回归与LASSO回归:解析两大经典线性回归方法
6K0
Python数据挖掘 | 实战案例之预测糖尿病
3.3K0
临床研究新风向,巧用LASSO回归构建属于你的心仪模型
4.1K0
r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
1.5K0
机器学习测试笔记(12)——线性回归方法(下)
5460
群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化|附代码数据
3610
r语言中对LASSO,Ridge岭回归和Elastic Net模型实现
1.7K0
最强总结!8个线性回归核心点!!
8130
R语言JAGS贝叶斯回归模型分析博士生延期毕业完成论文时间|附代码数据
8670
相关推荐
R语言Lasso回归模型变量选择和糖尿病发展预测模型|附代码数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验