<>查准率、查全率与 F1 值
混淆矩阵
⾸先定义混淆矩阵 (Confusion matrix):
其中:
• TP (True Positive):表⽰将正样本预测为正例的数⽬。即真实结果为 1,预测结果也为 1。
• TN (True Negative):表⽰将负样本预测为负例的数⽬。即真实结果为 0,预测结果也为 0。
• FP (False Positive):表⽰将负样本预测为正例的数⽬。即真实结果为 0,预测结果为 1。
• FN (False Negative):表⽰将正样本预测为负例的数⽬。即真实结果为 1,预测结果为 0
通过混淆矩阵,我们可以获得错误率和准确性的数学定义:
查准率和查全率的定义与关联
现在我们定义查准率和查全率:
• 查准率 (Precision):也叫精度,简记为 P 或 PPV,表⽰预测为正例的样本中 ( TP + FP ) 有多少是真正的正样本 ( TP )。
•查全率 (Recall):也叫召回率,简记为 R 或 TPR,表⽰在实际真正的正样本中 ( TP + FN ),预测为正例的样本数 ( TP )
所占的⽐例。
查准率表⽰宁愿漏掉,不可错杀。在识别垃圾邮件中偏向这种思路,因为我们不希望正常邮件 (对应为负样本,通常将占多数的类别视为负类)
被误杀,这样会造成严重的困扰。
查全率表⽰宁愿错杀,不可漏掉。在⾦融风控领域偏向这种思路,我们希望系统能够筛选出所有有风险的⾏为或⽤户
(对应为正样本),然后交给⼈⼯鉴别,漏掉⼀个可能造成灾难性后果。
F1 值
⽽很多时候,我们实际上只希望有⼀个单⼀的指标来判断,⽽不是在两个指标之间进⾏权衡。F1 值是 “查准率和查全率” 的调和平均值,它是⼀个⼴为接受的指标:
但是,F1 值会在查准率和查全率上给予同等的权重。在某些情况下,你可能想偏重⼀个,因此我们获得了更⼀般的 Fβ 值:
其中 β ⽤于调整权重,当 β = 1 时两者权重相同,即为 F1 值。如果认为查准率更重要,则减⼩ β;若认为查全率更重要,则增⼤ β。
PR 曲线
但如果你确实想讨论查准率/查全率的关系时,PR 曲线 (Precision-Recall Curve) 可以提供帮助。PR 曲线是针对不同阈值的查准率 P
( y 轴) 和查全率 R ( x 轴) 的图。算法对样本进⾏分类时都会有置信度,即表⽰该样本是正例的概率,⽐如 99% 的概率认为样本 A 是正例,或者
15% 的概率认为样本 B 是正例。通过选择合适的阈值 (⽐如 50%),就对样本进⾏划分,概率⼤于阈值 (50%) 的就认为是正例,⼩于阈值 (50%)
的就是负例。
因此,我们考虑选择不同的阈值,并计算不同阈值情况下的查准率和查全率又是如何。具体做法是通过置信度对所有样本进⾏排序,再逐个样本的
选择阈值
(以该样本的置信度作为阈值),在该样本之前的都视作正例,该样本之后的都视作负例。将每⼀个样本分别作为划分阈值,并计算对应的查准率和查全率,就可以绘制 PR
曲线。