真正例是什么?实际为正、也被判为正的样本
真正例(True Positive,TP),也叫真阳性,是指在二分类问题中,实际上属于正类、并且模型也正确地预测为正类的样本。它是混淆矩阵中的四种基本情况之一,也是计算很多评价指标的基础。
二分类结果的四种情况
在二分类问题中,通常把我们关心或要检测的那一类叫作正类,比如“患病”“是垃圾邮件”“是欺诈交易”,另一类叫作反类或负类。把样本的真实类别与模型的预测结果组合起来,有四种情况。真正例:实际为正,预测也为正,判对了。比如一位真正的患者被检测为阳性。假正例,也叫假阳性:实际为反,却被预测为正,这是误报。比如一位健康的人被误检为阳性。假反例,也叫假阴性:实际为正,却被预测为反,这是漏报。比如一位真正的患者被漏检。真反例,也叫真阴性:实际为反,预测也为反,判对了。比如一位健康的人被检测为阴性。名称中的“真”和“假”表示预测是否正确,“正”和“反”表示预测的结果。把这四种情况的数量排成一个二行二列的表格,就是混淆矩阵。
以真正例为核心的指标
很多常用的评价指标都以真正例的数量作为分子。查准率,也叫精确率:真正例除以真正例与假正例之和,即所有被判为正例的样本中,有多少是真正的正例,衡量预测的准确程度。查全率,也叫召回率或真正例率:真正例除以真正例与假反例之和,即所有真正的正例中,有多少被找了出来,衡量找得全不全。F1 分数:查准率与查全率的调和平均。准确率:真正例与真反例之和除以样本总数,衡量所有判断中正确的比例。
一个例子
假设一个垃圾邮件过滤器处理了 1000 封邮件,其中实际有 100 封是垃圾邮件。过滤器把 95 封邮件标记为垃圾邮件,其中 80 封确实是垃圾邮件,另外 15 封是被误判的正常邮件。那么:真正例是 80,假正例是 15,假反例是 100 减 80 等于 20,真反例是 900 减 15 等于 885。由此可以算出:查准率是 80 除以 95,约为 84%;查全率是 80 除以 100,即 80%。
在其他任务中的真正例
在目标检测中,判断一个预测框是否为真正例,需要看它与某个真实物体框的交并比是否超过设定的阈值,比如 0.5,并且类别正确;同一个真实物体只能匹配一个预测框,多余的重复框被计为假正例。在信息检索中,真正例就是被检索出来、并且确实相关的文档。在多分类问题中,可以把每一个类别分别看作正类、其他所有类别看作反类,分别统计每个类别的真正例数量,再计算各个类别的指标并进行平均。
需要注意的是,正类和反类的划分是人为指定的,通常把少数的、关心的那一类作为正类。如果交换了正类和反类,真正例和真反例的含义也会随之互换,查准率和查全率等指标的数值也会改变,因此在报告结果时应当说明正类指的是什么。