P/R/F1 怎么选
精确率(判为正中真正例的比例)、召回率(真正例中被找出的比例)、F1(两者的调和平均)之间的取舍由业务代价决定:误报昂贵就盯精确率,漏报昂贵就盯召回。阈值一动,两个指标就交换:调低判定门槛召回上升、精确率下降,因此报告指标必须同时写明阈值,否则两次数值不可比。
基本信息
| 精确率 | TP / (TP + FP),衡量误报 |
|---|---|
| 召回率 | TP / (TP + FN),衡量漏报 |
| F1 | 2PR / (P + R),两类代价接近时适用 |
| 报告要求 | 必须写明判定阈值与样本口径 |
典型使用场景
- 安全告警:漏报代价高,指标以召回下限为主,附带误报率
- 内容审核:误杀代价高,以精确率为主,单独统计误杀样本
- 抽取任务:字段精确率决定入库质量,召回率决定覆盖率
- 风控名单:阈值附近样本单独抽查,看两类的错判方向
- 评测对比:多版本对比时固定阈值,否则差异无法归因
计算与报告示例
计算与报告示例
tp, fp, fn = 82, 13, 25
precision = tp / (tp + fp) # 0.863
recall = tp / (tp + fn) # 0.766
f1 = 2 * precision * recall / (precision + recall) # 0.812
# 报告里同时写明阈值与样本集版本,缺一样就无法对比
# 安全类场景额外给出召回下限,如「召回不低于 0.95」
# 阈值附近样本单独列出,人工抽查这一带的错判方向指标选择对照
| 业务代价 | 优先指标 | 补充动作 |
|---|---|---|
| 误报贵(审核、封禁) | 精确率 | 统计误杀样本,抽样复核 |
| 漏报贵(安全、风控) | 召回率 | 设召回下限,容忍部分误报 |
| 两类接近 | F1 | 同时看 P 与 R 的绝对值 |
| 阈值可变 | P-R 曲线 | 报告使用点的阈值与对应指标 |
换阈值后 P/R 会大幅变化,报告不带阈值就不可比;版本对比必须固定阈值与样本集。
F1 在两侧代价悬殊时会产生误导;安全类场景通常要求单独的召回下限,而不是一个折中分数。