train/test 上的 OOB 分数、准确性和 f1 分数

OOB score on train/test, accuracy and f1 score

我对此很陌生并且很困惑。我正在使用随机森林(分类)训练我的模型,并试图完全掌握以下概念。

据我了解:您使用 train/test 拆分或交叉验证或 oob(引导方法)拆分模型 . 然后准确度分数或 f1 分数表示您的模型在测试集上的表现如何(准确度对于平衡 类 更好,f1 对于不平衡 类 更好)。

但是 OOB 分数表示您的验证集有多好,那么模型在您的数据上的训练效果如何?

我是不是误解了什么?

我最困惑的是 accuracy/f1 分数和 OOB 分数之间的差异。

如有任何意见,我们将不胜感激

这是您正在查看的 2 个不同方面:

  1. 指标,这些是您用来评估模型在一组数据上的性能的数学公式,因此您可以为其提供基本事实(真实标签)和预测标签,以及计算指标得分,这些指标包括:

    • 准确性
    • 精度
    • 召回
    • F1
    • 均方误差
    • 等等
  2. 减少方差,这些是你用来减少模型的方差的方法,即:防止模型过度拟合数据,这些方法包括:

    • 使用 2 个不同的集合(即 train/test 拆分)
    • 交叉验证(例如 K 折交叉验证、LOOCV 等)
    • Out of Bag,这个特别用在随机森林算法中 bootstrap 用于集成(森林)中每个学习者的数据。
    • 等等

所以,基本上,您使用一种方法来尝试减少模型的方差,从而改进指标。

关于您的具体问题:OOB 分数与准确度分数的比值是多少? OOB 算法创建用于训练的数据子集,然后使用针对这些子集的预测标签的度量来计算分数。