森林图怎么分析_赠书随机生存森林模型

---文末留言,即可有机会获得赠书噢!

随着机器学习的发展,机器学习模型被应用与生存分析的问题上,其中包括生存森 林模型。有几个包可以实现随机生存森林,包括ranger,randomForestSRC。本章节是通过ranger实现随机森林模型。 随机生存森林模型通过ranger函数构建,ranger()为数据集中的每个观察建立一个模型。下一个代码块使用上面Cox模型中使用的相同数据以及变量构建模型,并绘制20条随机曲线,以及表示所有患者的全局平均值的曲线。使用ranger构建随机森林模型,第一个参数依然是公式,公式的左边是一个生存对象。第二个参数是data,表示用于建模的数据集。第三个参数是mtry,用于表示所选取的特征数目,第四个参数importance用于指定变量重要性的模型。第五个参数splitrule用于指定决策树的划分指标。第六个参数verbose表示是否显示出运行状态。然后,结果曲线如图4.14所示。
library(ranger)r_fit                  ph.karno + wt.loss, data = na.omit(lung),                     mtry = 4,                     importance = "permutation",                     splitrule = "extratrees",                     verbose = TRUE)# Average the survival modelsdeath_times surv_prob avg_prob # Plot the survival models for each patientplot(r_fit$unique.death.times,r_fit$survival[1,],      type = "l",      ylim = c(0,1),     col = "red",     xlab = "Days",     ylab = "survival",     main = "Patient Survival Curves")#cols for (n in sample(c(2:dim(veteran)[1]), 20)){  lines(r_fit$unique.death.times, r_fit$survival[n,], type = "l", col = cols[n])}lines(death_times, avg_prob, lwd = 2)legend(500, 0.7, legend = c('Average = black'))

森林图怎么分析_赠书随机生存森林模型_第1张图片

图4.14  Kaplan-Meier模型的生存曲线图

图4.14显示随机生存森林模型中每一个树的生存函数曲线,以及平均的生存函数曲线。

接下来可以显示变量的重要性,模型的属性,variable.importance,包含了数据的重要性:

vi names(vi) head(vi)##          importance## ph.karno     0.0254## sex          0.0221## wt.loss     -0.0032## age         -0.0062

从结果中可以看出,随机森林模型将sex,和ph.karno当作最重要的两个模型,这个与上文中Cox模型p值显著的两个变量相同。

构建好模型之后如果需要预测新数据的生存曲线,可以通过ranger的predictions函数进行预测,预测数据使用lung 的第二条数据,结果的生存曲线如图4.15所示。

p plot(p$survival,type = 'l', ylab="Survival probability",      xlab="Time", main = "Predict Survival Plot")

森林图怎么分析_赠书随机生存森林模型_第2张图片

模型构建好了之后,当有了新的数据,就可以使用这样的方式进行预测,获得新样本的一个生存曲线。图4.15显示出了随机生存森林预测结果的生存曲线图。

本文选自于清华大学出版社出版的《深入浅出R语言数据分析》一书的小节,略有改动。经出版社授权刊登于此。

森林图怎么分析_赠书随机生存森林模型_第3张图片

留言赠书参与方法

活动截止时我们将选择5名幸运留言小伙伴获得以上赠书。

活动截止时间:2020年10月20日24:00

你可能感兴趣的:(森林图怎么分析,模型损失函数变化曲线图)