一句话定义:PR 曲线(Precision-Recall Curve)是把模型在各个判定阈值下的精确率(Precision)和召回率(Recall)依次描点连成的曲线,用来观察“报得准”和“抓得全”之间的权衡。
两个坐标轴先讲清楚。以反欺诈为例:精确率看“我们报出来的可疑交易里,有多少是真欺诈”,即报警的纯度;召回率看“所有真欺诈里,我们抓到了几成”,即覆盖的广度。分类模型通常输出一个概率分数,此时选阈值决定哪些分数算“报警”,就相当于选择一个工作点。
打一个保安的比方:商场里有 10000 人,其中 3 个小偷。保安可以只盯最可疑的 1 个人,精确率可能 100%,但召回率只有 33%;也可以把 200 个“看着别扭”的人都拦下来,小偷全抓到(召回率 100%),但精确率只剩 1.5%,要挨 197 次投诉。阈值往左调,召回率涨、精确率跌;往右调则相反。PR 曲线就是这条权衡线,越靠右上越好;曲线下的面积叫 AP(Average Precision),口语里常被称作 PR-AUC。
它和 ROC/AUC 差在哪。ROC 曲线的横轴是假正率(FPR = 误报数 ÷ 全部负样本)。负样本极多时(一亿条正常交易里 100 条欺诈),FPR 从 0.0001 涨到 0.001 在图上几乎看不出变化,可绝对误报量已经从 1 万涨到 10 万,业务侧已经无法承受。AUC 对这个不敏感,因为它的分母是负样本总数;PR 曲线的精确率分母是“所有被报警的样本”,它直接回答业务最关心的问题:报警里有多少是真的。
| ROC / AUC | PR 曲线 / AP | |
|---|---|---|
| 横轴 | 假正率 FPR | 召回率 Recall |
| 纵轴 | 真正率 TPR | 精确率 Precision |
| 分母视角 | 全体负样本 | 被报警的样本 |
| 极不平衡数据 | 容易显得乐观 | 更敏感、更诚实 |
| 典型场景 | 类别大致均衡、关注排序 | 正类稀少、关注报警质量 |
对从业者的实际意义。反欺诈、疾病筛查、工业缺陷检测、内容审核、线上告警,正类往往只占千分之几到百分之几,这时 PR 曲线更有参考价值。它还能直接作为成本换算表:从曲线上读“召回率保到 90% 时精确率还剩多少”,再乘上日均样本量,就知道每天会有多少误报、要配几个人工复核。另外两点容易忽略:随机猜测的 PR 基线约等于正类占比(不是 0.5),所以 1% 正类场景下 AP 0.3 可能已经不错;换一个正负比例不同的测试集,AP 会跟着变,跨数据集比较要谨慎。指标的具体计算口径以所用库或论文的定义为准。
