据我所见,对此的看法往往不同。最佳实践肯定会要求使用交叉验证(尤其是在将 RF 与同一数据集上的其他算法进行比较时)。另一方面,原始消息来源指出,在模型训练期间计算 OOB 误差这一事实足以作为测试集性能的指标。即使是 Trevor Hastie,在最近的一次谈话中也说“随机森林提供免费的交叉验证”。直观地说,如果在一个数据集上训练并尝试改进基于 RF 的模型,这对我来说是有意义的。
您对此有何看法?
据我所见,对此的看法往往不同。最佳实践肯定会要求使用交叉验证(尤其是在将 RF 与同一数据集上的其他算法进行比较时)。另一方面,原始消息来源指出,在模型训练期间计算 OOB 误差这一事实足以作为测试集性能的指标。即使是 Trevor Hastie,在最近的一次谈话中也说“随机森林提供免费的交叉验证”。直观地说,如果在一个数据集上训练并尝试改进基于 RF 的模型,这对我来说是有意义的。
您对此有何看法?
OOB 误差是通过仅使用在其引导样本中没有此特定观察的树为每个观察计算得出的;看到这个相关的问题。这非常大致相当于两次交叉验证,因为特定观察值在特定引导样本中的概率为。
正如@Wouter 指出的那样,您可能希望对参数调整进行交叉验证,但作为测试集错误的估计,OOB 错误应该没问题。