资讯

查准率是什么?模型说“是”的里面有多少真的是

2026-11-053 分钟阅读百科
TL;DR查准率(Precision),又称精确率,是被模型判为正例的样本中真正正例所占的比例,等于真阳性除以真阳性与假阳性之和,衡量预测的可靠程度;它与衡量找全程度的查全率(召回率)通常此消彼长,需根据场景权衡,可用 P-R 曲线和 F1 分数综合评价。

查准率(Precision),也叫精确率或准确度,是评价分类模型和检索系统的一个重要指标。它衡量的是:在所有被模型判定为正例的样本中,有多大比例是真正的正例。换句话说,就是模型说“是”的那些里面,有多少说对了。

如何计算

在二分类问题中,模型的预测结果可以分为四种情况:真阳性,实际是正例、模型也判为正例;假阳性,实际是反例、模型却判为正例,也就是误报;真阴性,实际是反例、模型也判为反例;假阴性,实际是正例、模型却判为反例,也就是漏报。查准率等于真阳性的数量,除以真阳性与假阳性数量之和,也就是除以所有被判为正例的样本数量。

举个例子:一个垃圾邮件过滤器把 100 封邮件标记为垃圾邮件,其中 90 封确实是垃圾邮件,另外 10 封是被误判的正常邮件。那么它的查准率就是 90%。查准率越高,说明模型的判断越可靠,误报越少。

查准率与查全率

查准率通常与另一个指标一起出现:查全率,也叫召回率。查全率衡量的是:在所有真正的正例中,有多大比例被模型找了出来。它等于真阳性的数量,除以真阳性与假阴性数量之和。还是用垃圾邮件的例子:如果实际上一共有 150 封垃圾邮件,过滤器找出了其中的 90 封,查全率就是 60%。

这两个指标往往是相互矛盾的,此消彼长。大多数模型会给出一个分数或概率,再与一个阈值进行比较来做出判断。如果把阈值设得很高,只有非常有把握的才判为正例,查准率会很高,但会漏掉很多正例,查全率就低;如果把阈值设得很低,宽松地把很多样本都判为正例,能找出大部分正例,查全率高了,但其中会混入很多误判,查准率就低。打个比方,查准率关心的是“抓到的有多少是真坏人”,查全率关心的是“所有坏人中抓到了多少”。抓得越谨慎,冤枉的好人越少,但可能放走一些坏人;抓得越宽泛,漏网之鱼越少,但可能冤枉更多的好人。

根据场景来权衡

在不同的应用中,对两个指标的重视程度不同。更重视查准率的场景:垃圾邮件过滤,把一封重要的正常邮件误判为垃圾邮件、让用户错过,代价往往比放过几封垃圾邮件更大;推荐系统,向用户推荐的内容应该尽量都是他感兴趣的,推荐一堆不相关的内容会让用户反感;搜索引擎排在最前面的结果,应该尽量都是相关的。更重视查全率的场景:疾病筛查,宁可多一些误报,也要尽量不漏掉真正的病人;金融反欺诈和安全监控,漏掉一次真正的威胁可能代价巨大;法律文书检索中,需要尽量找全所有相关的案例。

综合的评价方法

P-R 曲线:以查全率为横轴、查准率为纵轴,画出模型在不同阈值下的表现,曲线越靠近右上角,模型越好。曲线下的面积,也就是平均精度(AP),是目标检测和信息检索中常用的指标。F1 分数:查准率和查全率的调和平均,只有两者都高时,F1 分数才会高。如果更看重其中一个,可以使用 F-beta 分数调整两者的权重。在多分类的问题中,可以对每个类别分别计算查准率,再取平均。