算法思想
随机采样->随机特征->多棵决策树->多数投票(分类)/取平均值(回归)
优缺点
优点:
- 并行
- 随机性的引入,增加了多样性,泛化能力非常强,抗噪声能力强,对缺失值不敏感;
- 可省略交叉验证,因随机采样;
- 并继承决策树有的优点,包括:
(1)可得到特征重要性排序,因此可做“特征选择”;
(2)可处理高维特征,且不用特征选择;
(3)能处理离散型/连续型数据,无需规范化;
缺点:
- 随机森林在解决回归问题时,表现较差,这是因为它并不能给出一个连续的输出。
- 随机森林已经被证明在某些噪音较大的分类或者回归问题上会过拟合。
- 对于许多统计建模者来说,随机森林给人的感觉就像一个黑盒子,无法控制模型内部运行(可控性差)。
- 对于小数据或者低维数据(特征较少的数据),可能不能产生很好的分类。
- 可能有很多相似的决策树,掩盖了真实的结果。
- 执行速度虽然比boosting等快(随机森林属于bagging),但比单只决策树慢多了。
面试问题收集
1. 为什么随机抽样?
保证基分类器的多样性,若每棵树的样本集都一样,那训练的每棵决策树都是一样
2. 为什么要有放回的抽样?
保证样本集间有重叠,若不放回,每个训练样本集及其分布都不一样,可能导致训练的各决策树差异性很大,最终多数表决无法 “求同”,即最终多数表决相当于“求同”过程。
3. 为什么不用全样本训练?
全样本忽视了局部样本的规律,不利于模型泛化能力
4. 为什么要随机特征?
随机特征保证基分类器的多样性(差异性),最终集成的泛化性能可通过个体学习器之间的差异度而进一步提升,从而提高泛化能力和抗噪能力
5. 需要剪枝吗?
不需要
6. RF与决策树的区别?
(1)RF是决策树的集成;
(2)RF中是“随机属性型”决策树
7. RF为什么比bagging效率高?
bagging无随机特征,使得训练决策树时效率更低