首页 > 解决方案 > 训练/测试、准确率和 f1 分数的 OOB 分数

问题描述

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

据我了解:您使用训练/测试拆分或交叉验证或 oob (bootstrapping methods) 拆分模型。然后准确度分数或 f1 分数表示您的模型在测试集上的表现(准确度对于平衡类更好,f1 对于不平衡类更好)。

但是,OOB 分数代表了您的验证集有多好,那么模型对您的数据的训练有多好?

我在这里误解了什么吗?

我对准确度/ f1 分数和 OOB 分数之间的差异感到很困惑。

任何输入将不胜感激

标签: pythonmachine-learningcross-validation

解决方案


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

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

    • 准确性
    • 精确
    • 记起
    • F1
    • MSE
    • 等等
  2. 方差减少,这些是您用来减少模型方差的方法,即:防止模型过度拟合数据,这些方法包括:

    • 使用 2 个不同的集合(即训练/测试拆分)
    • 交叉验证(如K-fold交叉验证、LOOCV等)
    • Out of Bag,这个特别用于随机森林算法,以引导用于集成(森林)中每个学习器的数据。
    • 等等

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

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


推荐阅读