1 随机森林的提出
随机森林是由Leo Breiman和Cutler Adele在2001年开发完成的一种数据挖掘方法,它是一种现代分类与回归技术,同时也是一种组合式的自学习技术。组合学习的思路是在对新的实例进行分类的时候,把若干个单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来决定最终的分类,以取得比单个分类器更好的性能。如果把单个分类器比作一个决策者的话, 组合学习的方法就相当于多个决策者共同进行一项决策。 2 基本算法原理 它是利用Bootstrap重抽样的方法从原始数据中抽取多个样本,对每个 Bootstrap 样本进行决策树建模,然后对多棵决策树的预测进行组合,通过投票的方式得出最终结果。随机森林的“随机化”体现在训练集的随机选取和待选特征的随机选取两个方面。其构建步骤如图1所示:(1)从原始训练集D(共有k个样本)有放回的抽取k个样本,构造 D1,D2, …,Dk共k个子训练集,子训练集的数据量和原始训练集相同(均为k);(2)利用k个子训练集构造k棵决策树,在决策树的分裂过程中,从所有的待选特征中随机选取一定特征,再从中选取最优的特征进行分割;(3)k棵决策树得到k种分类结果;(4)对k种分类结果进行投票表决,得出最终分类。
每次抽样后未被抽中的样本组成k个袋外数据(out-of-bag,OOB),可用来进行内部误差估计,并作为随机森林测试样本。