随机生存森林算法在生存数据中的应用

对于生存数据的分析,除传统的cox回归分析外,还有随机生存森林等机器学习算法

随机生存森林的模型构建

library(ggRandomForests)#加载随机生存的package,该package包含了"randomForestSRC"
#该包主要作用为随机生存森林模型结果的可视化
library(ggplot2)
data(pbc)#自带生存数据集

pbc_rf <- rfsrc(Surv(days, status) ~ ., data = pbc,#模型以及数据
                   ntree = 2000,#数的棵树
                   na.action = "na.impute",
                   fast.restore = TRUE)

通过变量重要性进行自变量的筛选

pbc_vs <- var.select(pbc_rf)

#模型结果:
#family             : surv 
#var. selection     : Minimal Depth   变量筛选方法为最小深度法
#conservativeness   : medium 
#x-weighting used?  : TRUE 
#dimension          : 17 
#sample size        : 418    
#ntree              : 2000 
#nsplit             : 10 
#mtry               : 5      可供选择的变量数
#nodesize           : 15      
#refitted forest    : FALSE 
#model size         : 5 
#depth threshold    : 4.9574    深度阈值
#PE (true OOB)      : 17.2435    袋外错误率

#变量重要性结果
#Top variables:                     模型的深度阈值(4.957)为界限
            depth vimp
#bili        1.819   NA
#albumin     3.729   NA
#prothrombin 3.844   NA
#copper      4.241   NA
#edema       4.339   NA

对变量的重要性进行可视化

ggMindepth <- gg_minimal_depth(pbc_vs)
plot(ggMindepth)

 为了分析两个变量或多个对生存预测的影响,可以绘制偏相关图

将copper变量划分为6各组,可以得到不同组copper联合bili对生存预测的影响

copper_cts <- quantile_pts(ggvar$copper, groups = 6, intervals = TRUE) #对连续进行分组
copper_grp <- cut(ggvar$copper, breaks = copper_cts)  
partial_coplot_pbc <- gg_partial_coplot(pbc_rf, xvar = "bili",
                                        groups = copper_grp,
                                        surv_type = "surv",
                                        time = 364.25,
                                        show.plots = FALSE)

plot(partial_coplot_pbc)

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小庞统计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值