发布时间:2023-04-20 文章分类:电脑百科 投稿人:王小丽 字号: 默认 | | 超大 打印

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

  • 概念理解
  • 准确率(accuracy)
  • 精确率(也叫查准率,precision)
  • 召回率(也叫查全率,recall)
  • F1-score

概念理解

TP(True Positives):真正例,预测为正例而且实际上也是正例;

FP(False Positives):假正例,预测为正例然而实际上却是负例;

FN(false Negatives):假负例,预测为负例然而实际上却是正例;

TN(True Negatives):真负例,预测为负例而且实际上也是负例。

真实值(True) 真实值(False)
预测值(Positive) 真正例(TP) 假正例(FP)
预测值(Negative) 假负例(FN) 真负例(TN)

准确率(accuracy)

所有预测正确的样本(包含正例或负例均预测正确,即正例预测为正TP或负例预测为负TN)占总样本的比例。


a
c
c
u
r
a
c
y
=
T
P
+
T
N
T
P
+
F
P
+
F
N
+
T
N
accuracy = \dfrac{TP+TN}{TP+FP+FN+TN}
accuracy=TP+FP+FN+TNTP+TN

虽然准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。在样本不平衡的情况下,得到的高准确率没有任何意义,此时准确率就会失效。

精确率(也叫查准率,precision)

预测为正的正例样本与全部预测为正例的样本 (对于预测而言,包括真正例TP,假正例FP)的比值。即正确预测为正的占全部预测为正的比例,(真正正确的占所有预测为正的比例)

p
r
e
c
i
s
i
o
n
=
T
P
T
P
+
F
P
precision= \dfrac{TP}{TP+FP}
precision=TP+FPTP

我们关心的主要部分是正例,所以查准率就是相对正例的预测结果而言,正例预测的准确度。直白的意思就是模型预测为正例的样本中,其中真正的正例占预测为正例样本的比例,用此标准来评估预测正例的准确度。
精确率代表对正样本结果中的预测准确程度,准确率则代表整体的预测准确程度,包括正样本和负样本。

召回率(也叫查全率,recall)

预测为正的正例占全部实际为正例的样本 (可能将实际正例预测为正例即真正例TP,也可能实际正例预测为负例即假负例FN)的比例(真正正确的占所有实际为正的比例)
以实际样本为判断依据,实际为正例的样本中,被预测正确的正例占总实际正例样本的比例。

p
r
e
c
i
s
i
o
n
=
T
P
T
P
+
F
N
precision= \dfrac{TP}{TP+FN}
precision=TP+FNTP

F1-score

精确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”:追求精确率高,则召回率就低;追求召回率高,则通常会影响精确率。我们当然希望预测的结果精确率越高越好,召回率越高越好, 但事实上这两者在某些情况下是矛盾的。这样就需要综合考虑它们,最常见的方法就是F-score。 也可以绘制出P-R曲线图,观察它们的分布情况。
F1值为算数平均数除以几何平均数,且越大越好,将Precision和Recall的上述公式带入会发现,当F1值小时,True Positive相对增加,而false相对减少,即Precision和Recall都相对增加,即F1对Precision和Recall都进行了加权。

F
1
=
2

p
r
e
c
i
s
i
o
n

r
e
c
a
l
l
p
r
e
c
i
s
i
o
n
+
r
e
c
a
l
l
=
2
T
P
2
T
P
+
F
P
+
F
N
F_1= \dfrac{2*precision*recall}{precision+recall}=\dfrac{2TP}{2TP+FP+FN}
F1=precision+recall2precisionrecall=2TP+FP+FN2TP

一般来说准确率和召回率呈负相关,一个高,一个就低,如果两个都低,一定是有问题的。 一般来说,精确度和召回率之间是矛盾的,这里引入F1-Score作为综合指标,就是为了平衡准确率和召回率的影响,较为全面地评价一个分类器。F1是精确率和召回率的调和平均。F1-score越大说明模型质量更高。