学习笔记·Lasso回归进行特征基因筛选-R语言

Lasso回归是一种线性回归的变量选择方法,它可以用于在众多预测变量中选择最相关的变量。Lasso回归通过对回归系数进行L1正则化,将一些不重要的变量系数缩小到零,从而实现变量选择。

准备数据:1.每一行是一个样本,每一列为基因的基因表达矩阵;2.一列表示分组

# install.packages("glmnet")
library(glmnet)
data <- read.csv("all.csv")
rownames(data) <- data[,1]
data <- data[,-1]

#通过glmnet函数中的设置family参数定义采用的算法模型,比如设置cox
mod <- glmnet(data[,1:15],data[,16],family = "binomial")   
#family为可选模型(“gaussian”, “binomial”, “poisson”, “multinomial”, “cox”, “mgaussian”)
#binomial为二分类logistics回归,cox包含生存分析

##Lasso回归最重要的就是选择合适的λ值,可以通过cv.glmnet函数实现
cvmod <- cv.glmnet(as.matrix(data[,1:15]),as.matrix(data[,16]),family = "binomial")   # 交叉验证
cvmod
plot(mod,label = T,lwd=2)
plot(mod,xvar = "lambda",label = T,lwd=2)
plot(cvmod)
#基于该图选择最佳的λ,一般可以采用两个内置函数实现cvmod$lambda.min和 cvmod$lambda.1se
cvmod$lambda.min


##基因筛选,采用coef函数即可,有相应参数的gene则被保留,采用λ使用的是lambda.min
coef.min <- coef(cvmod,s="lambda.min")
coef.min
#第二列有数值是非点号的则代表被选择的基因

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值