oob检验是指在随机森林算法中,通过袋外样本数据集(out-of-bag sample)来进行模型评估的一种方法。在构建随机森林模型时,每个决策树的训练数据都是通过有放回抽样得到的,被抽中的数据组成训练集,未被抽中的数据组成袋外测试集。
在决策树的构建过程中,袋外测试集数据会被用于测试模型的准确性。对于每个样本数据,它只有出现在一部分决策树的训练集中,而在另外一部分决策树的训练集中没有出现。这些样本数据就组成了袋外样本数据集。通过袋外样本数据集来测试模型的准确性,可以避免使用测试集数据,提高了模型的泛化能力。
优点:
(1)减少了原始样本数据的使用,提高了数据的利用率;
(2)可以避免使用测试集数据,减少了数据的划分,提高了模型的泛化能力;
(3)可以用于估计模型的误差,便于选择最优模型。
缺点:
(1)袋外样本数据集大小通常只占总样本数据集的三分之一左右,因此可能会对模型评估的准确性产生一定的误差;
(2)对于不同的随机森林模型,其袋外样本数据集都不同,可能会导致不同模型的结果不可比较。
oob检验和交叉验证都是常用的模型评估方法,下面对比一下它们的特点:
(1) oob检验只使用了部分样本数据作为袋外样本数据集,而交叉验证通常会将样本数据划分为几份,分别用来训练模型和测试模型。
(2) oob检验可以避免使用测试集数据,提高了模型的泛化能力;而交叉验证则需要用到测试集数据,可能会对模型的泛化能力产生一定的影响。
(3) oob检验计算速度较快,而交叉验证需要进行多次模型训练和测试,计算速度较慢。
oob错误率是指袋外样本数据集上的分类错误率。假设$\theta_i$表示第i个样本数据在森林中被选取为决策树的训练样本的概率,则为:
$$err_{oob}=\frac{1}{N}\sum_{i=1}^{N}err_i$$
其中,$err_i$是当第i个样本数据作为袋外样本数据集时,该决策树的分类错误率;$N$是样本数据的量。误差率越小,说明模型的泛化能力越好。