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

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. 机器学习中的召回率、精确率、准确率

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-17 07:54:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-17 07:54:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-17 07:54:01       82 阅读
  4. Python语言-面向对象

    2024-06-17 07:54:01       91 阅读

热门阅读

  1. 【Python】 Stacking: 强大的集成学习方法

    2024-06-17 07:54:01       36 阅读
  2. Flutter 实现StackAllocator简化FFI局部变量的内存管理

    2024-06-17 07:54:01       34 阅读
  3. python 异常处理、随机数、

    2024-06-17 07:54:01       32 阅读