准确率召回率怎么算(准确率、精确率、召回率、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+FNTPF1-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+recall2∗precision∗recall=2TP+FP+FN2TP 一般来说准确率和召回率呈负相关 ,一个高 ,一个就低 ,如果两个都低 ,一定是有问题的 。 一般来说 ,精确度和召回率之间是矛盾的 ,这里引入F1-Score作为综合指标,就是为了平衡准确率和召回率的影响 ,较为全面地评价一个分类器。F1是精确率和召回率的调和平均 。F1-score越大说明模型质量更高 。创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!