随机森林之oob error 估计
摘要:在随机森林之Bagging法中可以发现Bootstrap每次约有1/3的样本不会出现在Bootstrap所采集的样本集合中,当然也就没有参加决策树的建立,那是不是意味着就没有用了呢,答案是否定的。我们把这1/3的数据称为袋外数据oob(out of bag),它可以用于取代测试集误差估计方法.
在论文:
1:Bias,variance and prediction error for classification rules.<Robert Tibshiranni>
2: An Efficient Method To Estimate Baggin’s Generalization Error.<David H.Wolpert and William G.Macready>
3:Bagging Predictors,Machine Learning (1996)<Breiman>
中,作者都建议利用OOB error 估计作为泛化误差估计的一个组成部分,并且Breiman在论文中给出了经验性实例表明袋外数据误差估计与同训练集一样大小的测试集得到的精度一样,这样也就表明袋外数据(oob)误差估计是一种可以取代测试集的误差估计方法。
袋外数据(oob)误差的计算方法如下:
对于已经生成的随机森林,用袋外数据测试其性能,假设袋外数据总数为O,用这O个袋外数据作为输入,带进之前已经生成的随机森林分类器,分类器会给出O个数据相应的分类,因为这O条数据的类型是已知的,则用正确的分类与随机森林分类器的结果进行比较,统计随机森林分类器分类错误的数目,设为X,则袋外数据误差大小=X/O;这已经经过证明是无偏估计的,所以在随机森林算法中不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。