R语言临床预测模型-随机森林

最后发布时间:2022-03-23 16:03:37 浏览量:

随机森林简介

  • 随机森林是有监督的学习方法。在模型中,同时生成多个预测模型,并将模型的结果汇总以提升准确率。
  • 随机森林涉及对样本和变量进行抽样,从而生成大量的决策树
  • 对于样本(观察对象来说),所有决策树依次对其进行预测。所有决策树的众数(预测结果是分类变量)或平均数(预测结果是连续型变量)作为这一样本的最终预测结果
  • 生成决策树时未用到的样本类型也可由决策树估计,其预测结果是由所有决策树估计的众数或平均值决定。与真实结果比较可以得到袋外预测误差(OOB)。当没有验证数据时,这是随机森林的一个优势。

随机森林算法

假设数据集共有N个样本,M个变量,其算法如下:

  • 从数据集中随机有/无放回的抽取N个样本,生成大量决策树
  • 每一个节点随机抽取m(小于M)个变量,将其作为分割该节点的候选变量。每个节点处的变量树应该一致。
  • 完整的生成所有决策树
  • 终端节点所属类别由节点对应的众数决定
  • 对于新的观测点有所有树对其进行分类,其类别由多数决定原则生成。

随机森林的优势

  • 可以处理大量的输入变量
  • 可以评估变量的重要性
  • 建造模型时使用无偏估计,模型泛化能力强
  • 当数据缺失较多时,仍可以维持一定的精确度
  • 可以处理混合数据(数值型和因子型)

R代码

原发性胆汁性肝硬化数据

字段含义
days随访时间
status0表示删失,1表示死亡
treatment1表示D-青霉胺,2表示安慰剂
age年龄(天数)
sex0男,1女
ascites腹腔积水,0表示否,1表示是
hepatom肝肿大,0表示否,1表示是
spiders蜘蛛痣,0表示否,1表示是
edema水肿,0表示否,1表示是

参考