在随机森林bagging法中可以发现booststrap每次约有1/3的样本不会出现在bootstrap所采集的样本集合中,故没有参加决策树的建立,这些数据称为袋外数据oob,用于取代测试集误差估计方法,可用于模型的验证。
下面先介绍下oob的使用,其中(x,y)代表输入的样本和label,g表示的是构建的树。
构建随机森林的关键问题就是如何选择最优的m(从总量为M的特征向量中,随机选择m个特征),要解决这个问题主要依据计算袋外错误率。
随机森林有一个重要的优点就是,没有必要对它进行交叉验证或者用一个独立的测试集来获得误差的一个无偏估计。它可以在内部进行评估,也就是说在生成的过程中就可以对误差建立一个无偏估计。
在构建每棵树时,我们对训练集使用了不同的bootstrap sample(随机且有放回地抽取)。所以对于每棵树而言(假设对于第k棵树),大约有1/3的训练实例没有参与第k棵树的生成,它们称为第k棵树的袋外样本数据。
而这样的采样特点就允许进行袋外估计,它的计算方式如下:
a. 对每个样本,计算它作为袋外样本的树对它的分类情况(约1/3的树);
b. 然后以简单多数投票作为该样本的分类结果;
c. 最后用误分个数占样本总数的比率作为随机森林的袋外错误率。
参考链接:https://www.jianshu.com/p/b94ec2fc345d