随机森林算法优缺点

随机森林是Bagging的一个扩展变体,是在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
随机森林简单、容易实现、计算开销小,在很多实际应用中都变现出了强大的性能,被誉为“代表集成学习技术水平的方法”。可以看出,随机森林对Bagging只做了小改动。并且,Bagging满足差异性的方法是对训练集进行采样;而随机森林不但对训练集进行随机采样,而且还随机选择特征子集,这就使最终集成的泛化性进一步提升。

随着基学习器数目的增加,随机森林通常会收敛到更低的泛化误差,并且训练效率是优于Bagging的。

优点:

  • 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。
  • 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
  • 在训练后,可以给出各个特征对于输出的重要性。
  • 由于采用了随机采样,训练出的模型的方差小,泛化能力强。
  • 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
  • 对部分特征缺失不敏感。

缺点:

  • 在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
  • 取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。
标签: 森林、bagging、随机、训练、rf、面试
  • july
    2021-01-31 16:21:55 1楼#1层
    优点:
    (1)不必担心过度拟合;
    (2)适用于数据集中存在大量未知特征;
    (3)能够估计哪个特征在分类中更重要;
    (4)具有很好的抗噪声能力;
    (5)算法容易理解;
    (6)可以并行处理。
    缺点:
    (1)对小量数据集和低维数据集的分类不一定可以得到很好的效果。
    (2)执行速度虽然比Boosting等快,但是比单个的决策树慢很多。
    (3)可能会出现一些差异度非常小的树,淹没了一些正确的决策。
    (4)由于树是随机生成的,结果不稳定(kpi值比较大)
  • k6k4

    旧袍风雨
    2021-01-31 16:24:42 2楼#1层
    由于训练时树与树之间是相互独立的,可以并行实现,(与之相对的不能并行实现的一个算法为GBDT算法,可能在以后的博文中会做总结)。这样使得训练速度比较快。更重要的是它不容易过拟合,除非是在噪声过大的分类和回归问题中
  • 回复
隐藏