热点资讯
管理系统开发公司 RNAseq-ML|randomForestSRC完成立地丛林生活分析-预后模子库+1
发布日期:2024-09-28 16:50 点击次数:197
机器学习构建预后模子的著作好多,且越来越卷,动不动便是10种模子的101种组合,这个系列会一一的先容这些常用于预后模子变量筛选和模子构建的机器学习重要。
图片
作家代码公开在github上了,GitHub - Zaoqu-Liu/IRLS: Machine learning-based integrative analysis develops an immune-derived lncRNA signature for improving clinical outcomes in colorectal cancer 不错自行下载 简略 后台回应 “机器学习”赢得下载好的。前边先容过了RNAseq|Lasso构建预后模子,绘制风险评分的KM 和 ROC弧线,本次先容使用randomForestSRC完成立地丛林的生活分析。
一 数据输入,科罚
复古使用前边Lasso得到的SKCM.uni-COX.RData数据(筛选过的未婚分预后显耀的基因),背面的更多机器学习的推文均会使用该数据
#载入R包library(tidyverse)library(openxlsx)library("survival")library("survminer")library(randomForestSRC)load("SKCM.uni-COX.RData")module_expr.cox2 <- module_expr.cox %>% select(- "_PATIENT") %>% column_to_rownames("sample")module_expr.cox2[1:6,1:6]
图片
将数据科罚成以上局势,含有 随访时间 + 生活情景 + 基因抒发信息。1,数据集拆分泛泛情况下是TCGA构建模子,然后在GEO中进行考据。这里仅为示例,径直按照7:3的比例将TCGA数据拆分为西宾集和考据集(背面会先容更多拆分重要)
# 7:3 拆分ind <- sample(nrow(module_expr.cox2),nrow(module_expr.cox2) * 0.7 )train <- module_expr.cox2[ind,]test <- module_expr.cox2[-ind,]##确保西宾集和考据集的基因一致gene_com <- intersect(colnames(train) ,colnames(test))training <- train %>% select(gene_com)testing <- test %>% select(gene_com)training[1:4,1:4]# OS OS.time TYRP1 IGKV4_1#TCGA-EE-A2MM-06A 1 5107 1.38460143 5.2408878#TCGA-EE-A2GE-06A 0 5286 0.04187911 10.1611678#TCGA-ER-A194-01A 1 1354 9.56901508 0.3122559#TCGA-EB-A44R-06A 1 315 0.06131739 7.3046339注:西宾集和考据集的基因一致,否则可能存在无法考据的情况。
二 构建就地丛林生活模子
1,rfsrc函数构建RSF 生活模子
个位号码:最近两期个位开出号码为8-0,在福彩3D历史开奖中,前后两期个位分别开出号码8-0的奖号出现了100次。最近15期个位8-0组合出现之后,其下期奖号分别为:067-456-954-144-755-723-440-426-477-799-314-111-659-899-581;
谛视建提拔地种子seed,纰漏以后复现;此外nodesize 值不错多建造几个尝试
fit <- rfsrc(Surv(OS.time,OS)~.,data = training, ntree = 1000, nodesize = 10, splitrule = 'logrank', importance = T, proximity = T, forest = T, seed = 1234)
图片
不错看到该模子含有320样本,537个基因。2,首要性变量使用就地丛林生活分析进行变量筛选,主要依据的便是每个基因的首要性值 ,该数据在fit$importance中,管理系统开发公司这里示例查察TOP20 的基因谛视:这里的首要性基因不会得到文献中常提到的基因前边的所有这个词,所有这个词不错通过将首要基因进行多身分COX生活分析得到。
importance_gene <- data.frame(fit$importance) %>% rownames_to_column("gene") %>% arrange(- fit.importance) %>% head(20) importance_gene
图片
(1)使用plot函数径直可视化plot(fit,10)
图片
(2)使用ggplot2绘制柱形图使用reorder函数进行排序
ggplot(data=importance_gene, aes(x = reorder(gene, fit.importance), y=fit.importance,fill=gene)) + geom_bar(stat="identity") + theme_classic() + theme(legend.position = 'none') + coord_flip()
图片
这么就不会拥堵在通盘,且可自界说情愫。
三 RSF模子考据
这内部先容2种考据形状,第一种起到了和Lasso相同的筛选基因的作用,第二种是径直考据。
1,使用RSF得到的首要基因构建COX模子(1)在上头的importance_gene文献中,字据fit.importance建造阈值,然后选出候选基因 简略
(2)在上头的importance_gene文献中,径直礼聘TOP几许的基因看成候选基因。
然后将候选基因构建多身分COX模子,这么就不错得到文献中常见的基因所有这个词。
注:这里的阈值和TOP莫得固定的cutoff ,效果导向即可。
2,RSF模子径直考据集瞻望径直使用考据集考据模子,得到每个样本的所有这个词,然后不错使用生活分析得到Cindex以及KM弧线等。
(1)C-index
fit.p <- predict(fit, as.data.frame(testing))testing$RSF_p <- as.vector(fit.p$predicted)#打算C indextesting_surv <- coxph(Surv(OS.time, OS) ~ fit.p$predicted,data = testing)summary(testing_surv)$concordance
C se(C) 0.64523954 0.03881865
(2)KM弧线
testing$RSF_score <- ifelse(testing$RSF_p > median(testing$RSF_p),"High","Low")fit <- survfit(Surv(OS.time, as.numeric(OS)) ~ RSF_score, data=testing)ggsurvplot(fit, data = testing, pval = T, risk.table = T, surv.median.line = "hv", #添加中位生活弧线 palette=c("red", "blue"), #转换线的情愫 legend.labs=c("High risk","Low risk"), #标签 legend.title="RiskScore", title="Overall survival", #标题 ylab="Cumulative survival (percentage)",xlab = " Time (Days)", #转换横纵坐标 censor.shape = 124,censor.size = 2,conf.int = FALSE, #删失点的时势和大小break.x.by = 720#横坐标阻隔)
图片
这么就完成了就地丛林生活模子筛选变量简略瞻望的先容,Lasso以外不错多一种尝试了。
参考贵寓:
[1] Getting starting with the randomForestSRC R-package for random forest analysis of regression, classification, survival and more · Fast Unified Random Forests with randomForestSRC
[2] Machine learning-based integration develops an immune-derived lncRNA signature for improving outcomes in colorectal cancer◆ ◆ ◆ ◆ ◆
尽心整理(含图PLUS版)|R说念话生信分析,可视化(R统计,ggplot2绘制,生信图形可视化汇总)
RNAseq纯生信挖掘想路共享?不管理系统开发公司,主若是送你代码!(提议储藏)
本站仅提供存储做事,整个骨子均由用户发布,如发现存害或侵权骨子,请点击举报。