我正在实现一个随机森林分类器作为一个副项目,我有点不清楚计算分类器错误率的 OOB 估计值的正确方法是什么。
我的理解是,通常,对于森林中的每一棵树,通过替换示例从原始样本中创建一个训练样本(因此可能会出现一些重复和遗漏),而省略的样本可用于计算 -包估计。我不清楚的部分是如何汇总不同袋外样本的错误:
幼稚的方法是让每棵树计算有多少 OOB 示例被错误分类,并计算所有这些示例的平均错误分类率(总错误分类 / 袋外示例总数)。
- 然而,在我看来,从本质上讲,这将是计算每棵树的平均分类误差,而忽略了森林对每棵树的判决采取多数票这一事实,以补偿“较弱”的树.
更复杂的方法是获取每个 OOB 示例,查找每棵树是否包含在训练中,并对所有未使用该示例进行训练的树进行多数投票。
- 这在计算上更痛苦,但似乎它会适当地考虑到森林不仅仅是其部分之和的事实。
任何人都可以告诉我这两种方法中哪一种是解决这个问题的正确方法,或者,如果都不正确,我应该做什么?