精度定义为:
p =真阳性/(真阳性+假阳性)
如果(真肯定+假肯定)= 0,那么精度的值是多少?它只是不确定的吗?
召回相同的问题:
r =真阳性/(真阳性+假阴性)
在这种情况下,如果(真肯定+假否定)= 0,召回值是多少?
PS这个问题与问题非常相似,在极端情况下,精度和召回率的正确值是多少?。
精度定义为:
p =真阳性/(真阳性+假阳性)
如果(真肯定+假肯定)= 0,那么精度的值是多少?它只是不确定的吗?
召回相同的问题:
r =真阳性/(真阳性+假阴性)
在这种情况下,如果(真肯定+假否定)= 0,召回值是多少?
PS这个问题与问题非常相似,在极端情况下,精度和召回率的正确值是多少?。
Answers:
这里提供了一个有趣的答案:https : //github.com/dice-group/gerbil/wiki/Precision,-Recall-and-F1-measure
该模块的作者根据真阳性,假阳性和假阴性是否全部为0来输出不同的准确性和回忆性评分。
在极少数情况下,Precision或Recall的计算可能会导致被0除。关于精度,如果注释器的答案内没有结果,则可能发生这种情况,因此,真假肯定为0对于这些特殊情况,我们定义为,如果真阳性,假阳性和假阴性均为0,则精度,召回率和F1度量为1。这可能在金标准包含不带任何文档的文档的情况下发生。注释和注释器(正确)不返回任何注释。如果真实肯定值为0,并且其他两个计数器之一大于0,则精度,召回率和F1度量为0。
我不确定这种评分方式是否可以在特殊情况之外的其他情况下使用,但值得考虑。
在高阈值下评估分类器时,当召回率为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)代替的值。