来源 | 数据科学CLUB

封图 | CSDN 下载自视觉中国

混淆矩阵是一个表,经常用来描述分类模型(或“分类器”)在已知真实值的一组测试数据上的性能。混淆矩阵本身比较容易理解,但是相关术语可能会令人混淆。

让我们从一个二进制分类器的混淆矩阵示例开始(尽管它可以很容易地扩展到两个以上的类):

我们能从这个矩阵中了解到什么?

  • 有两种可能的预测类:“yes”和“no”。例如,如果我们预测一种疾病的存在,“yes”意味着他们有这种疾病,“no”意味着他们没有这种疾病。

  • 分类器总共做出165个预测(例如,165名患者正在接受该疾病存在的测试)。

  • 在这165个病例中,分类器预测“yes”110次,“no”55次。

  • 事实上,样本中有105名患者患有此病,60名患者没有患病。

现在让我们定义最基本的术语:

  • true positives (TP): 在这些情况下,我们预测“yes”(他们有这种病),并且他们确实有这种病。

  • true negatives (TN): 我们预测“no”,事实上他们确实没有患病。

  • false positives (FP): 我们预测“yes”,但是他们实际上并没有患病。(也称为“第一类错误”。)

  • false negatives (FN): 我们预测“no”,但他们确实有这种疾病。(也称为“第二类错误”。)

我已经将这些项添加到混淆矩阵中,并且添加了行和列总数:

这是一个比率的列表,通常是从一个混淆矩阵的二元分类器里得出:

  • 准确率(Accuracy):总的来说,分类器的准确率是多少?

    • (TP+TN)/total = (100+50)/165 = 0.91

  • 误分类率(Misclassification Rate):总的来说,错分类的频率是多少?

    • (FP+FN)/total = (10+5)/165 = 0.09

    • 等于1减去准确率

    • 也被称为“错误率(Error Rate)”

  • 真阳性率(True Positive Rate):当它实际上是“yes”时,它预测为“yes”的频率是多少?

    • TP/actual yes = 100/105 = 0.95

    • 也被称为"Sensitivity"或"Recall"

  • 假阳性率(False Positive Rate):当它实际上是“no”的时候,它预测为“yes”的频率是多少?

    • FP/actual no = 10/60 = 0.17

  • 真阴性率(True Negative Rate):当它实际上是“no”时,它预测“no”的频率是多少?

    • TN/actual no = 50/60 = 0.83

    • 等于1减去假阳性率

    • 也被称为"特异性(Specificity)"

  • 精度(Precision):当它预测“yes”类时,正确预测的概率是多少?

    • TP/predicted yes = 100/110 = 0.91

  • Prevalence:在我们的样本中,“yes”条件实际发生的频率是多少?

  • actual yes/total = 105/165 = 0.64

还有几个术语也值得一提:

  • 零错误率(Null Error Rate): 这是如果你总是预测大多数类,你就会错的频率。(在我们的例子中,零错误率将是60/165=0.36,因为如果你总是预测yes,那么您只会在60个“no”的情况下出错。)这可以作为比较分类器的基准度量。然而,对于一个特定的应用程序,最好的分类器有时会有比零错误率更高的错误率,正如 “Accuracy Paradox(精确度悖论)”所证明的那样。

  • Cohen's Kappa: 这本质上是对分类器的性能的一种度量,与它仅仅是偶然的性能进行比较。换句话说,如果模型的准确率和零错误率之间有很大的差异,那么模型的Kappa分数就会很高。

  • F Score:这是真实阳性率(召回率)和正确率的加权平均值。

  • ROC曲线:这是一个常用的图表,它总结了分类器在所有可能阈值上的性能。当你改变将观察值分配给给定类的阈值时,通过绘制真阳性率(y轴)与假阳性率(x轴)来生成它。

推荐阅读
  • 如何成为一名黑客?

  • 一篇与众不同的 String、StringBuilder 和 StringBuffer 详解

  • 干货 | 大白话彻底搞懂 HBase RowKey 详细设计

  • 发送0.55 ETH花费近260万美元!这笔神秘交易引发大猜想

  • Python 爬取周杰伦《Mojito》MV 弹幕,这个评论亮了!

  • 谷歌 Chrome 将弃用“黑名单”,“Master/Slave”主从模式也要换名?

  • 京东姚霆:推理能力,正是多模态技术未来亟需突破的瓶颈!

真香,朕在看了!

