分母等于0时,精度和召回率的正确值是多少?


16

精度定义为:

p =真阳性/(真阳性+假阳性)

如果(真肯定+假肯定)= 0,那么精度的值是多少?它只是不确定的吗?

召回相同的问题:

r =真阳性/(真阳性+假阴性)

在这种情况下,如果(真肯定+假否定)= 0,召回值是多少?

PS这个问题与问题非常相似,在极端情况下,精度和召回率的正确值是多少?


1
嘿,甚至一式两份都回答了。但我们称其为好副本。

Answers:


9

先前链接的问题的答案也适用于此。

如果(真肯定+假否定)= 0,则输入数据中没有肯定案例,因此对该案例的任何分析都没有信息,因此也没有关于如何处理肯定案例的结论。您需要N / A或类似的结果作为比率结果,避免除以零误差

如果(真阳性+假阳性)= 0,则所有情况都被预测为阴性:这是ROC曲线的一端。同样,您希望识别并报告这种可能性,同时避免除以零误差。


谢谢亨利的回答。如果我理解正确的话,在前一种情况下,你希望在你的后一种情况下,以识别和报告的结果,而这样做。那是对的吗?
拉菲·哈查杜安

是:在无正输入的情况下,精度没有意义;在非阳性预测的情况下,您要报告测试已设置为极阴性。
亨利

5

这里提供了一个有趣的答案:https : //github.com/dice-group/gerbil/wiki/Precision,-Recall-and-F1-measure

该模块的作者根据真阳性,假阳性和假阴性是否全部为0来输出不同的准确性和回忆性评分。

在极少数情况下,Precision或Recall的计算可能会导致被0除。关于精度,如果注释器的答案内没有结果,则可能发生这种情况,因此,真假肯定为0对于这些特殊情况,我们定义为,如果真阳性,假阳性和假阴性均为0,则精度,召回率和F1度量为1。这可能在金标准包含不带任何文档的文档的情况下发生。注释和注释器(正确)不返回任何注释。如果真实肯定值为0,并且其他两个计数器之一大于0,则精度,召回率和F1度量为0。

我不确定这种评分方式是否可以在特殊情况之外的其他情况下使用,但值得考虑。


1

在高阈值下评估分类器时,当召回率为0时,精度(通常实际上)可能不是1。通常为N / A!我认为人们如何绘制P / R曲线存在问题。避免不适用样本在避免奇异样本的意义上是一种偏见。我忽略了N / A个样本,计算出平均召回率的平均精度wrt,而对于对象检测中的浅层神经网络,我从来没有得到一个从0开始召回的分类器。对于使用tp,fp,fn数计算的曲线也是如此。用纸和铅笔验证单个图像非常容易。例如:我有一个为单个图像输出的分类器:preds = [。7 .6 .5 .1 .05] true = [nynny]通过计算具有各种阈值的混淆矩阵,我们得到:tp = [2 1 1 1 0 0],fn = [0 1 1 1 2 2],fp = [3 3 2 1 1 0]。召回rec = [1 .5 .5 .5 0 0],精度= [。4 .25 1/3 .5 0 NaN]。我看不到用1代替NaN或precision(@ recall == 0)的意义。1应该是一个上限,而不是我们用precision(@ recall == 0)代替的值。

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.