lasso回归_R 语言 lasso回归

本文介绍了如何在R语言中利用lasso回归进行变量筛选,特别是在基因数据分析中的应用。通过使用glmnet包,利用交叉验证确定超参数lamda,并以线性回归为例展示具体步骤。最终,通过4折交叉验证找到最小误差对应的lamda值,并展示只剩两个变量的系数结果。
摘要由CSDN通过智能技术生成

在基因数据的分析中,经常会用到lasso(套索)这种方法来进行变量的筛选,其实就是在目标优化函数后边加一个L1正则化项,其中参数lamda为超参数,需要我们去确定。接下来以线性回归为例介绍其在R语言中的实现,当然在logistic回归、cox回归也是可用lasso的。

实例数据

data("longley")

e21df80c82ca0b650265d4b3d9e1844f.png

R包(glmnet)

library(glmnet)

我们用交叉验证来确定lamda的值,在这里我们随便指定使用nfolds=4 4折交叉验证,实际中常用5折或者10折。以Employed为因变量,其余变量为自变量(不包括年份)建立模型

set.seed(123)x <- as.matrix(longley[,-c(6,7)])cv_lasso = cv.glmnet(x, longley$Employed,nfolds = 4,family = "gaussian", alpha = 1)

在这里对应于mse最小的lamda即为我们最终采用的lamda,lambda.min就是所求,大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值