精度/召回曲线中的阈值

机器算法验证 精确召回 临界点
2022-03-17 06:05:29

当我在阅读 Torgo 的 Data Mining with R 时,我发现与其他方法相比,精确/召回曲线的描述有所不同。通常,这些曲线基于一个阈值,该阈值确定哪个概率值足以决定事件何时发生,因此我们可以根据该值对未来事件进行分类。但是,Torgo 的描述如下:

准确率/召回率 (PR) 曲线是模型在准确率和召回率统计方面性能的直观表示。曲线是通过对不同工作点的统计值进行适当插值获得的。这些工作点可以通过模型提供的感兴趣类别排名的不同截止限制来给出。在我们的例子中,这将对应于应用于模型产生的异常值排名的不同努力限制。迭代不同的限制(即检查更少或更多的报告),我们得到不同的精度和召回值。PR 曲线允许这种类型的分析。

作者心目中的应用是欺诈检测问题,其中我们有一个分类任务fraud,结果是unknownok我们想输出概率,对它们进行排名,选择第一个k报告并能够检查它们。

这是精度/召回曲线中阈值的替代度量吗?我认为这是假设低于 0.5 的概率被归类为ok0.5 等于unknown和高于 0.5 的意思fraud这是一个正确的假设吗?

非常感谢!

2个回答

为了您的目标,精度/召回曲线并不相关。你的问题是一个概率估计问题,逻辑回归及其许多变体可以做得很好。0.5 的概率阈值没有什么神奇之处,也不需要它。您可以选择k基于成本和检查单位k最高的预测概率。此外,绘制提升曲线。

估计的概率也是自包含的错误率。在检查过程中始终保持方便,因为这将使检查员意识到“接近电话”。

简短回答:Torgo 描述了生成此类曲线的常用方法。

您可以选择任何值的阈值(= 引用文本中的截止限制)。引用的文本提到了一种这样的选择作为工作点。
也就是说,对于给定的工作点,您将只观察到一对(精度;召回),即图表中的一个精确召回曲线是通过在分类器的连续输出(“分数”、后验概率、“投票”)的整个范围内改变阈值来获得的,从而从许多工作点生成曲线。


编辑评论:

我认为“改变阈值”是解释定义曲线的常用方法。

对于计算来说,将scores排序效率更高,然后看看添加下一个case时precision和recall如何变化:只有当threshold的变化大到足以覆盖下一个score时,precision和recall才会发生变化。

考虑这个例子:

case   true class   predicted score (high => class B)
1      A            0.2
3      B            0.5
2      A            0.6
4      B            0.9

threshold      recall    precision
> 0.9          N/A       0.0
(0.6, 0.9]     0.5       1.0        
(0.5, 0.6]     0.5       0.5
(0.2, 0.5]     1.0       0.67
< 0.2          1.0       0.5

也就是说,精确召回曲线实际上由点组成。当阈值“跨越”一个准确预测的分数时,它会从一个点跳到下一个点。只有大量测试用例才会产生平滑曲线。