【机器学习和深度学习】分类问题通用评价指标:精确率、召回率、准确率和混淆矩阵

分类问题通用评价指标:精确率、召回率、准确率和混淆矩阵

v1.0

分类问题的评价

对于1个分类问题,不论其是二分类问题 还是多分类问题 ,或者是多标签分类问题(1个样本可以有多个类别),都可以对其判定结果进行统计,以类别为单位统计其各个指标,来衡量模型对该类别的预测情况。基于对某个分类的4种分类判别情况,引出了精确率、召回率、准确率和F1 Score的评价指标。

分类问题对特定样本类别的判定情况

对特定样本类别A分类判定的4种情况

  • T P TP TP(True Positive) 真阳性,某条样本判定为A类样本,实际也为A类样本
  • F P FP FP(False Positive)假阳性,某条样本判定为A类样本,但实际不为A类样本
  • T N TN TN(True Negative)真阴性,某条样本判定不为A类样本,实际也不为A类样本
  • F N FN FN(False Negative)假阴性,某条样本判定不为A类样本,但实际为A类样本

在其中T表示预测结果是正确的,F表示预测结果是错误的,P表示预测样本为A类别,N表示预测样本不为A类别。

混淆矩阵(Confusion Matrix)

混淆矩阵以表格形式,展示了模型对A类样本的预测情况,表格为2×2的尺寸,以是否预测是否为A类样本真实是否为A类样本2个维度进行列举。

真实为A类 真实非A类
预测为A类 TP FP
预测非A类 FN TN

其中T表示预测正确,F表示预测错误,P表示预测为A类样本,N表示预测为非A类样本。

这其中需要注意的是FN类别,这个类别表示预测样本不是A类别(N),但是预测错误了(F),因此这个类别实际上是属于A类别的。

精确率(Precision)

精确率为判断为A类的样本中,实际为A类样本的百分比 ,公式如下:
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
精确率指标反映了模型对A类样本的误检情况 ,模型在检测到为A类样本时,误检情况越少,精确率越高。

精确率不反映漏检的情况,即只是在模型判断样本为A类时进行的统计,仍有一些样本属于A类,但被判别为其他类(B类、C类)等,这些样本对于A类来说属于FN,不参加精确度的计算。

召回率(Recall)

对所有所有A类样本进行判段,有2种情况,被正确判断为A类的样本和被误判为其他类的样本。召回率为正确判断为A类的样本,占总体A类样本的比例 。公式如下:
R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
召回率反映的是A类样本的漏检情况。若A类样本无漏检,则A类样本的召回率为100%,但此时仍可能出现属于其他类别的样本,被误判为A类样本的情况,这种情况为FP。根据召回率的定义和公式,FP的情况并不影响召回率。

准确率(Accuracy)

准确率用来衡量对于A类样本,预测正确的样本数占样本总数的比例 。这里正确的样本包括属于A类且预测为A类的情况(TP) ,也包括不属于A类,也没有被判别为A类的情况(TN) 。准确率的公式如下:
A c c u r a c y = T P + F N T P + T N + F P + F N = T T + F Accuracy=\frac{TP+FN}{TP+TN+FP+FN}=\frac{T}{T+F} Accuracy=TP+TN+FP+FNTP+FN=T+FT

准确率既考虑漏检情况(FN),也考虑误检情况(FP)。在二分类的情况下,准确率是一个全局指标。在多分类问题中,可以单独考虑每类样本的准确率。

F1 Score

F1 Score用来综合反应模型对样本类别A的预测情况,结合使用了样本类别A的精确率和召回率 。F1 Score公式如下:
1 F 1 S c o r e = 1 2 ⋅ ( 1 P r e c i s i o n + 1 R e c a l l ) \frac{1}{F1\space{Score}}=\frac{1}{2}\cdot(\frac{1}{Precision}+\frac{1}{Recall}) F1 Score1=21⋅(Precision1+Recall1)

或者将上式化简,将F1 Score单独放到左边,得到如下公式:
F 1 S c o r e = 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 F1\space{Score}=\frac{2{\cdot}Precision{\cdot}Recall}{Precision+Recall} F1 Score=Precision+Recall2⋅Precision⋅Recall
F1 Score的取值范围为 [ 0 , 1 ] [0,1] [0,1] ,在精确率和召回率都为 100 100% 100时为 1 1 1。F1 Score越高,模型对A类样本的预测总体性能越好。

相关推荐
无风听海4 小时前
神经网络之经验风险最小化
人工智能·深度学习·神经网络
我不是QI6 小时前
周志华《机器学习---西瓜书》 一
人工智能·python·机器学习·ai
H***99766 小时前
月之暗面公开强化学习训练加速方法:训练速度暴涨97%,长尾延迟狂降93%
人工智能·深度学习·机器学习
长桥夜波6 小时前
机器学习日报20
人工智能·机器学习
FL16238631298 小时前
无人机视角航拍河道漂浮物垃圾识别分割数据集labelme格式256张1类别
深度学习
青瓷程序设计10 小时前
昆虫识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
小殊小殊10 小时前
DeepSeek为什么这么慢?
人工智能·深度学习
Coding茶水间12 小时前
基于深度学习的路面坑洞检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
哥布林学者13 小时前
吴恩达深度学习课程三: 结构化机器学习项目 第二周:误差分析与学习方法(一)误差分析与快速迭代
深度学习·ai
Ma04071313 小时前
【机器学习】监督学习、无监督学习、半监督学习、自监督学习、弱监督学习、强化学习
人工智能·学习·机器学习