- 随机森林是组成式监督学习算法,同时使用多个预测模型,将模型的结果汇总以提升分类准确率;对样本单元和属性进行抽样,产生大量的决策树,再对检验的样本单元进行依次分类,从而得到未知样本单元的类
- 算法:训练集中有N个样本单元,M个变量
- 从训练集中随机有放回的抽取N个样本单元
- 对于抽取出的训练集,对每个节点随机抽取m<M个变量,作为分割该节点的候选变量,每一个节点处的变量数应该一致
- 完整生成决策树,不用剪枝,最小节点可以为1,设定叶节点的类型
- 将新的样本单元用所有树进行分类,多数类别为该样本单元的类别
- 在无法获得检验集时,生成森林时没用到的样本点可以用来检验,即袋外预测OOB
- randomForest::randomForest()生成随机森林,默认生成500个树,每个节点抽取sqrt(M)个变量,最小节点为1
- randomForest(formula,data,na.action=na.roughfix,importance=T)
- na.action=na.roughfix,将数值变量中的缺失值替换为对应列的中位数或类别变量的缺失值替换成对应列的多数类(相同数量随机取)
- importance=T,随机森林可度量变量重要性,importance(fit,type=2)返回变量的不纯性的Gini指数减少量的所有树的均值
- predict(fit,data)验证集,分类时剔除有缺失值的单元
- randomForest(formula,data,na.action=na.roughfix,importance=T)
- randomForest和party::cforest:当预测变量高度相关时,基于条件推断树的随机森林效果更好
- 决策树的特点
- 优点:可计算袋外预测误差和度量变量重要性,分类的准确性更高,可处理大规模问题(大量缺失值数据或变量数远多于样本单元量的数据)
- 算法:训练集中有N个样本单元,M个变量
R教材11.2 随机森林与支持向量机
最新推荐文章于 2024-06-11 08:46:19 发布