为什么“精确度”和“召回率”的总和不算是值得的?


12

什么是解释为什么最好的办法Precision+Recall不是一个很好的措施,比如,相对于F1?


什么意思 您将如何解释它?它实际上会告诉您什么?
马修·德鲁里

1
您应该通过将“ Precision + Recall”替换为“ Precision and Recall之和”来更改标题,以使您更清楚自己想要的内容。
g3o2

@ g3o2我们是在这里讲语法吗,还是我错过了更重要的事情?
马特

并非如此,只是要注意它也可以被读取为Precision&Recall,特别是在仅阅读标题时。
g3o2

Answers:


18

Precision+Recall

回想一下,精度和召回率定义为:

Precision=True PositivePredicted Positive
Recall=True PositiveActual Positive

True Positive(Predicted Positive+Actual Positive)Predicted Positive×Actual Positive

12[01]

12×(True PositivePredicted Positive+True PositiveActual Positive)

因此,我们有两个具有相同分子但分母不同的数量,我们希望取它们的平均值。我们做什么?好吧,我们可以翻转它们,取它们的反函数。然后,您可以将它们添加在一起。因此它们是“右侧朝上”,您将再次取反。

反转然后再次反转的过程将“常规”均值转换为谐波均值。它只是恰巧的准确率和查调和平均值 F1的统计量。在处理速率时,通常使用谐波平均值代替标准算术平均值,就像我们在这里所做的那样。

最后,F1统计量只是精确度和召回率的平均值,您可以使用它,因为您不想选择一个或另一个来评估模型的性能。


2
非常感谢您从代数平均数中发展出谐波均值!但是您可能说的“不是特别有用”的部分可能与我不太牢固。因此,我现在在下面对其他两个答案进行了评论。以防万一,您可以更进一步。例如,假设我希望在对同一数据集进行测试的一组分类器中选择最佳分类器。
马特

@matt,使用任何组合的度量都会将您的模型选择带到某个特定点,但不会超出范围。具有相同F1值的两个模型可能会显示完全相反的Recall和Precision值。因此,对于相同的F1,您将不得不在Recall和Precision之间进行选择。
g3o2

4

简短的答案是:您不会期望两个具有两个不同分母的百分比的总和具有任何特定含义。因此,采取平均度量方法,例如F1,F2或F0.5。后者至少保留一个百分比的属性。他们的意思呢?

“精确度”和“召回率”作为单独的度量标准的优点在于它们易于解释,并且易于面对模型的业务目标。精度测量按模型true positives分类的所有案例中的百分比positive召回率衡量true positives模型在所有true情况下发现的百分比。对于许多问题,您将不得不在优化精度或查全率之间进行选择。

任何平均量度都会放松上述解释,并归结为您最喜欢的量度。F1表示您不知道自己是喜欢Recall还是Precision,或者将相等的权重赋予它们。如果您认为Recall比Precision更重要,那么您还应该在平均值计算(例如F2)中为其分配更高的权重,反之亦然(例如F0.5)。


3

将两者相加是一个不好的措施。如果您将所有内容都标记为肯定,您将获得至少1分,因为根据定义,这是100%的召回率。而且,您还将获得一些精确的碰撞。F1中使用的几何平均值强调了薄弱环节,因为它是可乘的。您必须至少在精度和召回率方面都做得不错,才能获得不错的F1分数。


实际上,正是这种薄弱环节的确切强调,当Precision和Recall都是明智而不是前卫时,我发现这是多余的。当它们都不那么前卫时,我不确定我是否会看到强调它们之间相似性的度量标准的附加值,或者因它们的差异大小而有所不同。这种确切的特性部分地激发了我最初的问题。
马特

听起来对我来说是额外的工作。如果您将召回率的一个百分点与精度一样高,那么我猜您的度量是可以使用的度量。但是我无法想象你会。召回可能会占主导地位,即使您减小范围。您可以将召回率精确地缩放到每个苹果,但这又需要更多工作,而且解释也不太清楚。
Ben Ogorek

1
不确定为什么假设回忆应该占主导地位(?),但是在这里或其他地方可能会引起有趣的相关讨论,即将召回率精确地缩放到苹果对苹果-指向正确方向的指针可能会很不错:),否则再次感谢
马特

3

F1分数在严重不对称概率的情况下尤其有价值。

考虑以下示例:我们测试一种罕见但危险的疾病。假设在一个1.000.000人的城市中,只有100人被感染。

测试A检测所有这100个阳性结果。但是,它也有50%的假阳性率:错误地显示了另外500.000人患病。

同时,测试B错过了10%的感染,但只给出了1.000假阳性(0.1%假阳性率)

让我们计算分数。对于测试A,精度将有效为0;否则,精度为0。召回率将精确为1。对于测试B,精度仍将很小,约为0.01。召回率等于0.9。

如果我们天真地对精度进行求和或取算术平均值并进行回忆,则测试A的结果为1(0.5),测试B的结果为0.91(0.455)。因此,测试A似乎要好一些。

但是,如果从实际的角度来看,测试A是毫无价值的:如果一个人被测试为阳性,那么他真正生病的机会是50.000中的1!测试B具有更实际的意义:您可以将1.100人带到医院并对其进行密切观察。F1分数可以准确地反映出这一点:对于测试A,它将接近0.0002,对于测试B:(0.01 * 0.9)/(0.01 + 0.9)= 0.0098,这仍然很差,但大约好50倍。

分数值与实际意义之间的这种匹配才使F1分数有价值。


谢谢。也许我还没有完全沉浸在这个案例中,但是这种阐释不取决于在现实生活中将资源分配给“积极”群体的务实优势,在现实生活中,发现一个结果(积极)是目标?并非总是这样,目标是发现一个结果是吗?有时,您只想知道它是一个苹果还是一对,并且两种类型的错误在现实中的实际花费都相同。
马特

最重要的是,我看不到的是“更好”的特性如何适应精度和召回率之间(绝对)差异较小的病态。也许直觉本来就存在,但我还不存在...
matt

1

通常,最大化几何均值会强调相似的值。例如,采用两个模型:第一个模型具有(精度,召回率)=(0.8,0.8),第二个模型具有(精度,召回率)=(0.6,1.0)。使用代数均值,两个模型将是等效的。使用几何均值,第一个模型会更好,因为它不会为召回而牺牲精度。


1
非常感谢。但是,实际上,我看不到任何普遍适用的偏好,例如(0.8,0.8)和(0.7,0.9)。也许您暗示了“更精确地进行召回”的含义-我还没有意识到。对我而言,对两种误差进行代数平均,只需给出它们的最简单平均值,而不会对相似性产生任何偏见。例如,我可能会使用Precision和Recall的简单求和来计算两个分类器中的哪一个给我带来的错误更少。
马特

我们可以将其推向极致。假设您有一个系统,其(精度,召回率)=(0.6,0.6)。这意味着当它说“是”时,正确的时间是60%,并且正确捕获了60%的“是”事件。现在,将其与具有(0.3,1)的系统进行比较。这具有更好的代数平均值,但是它在做什么呢?它捕获所有的“是”的事件,但它也说“是”一个错误很多。这样好吗 那不好吗?这取决于您为什么要构建系统。当您看到“是”的预测时,您将采取什么行动?缺少“是”事件的后果是什么?
roundsquare

1
这些措施都不是正确的准确性评分规则
Frank Harrell

@roundsquare非常感谢,但对于非病理性病例-两者都不都接近0和1-我可能需要帮助,看看在最后的方法中强调两者之间相似性的好处!
马特

@FrankHarrell感谢您指着“房间里的大象”
马特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.