R语言实现随机生存森林(3)

常见问题解答

1、计算C指数

1-Error rate,或者

rsf.err <- get.cindex(yvar$Survival_months,yvar$OS,predicted=rf.grow$predicted)

 2、模型中predicted和predicted.oob区别

predictedpredicted.oob是两个不同的属性,它们分别表示模型的预测结果和袋外(out-of-bag)预测结果。predicted是指通过随机森林模型对训练数据的预测结果。当你使用模型来对训练数据进行预测时,predicted会给出每个样本的预测值。predicted.oob是指模型对袋外(out-of-bag)样本的预测结果。袋外样本是在随机森林的构建中没有被用于训练的样本。这些样本用于估计模型的泛化性能。predicted.oob包含了对每个袋外样本的预测值,这些值可以用于评估模型在未见过的数据上的表现。在实际操作中如果bootstrap为“none”,则只有predicted结果,若为“by.root”(默认值),则有predictedpredicted.oob。

3、如何绘制随机生存森林的DCA曲线?

library(riskRegression)
library(dcurves)
`1 year`<-predictRisk(rf.grow,newdata=ss,time=12)#rf.grow为建立的随机生存森林模型
ss$`1 year`<-`1 year`
d<-dcurves::dca(Surv(Survival_months, OS) ~ `1 year`,
             data = ss,
             time = 12 # 时间选1年
)%>% dcurves::as_tibble()
library(ggplot2)
ggplot(d, aes(x=threshold, y=net_benefit,color=variable))+
  stat_smooth(method = "loess", se = FALSE, formula = "y ~ x", span = 0.2) +
  coord_cartesian(ylim = c(-0.01, 0.6)) +
  scale_x_continuous(labels = scales::label_percent(accuracy = 1)) +
  labs(x = "Threshold Probability", y = "Net Benefit", color = "") +
  theme_bw()

你可能感兴趣的:(机器学习,r语言,机器学习)