【问题标题】:sklearn calibrated classifier with random forest带有随机森林的 sklearn 校准分类器
【发布时间】:2018-10-23 06:46:26
【问题描述】:

Scikit 有一个非常有用的分类器包装器,称为 CalibratedClassiferCalibratedClassifierCV,它们试图确保分类器的 predict_proba 函数真正预测概率,而不仅仅是一个任意数字(尽管可能排名靠前)介于零和一之间。

但是,在使用随机森林时,习惯上使用oob_decision_function_ 来确定训练数据的性能,但在使用校准模型时不再可用。因此,校准应该适用于新数据,但不适用于训练数据。我们如何评估训练数据的性能以确定,例如过度拟合?

【问题讨论】:

    标签: python scikit-learn random-forest


    【解决方案1】:

    显然,这个问题确实没有解决方案,所以我向 scikit-learn 提出了拉取请求。

    问题在于袋外预测是在学习过程中创建的。因此,在CalibratedClassifierCV 中,每个子分类器都有自己的oob 决策函数。但是,此决策函数是在数据的折叠上计算的。因此,有必要存储每个 oob 预测(为不在折叠中的样本保留 nan 值),然后使用校准变换转换所有预测,然后对校准后的 oob 预测进行平均以创建更新的 oob 预测。

    如前所述,我在https://github.com/scikit-learn/scikit-learn/pull/11175 创建了一个拉取请求。不过,它可能需要一段时间才能合并到包中,所以如果有人真的需要使用它,请随时使用我的 scikit-learn fork https://github.com/yishaishimoni/scikit-learn

    【讨论】:

      猜你喜欢
      • 2019-11-16
      • 2021-08-13
      • 2019-03-14
      • 2018-02-18
      • 2016-07-29
      • 2016-07-23
      • 2022-01-25
      • 2018-05-20
      • 2023-03-09
      相关资源
      最近更新 更多