机器学习的查准率、查全率和F1-score

目录

  • 一、简介
    • (一)查准率与查全率
    • (二)F-Score
  • 二、实例
    • (一)问题
    • (二)解决
  • 三、参考资料

一、简介

(一)查准率与查全率

  • 定义
    对于二分类问题,分类结果混淆矩阵与查准/查全率定义如下

机器学习的查准率、查全率和F1-score_第1张图片

副贴另外一张图:
机器学习的查准率、查全率和F1-score_第2张图片

  • 关系:查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。
  • P-R图:以查准率为纵轴、查全率为横轴作图 ,就得到了查准率-查全率曲线
    机器学习的查准率、查全率和F1-score_第3张图片

P-R图直观地显示出学习器在样本总上的查全率、查准率在进行比较时,若一个习器的 P-R 曲线被另一个学习器的曲线完全"包住,则可断言后者的性能优于前者,如图2.3学习器A的性能优学习器 C; 如果两个学习器 P-R 曲线发生了交叉例如图2.3中的 A与B,则难以一般性地断两者孰优孰劣,只能在具体的查准率或者全率条件下进行比较,然而,在很多形下,人们往往仍希望把学习器A与B比出个高低,这时一个比较合理的判据是比较 P-R 曲线节面积的大小,它在定程度上表征了学习器在查准率和查全率上取得相对"双高"的比例。但这个值不太容易估算, 因此人们设计一些综合考虑查准率、查全率的性能度量。
"平衡点 "(Break-Event Point ,简称 BEP)就是这样一个度量,它是"查准率= 查全率"时的取值,如图 2.3 学习器C的 BEP 是0.64,而基于 BEP的比较,可认为学习器 A优于B。

(二)F-Score

  • 定义:P和R指标有时会出现矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure,又称F-Score。F-Measure是P和R的加权调和平均,即:机器学习的查准率、查全率和F1-score_第4张图片

  • F1-score:特别地,当β=1时,也就是常见的F1度量,是P和R的调和平均,当F1较高时,模型的性能越好。
    机器学习的查准率、查全率和F1-score_第5张图片

二、实例

(一)问题

假如某学校准备招标采购一套宿舍行人目标图像识别系统,选择2家公司的产品来测试。测试手段是:从学生宿舍区一段监控视频中识别男生的人数。
实验结果如下:
1)算法1(产品1)的检测结果:检测出“男生”人数82人,其中78人为男生,4人其实是女生;
2)算法2(产品2)的检测结果:检测出“男生”人数88人,其中80人为男生,8人其实是女生;
3)经过人工检测,视频中实际准确的总人数为100人,其中男生80人,女生20人。
请问算法1和算法2的“查准率”“查全率”“F1-score”等分别是多少?你认为哪个更优秀?

(二)解决

1.算法1

  • 由题意得:

    • 正例为: 82 82 82
    • 真正例: T P = 78 TP=78 TP=78
    • 假正例: F P = 4 FP=4 FP=4
    • 反例为: 18 18 18
    • 真反例: T N = 16 TN=16 TN=16
    • 假反例: F N = 2 FN=2 FN=2
  • 所以有:

    • 查准率: P = T P F P + T P ≈ 0.95 P=\frac{TP}{FP+TP}≈0.95 P=FP+TPTP0.95
    • 查全率: R = T P F N + T P = 0.975 R=\frac{TP}{FN+TP}=0.975 R=FN+TPTP=0.975
    • F1-score: F 1 = 2 ∗ P ∗ R P + R ≈ 0.96 F1=\frac{2*P*R}{P+R}≈0.96 F1=P+R2PR0.96

2.算法2

  • 由题意得:

    • 正例为: 88 88 88
    • 真正例: T P = 80 TP=80 TP=80
    • 假正例: F P = 8 FP=8 FP=8
    • 反例为: 12 12 12
    • 真反例: T N = 12 TN=12 TN=12
    • 假反例: F N = 0 FN=0 FN=0
  • 所以有:

    • 查准率: P = T P F P + T P ≈ 0.91 P=\frac{TP}{FP+TP}≈0.91 P=FP+TPTP0.91
    • 查全率: R = T P F N + T P = 1 R=\frac{TP}{FN+TP}=1 R=FN+TPTP=1
    • F1-score: F 1 = 2 ∗ P ∗ R P + R ≈ 0.95 F1=\frac{2*P*R}{P+R}≈0.95 F1=P+R2PR0.95

3.结论
因为算法一的F1-score的值比算法二的F1-score的值高,所以算法一更好。

三、参考资料

西瓜书学习笔记(2)–模型的评估与选择.

你可能感兴趣的:(机器学习,机器学习)