lasso回归_生存分析之lasso回归代码

本文介绍lasso回归在生存分析中的应用,提供相关代码,并简单解析结果。通过列%Dev展示了模型的解释能力,高比例表示模型表现优秀。后续将详细解读图表。
54b87750edefbc40d1101f75823245f1.gif 点击上方“小梦游仙境” 带你去看小星星 1a2679c94fc953b17c8ed468b6551e49.png

代码来自老大github:https://github.com/jmzeng1314/tcga_example中的step05-lasso

这篇仅仅是代码,图片的解析后面学习过再继续记录呢~

e9d1525b4ee81651f3f06353dd0c2354.gif获得生存资料和表达矩阵数据
rm(list=ls())
options(stringsAsFactors = F)

Rdata_dir='../Rdata/'
Figure_dir='../figures/'
# 加载上一步从RTCGA.miRNASeq包里面提取miRNA表达矩阵和对应的样本临床信息。
load( file = 
        file.path(Rdata_dir,'TCGA-KIRC-miRNA-example.Rdata')
)
dim(expr)
dim(meta)
# 可以看到是 537个病人,但是有593个样本,每个样本有 552个miRNA信息。
# 当然,这个数据集可以下载原始测序数据进行重新比对,可以拿到更多的miRNA信息

# 这里需要解析TCGA数据库的ID规律,来判断样本归类问题。
group_list=ifelse(as.numeric(substr(colnames(expr),14,15)) 10,'tumor','normal')

table(group_list)
exprSet=na.omit(expr)

table(group_list)
exprSet=na.omit(expr)
dim(exprSet)
load(  file = 
         file.path(Rdata_dir,'TCGA
### Lasso回归的使用方法与原理 Lasso回归(Least Absolute Shrinkage and Selection Operator)是一种基于线性回归的扩展模型,其核心在于通过加入L1正则化项来实现特征选择和防止过拟合的功能。以下是关于Lasso回归的具体原理和使用方法: #### 原理概述 Lasso回归的目标是最小化损失函数的同时增加一个正则化约束条件。它的目标函数可以表示为: \[ J(\beta) = \frac{1}{2n} \|X\beta - y\|_2^2 + \lambda \|\beta\|_1 \] 其中 \( X \) 是输入矩阵,\( y \) 是目标向量,\( \beta \) 表示模型参数,\( n \) 是样本数量,\( \lambda \) 是控制正则化强度的超参数[^3]。 由于L1正则化的存在,Lasso回归倾向于将某些特征的系数压缩至0,从而实现了自动特征选择的效果。这是因为它会惩罚较大的权重值,并促使许多较小的权重变为零[^4]。 #### 实现方式 在实际应用中,可以通过多种编程库实现Lasso回归。以下是一个Python代码示例,展示如何利用`scikit-learn`库完成Lasso回归的任务: ```python from sklearn.linear_model import Lasso import numpy as np # 创建模拟数据集 np.random.seed(42) X = np.random.rand(100, 5) # 100个样本,5个特征 y = 3 * X[:, 0] + 2 * X[:, 1] - 4 * X[:, 2] + np.random.randn(100) # 初始化Lasso模型 lasso = Lasso(alpha=0.1) # alpha对应于λ,调节正则化程度 # 训练模型 lasso.fit(X, y) # 输出模型系数 print("Coefficients:", lasso.coef_) ``` 在这个例子中,我们创建了一个简单的五维数据集,并训练了一个Lasso回归模型。通过调整`alpha`参数,我们可以改变正则化的强弱,进而影响哪些特征会被保留或舍弃[^1]。 #### 特征选择的能力 Lasso回归的一个显著优势是它可以作为特征选择工具。当面对高维度的数据时,很多无关紧要或者冗余的特征可能会干扰模型的表现。借助Lasso回归,这些无意义的特征往往被赋予零权值,从而使最终模型更加简洁高效[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值