专栏首页生信小驿站randomForestSRC包教程

randomForestSRC包教程

正如随机森林算法可以应用于回归和分类任务一样,它也可以扩展到生存分析。

在下面的示例中,生存模型适合并使用来自 CRAN 包 randomForestSRC 进行预测,评分和性能分析。

#------------#------------#------------#------------#------------




#------------#------------#------------#------------#------------

#加载包
rm(list=ls()) 

library(survival)
library(ranger)
library(ggplot2)
library(dplyr)
library(ggfortify)
library(randomForestSRC)

#------------#------------#------------#------------#------------




#------------#------------#------------#------------#------------

#生成训练集和测试集

data(veteran)

head(veteran)

set.seed(1234)

vet <- mutate(veteran, AG = ifelse((age < 60), 0, 1))

vet$celltype <- NULL

train <- vet[1:100,]

test <- vet[101:137,]

head(vet)


#------------#------------#------------#------------#------------




#------------#------------#------------#------------#------------

#训练模型

rf.model <- rfsrc(Surv(time, status) ~ ., train, ntree = 100, importance = TRUE)

#------------#------------#------------#------------#------------




#------------#------------#------------#------------#------------

#得到变量重要性

rf.model[["importance"]]

#------------#------------#------------#------------#------------




#------------#------------#------------#------------#------------

#在测试集检验

survival.results <- predict(rf.model, newdata = test)
survival.results

模型在测试集的表现如下:

Sample size of test (predict) data: 37 Number of deaths in test data: 36 Number of grow trees: 100 Average no. of grow terminal nodes: 5.16 Total no. of grow variables: 6 Resampling used to grow trees: swor Resample size used to grow trees: 23 Analysis: RSF Family: surv Test set error rate: 35.02%

变量重要性排序:

rf.model[["importance"]] trt karno diagtime age prior AG -0.0024655662 0.1351268124 -0.0033284381 -0.0006348997 -0.0011347950 0.0176878213

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R包系列——RODBC包教程

    在R基础——数据的导入与导出(下)中,介绍了使用RODBC包连接SQL server数据库,在这篇文章中,根据我工作内容,介绍该包的基本操作,同时,根据我使用该...

    企鹅号小编
  • ggplot2绘图基础功不扎实?看完这5个资源

    能制作这样图表的工具很多, 我比较喜欢ggplot2+AI, 当然,或许有高手可以独立使用ggplot2调整全部图表细节,不过,我做不到。我只能做到的是可以绘制...

    生信菜鸟团
  • R包简单教程

    R包,类似C、Python中库的概念,指包含特定领域的函数、数据、文档等的集合。通过调用包,可以直接使用包中现成的数据、函数等,使开发方便快捷高效。

    用户1147754
  • Swift教程(七)--闭包

    闭包是可以在你的代码中被传递和引用的功能性独立模块。Swift 中的闭包和 C 以及 Objective-C 中的 blocks 很像,还有其他语言中的匿名函...

    roc
  • HBuilder打包iOS教程

    2、选择iOS打包,支持的设备类型(可以选择支持iPhone和支持ipad),选择使用苹果证书

    达达前端
  • VS 2013 打包程序教程

    如果你只是想要在他人的机子上运行你的程序而不想安装,有一种简单的方法,只要使用本教程的“步骤—3.生成Release 文件夹”即可。但是有一点需要注意,如果你在...

    用户3148308
  • ggplot2绘图基础功不扎实?看完这5个资源

    能制作这样图表的工具很多, 我比较喜欢ggplot2+AI, 当然,或许有高手可以独立使用ggplot2调整全部图表细节,不过,我做不到。我只能做到的是可以绘制...

    生信技能树
  • 爬虫之抓包教程

    在初学的爬虫过程中,很多人还不知道如何抓包,怎样子抓包才能获取到所需要的信息。为了纪念【宏彦获水】成语初次面世,特地用【百度搜索】写下一篇作者常用工具的抓包教程...

    机器学习和大数据挖掘
  • Fiddler抓包简易教程

    Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的进出Fiddler的数据。 Fiddl...

    Java编程指南

扫码关注云+社区

领取腾讯云代金券