一文带你了解混淆矩阵!相关推荐

  1. 一文详尽混淆矩阵、准确率、精确率、召回率、F1值、P-R 曲线、ROC 曲线、AUC 值、Micro-F1 和 Macro-F1

    文章目录 二分类的评价指标 一.混淆矩阵与 TP.TN.FP.FN 二.准确率.精确率.召回率.F1值 三.P-R 曲线 四.ROC 曲线.AUC 值 五.P-R曲线和ROC曲线有什么区别,如何选择? ...

  2. 还在随缘炼丹?一文带你详尽了解机器学习模型可解释性的奥秘

    一只小狐狸带你解锁NLP/ML/DL秘籍 正文来源:腾讯技术工程 所谓炼丹,就是将大量灵材使用丹炉将其凝炼成丹.练成的灵丹蕴含灵材的大部分特性,方便携带,容易吸收.高级仙丹在炼制中更是能吸收天地灵气从 ...

  3. elm分类器功能_一文带你读懂线性分类器

    本文为 AI 研习社编译的技术博客,原标题 : Linear Classifier 作者 | Thomas Pernet 翻译 | 邓普斯•杰弗.涂世文.Disillusion 校对 | 邓普斯•杰弗 ...

  4. 多分类问题中混淆矩阵(Confusion Matrix)的Matlab画法

    在多分类问题中,有一种很实用的分类问题结果统计图. 比如说多类别文类问题,那么每一个类别分到其他类别都有一些数据,但是分到自己类别的毕竟多,这样计算百分比之后就形成了一个矩阵,如果分类正确率高的话,那 ...

  5. python 混淆矩阵_绘制混沌矩阵

    python因为有各种库的支持,所以功能格外强大.在可视化方面,目前用得较多的是matplotlib.在基于matplotlib.pyplot画带色标(colorbar)的图时候,往往为了美观和科研用 ...

  6. 训练的神经网络不工作?一文带你跨过这37个坑

    近日,Slav Ivanov 在 Medium 上发表了一篇题为<37 Reasons why your Neural Network is not working>的文章,从四个方面(数 ...

  7. 错误类型、混淆矩阵及目标检测常用评价指标

    目标检测常用评价指标 本文主要参考陈恺大佬在B站商汤账号的介绍mmdetection的视频. 检测结果的正确/错误类型 真阳性(Ture Positive):算法检测到了某类物体(Positive), ...

  8. 一文带你 GNN 从入门到起飞,做一个饭盆最稳 GNN 饭人!

    摘要:本文介绍了图神经网络在学界和业界的发展情况,并给出了图神经网络的基本概念与表示形式,总结了图神经网络的变体,最后介绍了华为云图神经网络框架. 本文分享自华为云社区<干饭人,干饭魂,搞懂图神 ...

  9. 混淆矩阵评价指标_机器学习:模型训练和评估——分类效果的评价

    图 | 源网络文 | 5号程序员 分类模型建立好后,这个模型到底符不符合要求要怎么评判呢? 事实上是有评价标准的. 要评价模型在测试集上预测结果的好坏,可以使用Sklearn库中的metrics模块方 ...

最新文章

  1. [译]理解js中的event loop
  2. 副业,程序猿的第二职业,聊聊我是怎么做的
  3. qt无法找到动态链接库文件怎么办?
  4. The template root requires exactly one element.
  5. 将5:400等类型的数据转成哈希表
  6. Http请求报头设置(C#)
  7. stm32 HSE HSI
  8. Android Root原理初探
  9. 【Flink】Flink ES6写入报错 IncompatibleClassChangeError: Implementing class
  10. 83998 连接服务器出错_Linux高性能服务器设计
  11. Flask flask-session
  12. 路由器-配置(思科)
  13. Supper (Java)
  14. 2017百度之星复赛:1006. Valley Numer(数位DP)
  15. ICCV2019-FSGAN:实现任意两张人脸图片换脸的GAN方法
  16. matlab神经网络训练图解释,matlab实现神经网络算法
  17. ssm生鲜超市管理系统的设计与实现毕业设计源码261635
  18. 汽车之家论坛字体反爬
  19. 【软件需求工程与建模】13组组队项目选题介绍及项目计划安排
  20. java农历万年历课程设计_Java编写多功能万年历程序的实例分享

热门文章

  1. python怎么查看网页编码格式_怎么用python爬取网页文字?
  2. hfss和matlab,hfss和MATLAB联合仿真
  3. github 私有化部署_2019,GitHub 宣布私有代码仓库从此免费!
  4. 3 vue 线条箭头_线条眉要如何处理才能更自然?
  5. dbf文件怎么创建_ThinkPHP6开发博客实战入门(三),创建admin后台入口
  6. 妙到巅峰的8个简洁数学证明(文科生都能看懂),隐隐触摸到一丝只属于神的智慧气息……...
  7. 这个关系国计民生的“黑盒子” 我们造出来了
  8. 德国院士:“工业4.0”概念升级了,包含人工智能和5G
  9. 一文弄懂宇宙的历史与结构(图文并茂)!
  10. 年薪50万,他们招180名博士