【问题标题】:Determine accuracy of model which estimates probability of one of the classes确定估计其中一类概率的模型的准确性
【发布时间】:2025-12-11 09:55:02
【问题描述】:

我正在为具有两个结果的事件建模,0(拒绝)和 1(接受)。我创建了一个模型来估计 1(接受)将发生的概率(即模型将计算 80% 的机会发生“1”,或者换句话说接受概率为 0.8)

现在,我有大量试验结果记录以及模型的估计值(例如:接受概率=0.8 和实际班级 (acceptance=1))。我想量化或验证模型的准确性。这可能吗?如果可以,怎么做?

注意:我只是在预测第 1 类的概率。假设第 1 类的预测是 0.8,实际的类值为 1。现在我想找到我的模型的性能。

【问题讨论】:

  • 准确率、精度、召回率、AUC、二元交叉熵、MSE、MAE等都是可以使用的指标
  • 但是 AUC 需要二进制输出,所以我们可以创建混淆矩阵然后绘图。但就我而言,我将无法创建混淆矩阵。我正在预测 1 类(接受)的概率,我需要将其与 1 类进行比较。有什么想法吗?
  • AUC 既不需要二进制输出,也不需要混淆矩阵。它需要每个对象的分数,可用于对对象进行排序。您只需要一个二进制参考来进行评估。

标签: machine-learning regression data-mining random-forest cross-validation


【解决方案1】:

您只需将概率转换为具有阈值舍入的两个离散类之一,即如果 p(y=1|x)>0.5:预测 1,否则预测 0。然后所有指标都适用。阈值可以通过检查 ROC 曲线和/或精确召回变化来选择,也可以简单地设置为 0.5。

【讨论】:

    【解决方案2】:

    通过预测对对象进行排序。

    然后计算所得曲线的 ROC AUC。

    【讨论】: