美文网首页TCGA-流程TCGA数据挖掘学习笔记预后/生存
TCGA学习04:建模预测-随机森林&向量机

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

作者: 小贝学生信 | 来源:发表于2020-05-08 20:56 被阅读0次

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

法3:随机森林

  • (1)训练集建模
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 )
  • 由于设置ntree = 10001,比较耗时,十多分钟,默认值应该为500。
  • 同时计算结束后,返回如下warning,后面的流程觉得没显示异常,暂且记录下。
warning
choose_gene=rownames(tail(rf_importances[order(rf_importances[,2]),],30))
length(choose_gene)
  • (2)验证集验证模型
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:向量机

  • 注意:向量机的预测结果直接是事件,即0/1,而不是概率。
    (1)训练集建模
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)

如下图结果:

  • 173个实际为0,即生的患者,模型预测对111个;
  • 87个实际为1,即死的患者,模型只预测对38个。
table(pred,y)

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

相关文章

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

    TCGA学习01:数据下载与整理 - 简书 TCGA学习02:差异分析 - 简书 TCGA学习03:生存分析 ...

  • TCGA学习04:建模预测-cox回归

    TCGA学习01:数据下载与整理 - 简书 TCGA学习02:差异分析 - 简书 TCGA学习03:生存分析 ...

  • TCGA学习04:建模预测-lasso回归

    法2:lasso回归 lasso回归在建立广义线型模型的时候,可以包含一维连续因变量、多维连续因变量、非负次数因变...

  • 多分类

    基于LSTM的中文文本多分类实战sklearn 多种分类实现支持向量机1支持向量机2 随机森林理论内容

  • 使用randomForest包进行随机森林分析

    1. 简介 随机森林是机器学习中的一种分类算法,这个算法在之前分享的TCGA生存模型的构建以及模型预测和评估[ht...

  • 机器学习之SVM(简单理解)

    应该对现有流行并将继续流行下去的分类模型有深刻的了解。随机森林和支持向量机(svm)上篇文章简单介绍了随机森林,这...

  • 机器学习与深度学习目录

    机器学习: 线性回归逻辑回归决策树贝叶斯分类随机森林集成算法支持向量机kmeans聚类k近邻算法 深度学习 感知器...

  • 机器学习分类

    监督/非监督学习 监督学习 K近邻算法线性回归逻辑回归支持向量机(SVM)决策树和随机森林神经网络 非监督学习 聚...

  • 不平衡数据-SMOTE综述【SMOTE合成采样系列】

    引言 在机器学习中,使用常用算法进行分类时,如:逻辑回归、决策树、支持向量机、随机森林等,都假设数据集是平衡的,即...

  • 2、机器学习系统搭建流程

    一、机器学习系统搭建流程 原始数据文本图像语音 数据预处理 特征工程 (向量/矩阵) 建模 预测 备注: 机器学习...

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/ftnfnhtx.html