导航

正确率、召回率和 F 值

Posted on 2022-09-04 10:41  rossxp  阅读(392)  评论(0编辑  收藏  举报

TP — True Positive,实际上是正,预测为正。在抽取的任务中,就是预测出了这个span,实际上也有这个span
FP — False Positive,实际上是负,预测为正。在抽取的任务中,就是预测出了这个span,实际上没有这个span
TN — True Negative,实际上是负,预测为负。在抽取的任务中,就是没预测出这个span,实际上也没有这个span
FN — False Negative,实际上是正,预测为负。在抽取的任务中,就是没预测出这个span,实际上有这个span

在目标检测中,TP、FP、FN的意思是

TP(True Positive):与目标框(ground truth) IoU>0.5的检测框数量 (同一个Ground Truth 只计算一次)

FP(False Positive):与目标框 IoU<=0.5的检测框(或者是检测到同一个GT的多余检测框的数量)

FN(False Negative): 没有检测到的目标框的数量

Precision(查准率): TP/(TP + FP)即:所有预测正确的框,与所有预测出来的框(网络最终输出的全部预测框)的比例

Recall(召回率/查全率):TP/(TP + FN) 即:所有预测正确的框,与所有真实框(ground truth)的比例

P-R曲线:以precision和recall为横纵坐标绘制的曲线称为PR曲线

 

 

 

1. 正确率 = 正确识别的个体总数 /  识别出的个体总数

2. 召回率 = 正确识别的个体总数 /  测试集中存在的个体总数

3. F值  = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)

不妨举这样一个例子:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。Seaeagl e撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:

正确率 = 700 / (700 + 200 + 100) = 70%

召回率 = 700 / 1400 = 50%

F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看如果 Seaeagle 把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:

正确率 = 1400 / (1400 + 300 + 300) = 70%

召回率 = 1400 / 1400 = 100%

F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%

由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而 F 值,则是综合这二者指标的评估指标,用于综合反映整体的指标。