【机器学习300问】102、什么是混淆矩阵?

一、混淆矩阵的定义

        混淆矩阵是一种用于评估分类模型性能的评估指标。当模型对数据进行预测并将数据分配到预定义的类别时,混淆矩阵提供了一种直观的方式来总结这些预测与数据实际类别之间的对应关系。具体来说,它是一个表格

二、分类模型性能评估一级指标

分类模型的性能评估指标有三个等级,一级评估指标如下:

  1. 真正例(True Positives, TP):模型预测为正类,实际上也是正类的样本数。
  2. 假正例(False Positives, FP):模型预测为正类,但实际上为负类的样本数。
  3. 真负例(True Negatives, TN):模型预测为负类,实际上也是负类的样本数。
  4. 假负例(False Negatives, FN):模型预测为负类,但实际上为正类的样本数。

混淆矩阵就是根据一级分类指标得到的一张表。 

我自己的理解是三句话:

第一句:分类你可以理解成猜迷,猜的对不对用“T真,F假”来表示。

第二句:你猜的这个东西的时候,你猜测它类别是“P正”还是“N负”。

第三句:你猜的这个东西,它本身的分类用“标签label”表示。

所以按照上面的三句话理解,举几个例子:

情况一:这个东西,本来的“标签”是“正”的,我猜它是“正”,意味着我猜对了,故TP。

情况二:这个东西,本来的“标签”是“负”的,我猜它是“负”,意味着我猜对了,故TN。

情况三:这个东西,本来的“标签”是“正”的,我猜它是“负”,意味着我猜错了,故FN。

情况四:这个东西,本来的“标签”是“负”的,我猜它是“正”,意味着我猜错了,故FP。

二、分类模型性能评估二级指标

        分类模型的二级评估指标在之前的文章中提到过,但没有总结过。因此在本文章简单总结一下:

四个二级指标
二级指标 公式 意义
准确率(Accuracy) Accuracy=\frac{TP+TN}{TP+TN+FP+FN} 分类模型所有判断正确的结果占总观测值的比重
精确率(Precision) Precision=\frac{TP}{TP+TN} 在模型预测是Positive的所有结果中,模型预测对的比重

召回率(Recall)

(又叫灵敏度Sensitivity)

Recall=\frac{TP}{TP+FN} 在真实值是Positive的所有结果中,模型预测对的比重
特异度(Specificity) Specificity=\frac{TN}{TN+FP} 在真实值是Negative的所有结果中,模型预测对的比重

更多更详细的知识点,在往期文章中有提到,下面是跳转链接:

【机器学习300问】25、常见的模型评估指标有哪些?icon-default.png?t=N7T8https://blog.csdn.net/qq_39780701/article/details/136407056 

三、分类模型新能评估三级指标

        分类模型的三级评估指标就是F1分数,在之前的文章中提到过。这里就不赘述了。

【机器学习300问】32、F1分数是什么?icon-default.png?t=N7T8https://blog.csdn.net/qq_39780701/article/details/136607068

四、混淆矩阵举例说明 

        以一个图片多分类问题为例,想要判断一张图片是“猫”、“狗”和“猪”其中的哪一种。

 混淆矩阵中的数值是样本数量,如果我们要计算准确率accuracy,那么可以统计所有表中数字的总和做分母。对角线相加做分子(因为对角线上的元素代表模型预测结果是正确的)。可以算出accuracy=\frac{10+15+20}{10+1+2+3+15+4+5+6+20}=\frac{45}{66}=0.6818

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-05 21:10:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-05 21:10:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-05 21:10:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-05 21:10:06       20 阅读

热门阅读

  1. MySQL之数据库字段约束学习笔记(三)

    2024-06-05 21:10:06       10 阅读
  2. GB-T 43698-2024 网络安全技术 软件供应链安全要求

    2024-06-05 21:10:06       8 阅读
  3. MFC CList<CRect, CRect&> m_listRect;的用法

    2024-06-05 21:10:06       10 阅读
  4. 旅游卡系统开发搭建

    2024-06-05 21:10:06       7 阅读
  5. 【vivado】如何用vivado查看高扇出路径

    2024-06-05 21:10:06       10 阅读
  6. IT技术培训班:实用还是虚幻?

    2024-06-05 21:10:06       8 阅读
  7. Flutter 中的 SliverAnimatedList 小部件:全面指南

    2024-06-05 21:10:06       7 阅读
  8. Lua 元表(Metatable)深入解析

    2024-06-05 21:10:06       9 阅读
  9. webpack包含哪些核心模块,分别是做什么的?

    2024-06-05 21:10:06       9 阅读
  10. Python爬虫要掌握哪些东西

    2024-06-05 21:10:06       6 阅读
  11. Qt程序发布工具windeployqt.exe所带来的坑

    2024-06-05 21:10:06       10 阅读
  12. C++中的List

    2024-06-05 21:10:06       8 阅读
  13. x264 参考帧管理原理:i_frame_num 变量

    2024-06-05 21:10:06       10 阅读