Skip to content

准确率、精确率、召回率、F1

Jinxin edited this page Jan 26, 2023 · 1 revision

本文简单记录 准确率、精确率、召回率、F1 的概念

混淆矩阵

实际结果 实际结果
1 0
预测结果 1 TP FP
预测结果 0 FN TN

准确率(Accuracy)

预测正确的样本占总样本的比率:(TP + TN) / (TP + TN + FP + FN)

问题:当样本不均衡的情况下,不能作为很好的衡量指标。(比如,当 90% 的样本都为正样本的时候,模型只需要全部预测为正样本,就能得到 90% 的准确率)

精确率(Precision)

在预测为正的样本中,实际为正的样本所占比率:TP / (TP + FP)

召回率(Recall)

在实际为正的样本中,被预测为正样本所占比率:TP / (TP + FN)

实际例子来说明

假设有 10 篇文章,其中 4 篇是想要找的。模型找到了 5 篇,其中只有 3 篇是想要找的。

  • Accuracy = (3 + (10 - 5 - (4- 3))) / 10 = 70%
  • Precision = 3 / 5 = 60%
  • Recall = 3 / 4 = 75%

以精确率还是准确率来作为衡量指标,需要根据实际的问题来定。

以这次的新冠来说,如果精确率低,表示很多检测为阳性的病人,实际上没有得新冠;如果召回率低,表示很多检测为阴性的人,实际上已经感染了新冠,有扩散风险,所以更加看中召回率这个指标。

F1 score

精确率和召回率又叫查准率和查全率。

精确率和召回率是两个互斥的指标,有些情况下,需要同时考虑精确率和召回率两个指标(希望他们都很高),所以引入一个新的指标:f1 score

f1 score = 2 * Precision * Recall / (Precision + Recall)

参考

Clone this wiki locally