TCGA-流程TCGA数据挖掘学习笔记预后/生存

TCGA学习04:建模预测-随机森林&向量机

2020-05-08  本文已影响0人  小贝学生信

TCGA学习01:数据下载与整理 - 简书
TCGA学习02:差异分析 - 简书
TCGA学习03:生存分析 - 简书
TCGA学习04:建模预测-cox回归 - 简书
TCGA学习04:建模预测-lasso回归 - 简书
TCGA学习04:建模预测-随机森林&向量机 - 简书
关于随机森林与向量机之前,学习R时,有过一定了了解,详见R语言入门--第十五节(预测二分类) ,是两种复杂但建模质量较高的两种方法。

法3:随机森林

rm(list=ls())
load("tosur.RData")
exprSet=exp_tumor
library(randomForest)
library(ROCR)
library(genefilter)
library(Hmisc)

library(caret)
set.seed(12345679)
sam<- createDataPartition(meta$event, p = .5,list = FALSE)
train <- exprSet[,sam]
test <- exprSet[,-sam]
train_meta <- meta[sam,]
test_meta <- meta[-sam,]

x = t(log2(train+1))
y = train_meta$event
rf_output=randomForest(x=x, y=y,importance = TRUE, ntree = 10001, proximity=TRUE )
warning
choose_gene=rownames(tail(rf_importances[order(rf_importances[,2]),],30))
length(choose_gene)
x = t(log2(test+1))
y = test_meta$event
rf.prob <- predict(rf_output, x)
#同样预测的是生存概率
re=cbind(y ,rf.prob)
re=as.data.frame(re)
colnames(re)=c('event','prob')
re$event=as.factor(re$event)
#先看看箱线图
library(ggpubr) 
p1 = ggboxplot(re, x = "event", y = "prob",
               color = "event", palette = "jco",
               add = "jitter")+ stat_compare_means()
p1
箱线图,区分度好差...
# 再简单看下AUC值
library(ROCR)
pred <- prediction(re[,2], re[,1])
auc= performance(pred,"auc")@y.values[[1]]
auc
# [1] 0.5694418

果然数据质量低,用什么方法都没救....

法4:向量机

rm(list=ls())
load("tosur.RData")
exprSet=exp_tumor

library(ROCR)
library(genefilter)
library(Hmisc)
library(e1071)

library(caret)
set.seed(12345)
sam<- createDataPartition(meta$event, p = .5,list = FALSE)

train <- exprSet[,sam]
test <- exprSet[,-sam]
train_meta <- meta[sam,]
test_meta <- meta[-sam,]

x=t(log2(train+1))
y=as.factor(train_meta$event)
model = svm(x,y,kernel = "linear")
summary(model) 
summary(model)
x=t(log2(test+1))
y=as.factor(test_meta$event)
pred = predict(model, x)
table(pred,y)

如下图结果:

table(pred,y)

TCGA系列学习笔记暂时就这样吧~ 重在流程的了解,以及R操作。之后对于相关知识点(癌症、统计学知识)等等值得暑假进一步学习。

上一篇 下一篇

猜你喜欢

热点阅读