混淆矩阵-召回率、精确率、准确率

混淆矩阵

  • [1 混淆矩阵](#1 混淆矩阵)
  • [2 混淆矩阵指标](#2 混淆矩阵指标)
    • [2.1 准确率](#2.1 准确率)
    • [2.2 精确率](#2.2 精确率)
    • [2.3 召回率](#2.3 召回率)
    • [2.4 特异度](#2.4 特异度)
    • [2.4 假正率](#2.4 假正率)
    • [2.5 假负率](#2.5 假负率)
    • [2.6 F1 分数](#2.6 F1 分数)
  • [3 总结](#3 总结)

1 混淆矩阵

混淆矩阵是一种用于评估分类模型性能的重要工具。它通过矩阵形式清晰地展示了模型对样本进行分类的结果,帮助我们理解模型在不同类别上的表现。

------------ 预测为正类 预测为负类
实际为正类 True Positive (TP) False Negative (FN)
实际为负类 False Positive (FP) True Negative (TN)
  • True Positive (TP): 模型将实际为正类别的样本正确预测为正类别。
  • False Negative (FN): 模型将实际为正类别的样本错误预测为负类别。
  • False Positive (FP): 模型将实际为负类别的样本错误预测为正类别。
  • True Negative (TN): 模型将实际为负类别的样本正确预测为负类别。

通过上述指标,可以计算出一系列性能指标,例如准确率、精确率、召回率和F1分数。这些指标帮助我们量化模型的分类准确性、可靠性和全面性。

  • 注意:混淆矩阵的目的是帮助理解分类模型在不同类别上的表现,即只要是分类模型,可以考虑利用混淆矩阵,例如医学领域中,判断病人是否有某种疾病

2 混淆矩阵指标

2.1 准确率

准确率表示模型正确分类的样本占总样本数的比例,计算方式为:
准确率( A c c u r a c y ) = T P + T N T P + T N + F P + F N 准确率(Accuracy)=\frac{TP+TN}{TP+TN+FP+FN} 准确率(Accuracy)=TP+TN+FP+FNTP+TN

如下图所示:

准确率可以判断总的正确率,但有如下缺点:

  • 在样本不平衡的情况下,并不能作为很好的指标来衡量结果。例如在一个样本中,正样本占99%,负样本占1%,样本是严重不平衡的,无论什么算法,只需要将全部样本预测为正样本即可有99%的准确率,这体现不出算法的性能

2.2 精确率

精确率又叫查准率 。精确率表示所有被预测 为正的样本中实际为正的样本的概率,它是针对预测结果 而言的,计算方式为:
精确率( P r e c i s i o n ) = T P T P + F P 精确率(Precision)=\frac{TP}{TP+FP} 精确率(Precision)=TP+FPTP

如下图所示:

准确率和精确率的区别如下:

  • 精准率代表对预测的正样本结果中的预测准确程度
  • 准确率则代表整体的预测准确程度

2.3 召回率

召回率,也称为 True Positive Rate (TPR) 或灵敏度或查全率 ,它表示在实际为正 的样本中被正确预测为正样本的概率,它是针对原样本 而言的,计算公式如下:
召回率( T P R ) = T P T P + F N 召回率(TPR)=\frac{TP}{TP+FN} 召回率(TPR)=TP+FNTP

如下图所示:

召回率的应用场景:例如银行贷款等,将无信用的用户设定为正样本,这就需要保证召回率要足够高。如果召回率过低,就会把无信用用户预测为有信用用户,这样会造成严重损失。

2.4 特异度

特异度,也称为 True Negative Rate (TNR),它表示在实际为负 的样本中被正确预测为负样本的概率,它是针对原样本 而言的,计算公式如下:
特异度( T N R ) = T N T N + F P 特异度(TNR)=\frac{TN}{TN+FP} 特异度(TNR)=TN+FPTN

如下图所示:

特异度的应用场景:例如银行贷款等,将无信用的用户设定为负样本,这就需要保证召回率要足够高。如果召回率过低,就会把无信用用户预测为有信用用户,这样会造成严重损失。

2.4 假正率

假正率,也称为False Positive Rate (FPR) ,它表示在实际为负 的样本中被错误预测为正样本的概率,它是针对原样本 而言的,计算公式如下:
假正率( F P R ) = F P F P + T N 假正率(FPR)=\frac{FP}{FP+TN} 假正率(FPR)=FP+TNFP

如下图所示:

2.5 假负率

假负率,也称为False Negative Rate (FNR) ,它表示在实际为正 的样本中被错误预测为负样本的概率,它是针对原样本 而言的,计算公式如下:
假负率( F N R ) = F N T P + F N 假负率(FNR)=\frac{FN}{TP+FN} 假负率(FNR)=TP+FNFN

如下图所示:

2.6 F1 分数

F1 分数是精确率和召回率的调和平均数,它综合了两者的性能,计算方式为:
F 1 = 2 × 精确率 × 召回率 精确率 + 召回率 F1=\frac{2×精确率×召回率}{精确率+召回率} F1=精确率+召回率2×精确率×召回率

F1的特点如下:

  • F1 分数的取值范围是 [0, 1],越接近 1 表示模型的性能越好,同时考虑到了模型在精确率和召回率之间的平衡。
  • F1 分数非常适合二分类问题
  • F1 分数越高则越意味着模型在查准率和查全率之间取得了良好的平衡

3 总结

混淆矩阵的主要性能指标,作如下总结:

  • 准确率:模型正确分类的样本占总样本数的比例,准确率衡量了模型在所有样本上的整体表现
  • 精确率:模型预测为正类别的样本中实际是正类别的概率,精确率衡量了模型在预测为正类别的样本上的准确性
  • 召回率:实际为正类别的样本中,正确预测为正样本的概率,召回度衡量了在实际为正样本中正确预测为正样本的预测概率
  • F1分数:精确率和召回率的调和平均数,F1分数衡量了精确率和召回率之间的平衡

混淆矩阵和上述性能指标共同提供了对分类模型性能全面的理解,并帮助评估模型的优缺点,进而进一步优化模型

参考如下:

  1. 机器学习,周志华
  2. 混淆矩阵(Confusion Matrix)
  3. 机器学习中的召回率、精确率、准确率
相关推荐
Python极客之家4 分钟前
基于深度学习的眼部疾病检测识别系统
人工智能·python·深度学习·毕业设计·卷积神经网络
繁依Fanyi22 分钟前
828 华为云征文|华为 Flexus 云服务器部署 RustDesk Server,打造自己的远程桌面服务器
运维·服务器·开发语言·人工智能·pytorch·华为·华为云
shuxianshrng24 分钟前
鹰眼降尘系统怎么样
大数据·服务器·人工智能·数码相机·物联网
说私域28 分钟前
开源 AI 智能名片小程序:开启内容营销新境界
人工智能·小程序
红米煮粥34 分钟前
OpenCV-直方图
人工智能·opencv·计算机视觉
DisonTangor1 小时前
上海人工智能实验室开源视频生成模型Vchitect 2.0 可生成20秒高清视频
人工智能·音视频
科技评论AI1 小时前
Adobe预览今年晚些时候推出的AI视频工具
人工智能·adobe
美狐美颜sdk1 小时前
探索视频美颜SDK与直播美颜工具的开发实践方案
人工智能·计算机视觉·音视频·直播美颜sdk·视频美颜sdk
kay_5451 小时前
YOLOv8改进 | 模块缝合 | C2f 融合SCConv提升检测性能【CVPR2023】
人工智能·python·深度学习·yolo·目标检测·面试·yolov8改进
DisonTangor2 小时前
Mistral AI 又又又开源了闭源企业级模型——Mistral-Small-Instruct-2409
人工智能·开源