【概念+实例】一文搞懂准确率、精确率、召回率、F1分数

编程入门 行业动态 更新时间:2024-10-24 04:32:31

【概念+实例】一文搞懂<a href=https://www.elefans.com/category/jswz/34/1746002.html style=准确率、精确率、召回率、F1分数"/>

【概念+实例】一文搞懂准确率、精确率、召回率、F1分数

概念

机器学习中,对于二分类的问题,我们一般通过准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1分数等指标来评测模型的好坏,之前一直没搞明白是怎么计算的,今天终于弄清楚来,于是把它们记录下来。

混淆矩阵(Confusion Matrix)

先看一个概念混淆矩阵,它是一种特定的矩阵用来呈现算法性能的可视化效果,通常是监督学习(非监督学习,通常用匹配矩阵:matching matrix)。其每一列代表预测值,每一行代表的是实际的类别。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)。

为什么要先看它,因为计算准确率、精确率、召回率需要通过其中不同维度的值来计算,看下表:

PositiveNegative
TrueTrue Positive(TP)True Negative(TN)
FalseFalse Positive(FP)False Negative(FN)

解释一下表格中的参数概念(这里的正负只是一个代称,就是描述一个对立的概念):
True Positive(真正例, TP):将正类预测为正类数
True Negative(真负例, TN):将负类预测为负类数
False Positive(假正例, FP):将负类预测为正类数
Flase Negative(假负例, FN):将正类预测为负类数

** 通俗点说就是,True这一行,预测的都是正确的,正为正,负为负,False这一行,预测的都是错误的,正的被预测为负的,负的被预测为正的**

准确率 Accuracy

准确率可以理解为所有数据中,预测正确的占比多少:

Accuracy = T P + T N T P + T N + F P + F N {TP+TN} \over {TP+TN+FP+FN} TP+TN+FP+FNTP+TN​

精确率 Precision

精确率可以理解为正例样本在所有预测为正例样本中的占比:

Precision = T P T P + F P {TP} \over {TP+FP} TP+FPTP​

召回率 Recall

召回率可以理解为预测正确的正例样本在所有真正正例样本中的占比:

Recall = T P T P + F N {TP} \over {TP+FN} TP+FNTP​

F1分数

F1分数是精确率与召回率的调和平均数,就是综合考虑精确率与召回率的一个评价指标:

F1 = 2 × P r e c i s i o n × R e c a l l P r e s s i o n + R e c a l l {2×Precision×Recall} \over {Pression+Recall} Pression+Recall2×Precision×Recall​

举个例子

举个例子看一下就懂了:

序列号12345678910
真实喜欢与否TrueTrueFalseFalseTrueTrueFalseTrueTrueFalse
预测喜欢与否TrueTrueTrueFalseTrueTrueTrueFalseTrueFalse

根据上表:
TP(真正例),原本为True,预测也为True的个数一共是5个;
FN(假负例),原本为True,预测为False的个数一共是1个;
TN(真负例),原本为False,预测也为False的个数一共是2个;
FP(假正例),原本为False,预测为True的个数一共是2个。

所以根据公式,此时:

准确率Accuracy = T P + T N T P + T N + F P + F N {TP+TN} \over {TP+TN+FP+FN} TP+TN+FP+FNTP+TN​ = 5 + 2 5 + 2 + 2 + 1 {5+2} \over {5+2+2+1} 5+2+2+15+2​*100% = 70%

精确率Pression = T P T P + F P {TP} \over {TP+FP} TP+FPTP​ = 5 5 + 2 {5} \over {5+2} 5+25​*100% = 71.4%

召回率Recall= T P T P + F N {TP} \over {TP+FN} TP+FNTP​ = 5 5 + 1 {5} \over {5+1} 5+15​*100% = 83.3%

F1分数 = 2 × P r e c i s i o n × R e c a l l P r e s s i o n + R e c a l l {2×Precision×Recall} \over {Pression+Recall} Pression+Recall2×Precision×Recall​ = 76.92%

总结

绝大多数情况下,在模型评价中,这些值越大越好

如果有用的话,记得点赞、评论、关注哦!

更多推荐

【概念+实例】一文搞懂准确率、精确率、召回率、F1分数

本文发布于:2023-11-17 00:55:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1637091.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:准确率   一文   精确   分数   实例

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!