深度学习笔记: 最详尽解释混淆矩阵 Confusion Matrix

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家!

混淆矩阵

假设我们有包含临床测量数据的医疗数据,例如胸痛、良好的血液循环、动脉阻塞和体重。我们希望应用机器学习方法来预测某人是否会患上心脏病。

我们可以使用逻辑回归、k最近邻算法、随机森林或其他方法。为了决定哪种方法效果最好,我们首先将数据分为训练集和测试集。请注意,这将是一个使用交叉验证的绝佳机会。我们在训练数据上训练所有方法,并在测试集上测试每种方法,然后用混淆矩阵总结它们的性能。

混淆矩阵的行对应于机器学习算法的预测,而列对应于已知的真实情况。由于有两个类别,对于二分类(“有心脏病”或“没有心脏病”),混淆矩阵看起来像这样:左上角包含真正例(TP),即正确识别的心脏病患者。真正负例(TN)在右下角,即正确识别的无心脏病患者。左下角包含假负例(FN),即被错误识别为无心脏病的心脏病患者。右上角包含假正例(FP),即被错误识别为有心脏病的健康患者。


在这里插入图片描述

  • 真正例 (TP): 正确识别的心脏病患者。
  • 真正负例 (TN): 正确识别的无心脏病患者。
  • 假负例 (FN): 被误分类为健康的心脏病患者。
  • 假正例 (FP): 被误分类为心脏病患者的健康人。

例如,当将随机森林应用于测试数据时,我们得到:

  • 真正例 (TP): 142
  • 真正负例 (TN): 110
  • 假负例 (FN): 29
  • 假正例 (FP): 22

对角线上的数字(绿色框)是正确分类的样本,而非对角线上的数字(红色框)是错误分类的样本。

将随机森林的混淆矩阵与k最近邻算法的混淆矩阵进行比较:

  • 随机森林: TP=142, TN=110
  • k最近邻算法: TP=107, TN=79

由于107 < 142且79 < 110,随机森林的表现更好,因此我们会选择随机森林而不是k最近邻算法。

当应用逻辑回归时,随机森林和逻辑回归的混淆矩阵非常相似,难以选择。我们将在未来讨论更复杂的指标,如敏感性、特异性、ROC和AUC,以帮助做出决定。

多类混淆矩阵

现在,让我们看看一个更复杂的混淆矩阵。

这是一个新的数据集。基于人们对电影《侏罗纪公园III》、《老婆大逃亡》、《Out Kold》和《Howard the Duck》的看法,我们能否使用机器学习方法预测他们最喜欢的电影?

如果最喜欢的电影选项是《Troll 2》、《Gore Police》或《Cool as Ice》,则混淆矩阵将有3行和3列。对角线(绿色框)是机器学习算法做对的地方,其他地方是算法出错的地方。

混淆矩阵的大小取决于预测类别的数量。

  • 2个类别: 2x2混淆矩阵。
  • 3个类别: 3x3混淆矩阵。
  • 4个类别: 4x4混淆矩阵。
  • 40个类别: 40x40混淆矩阵。


在这里插入图片描述

总之,混淆矩阵展示了你的机器学习算法做对和做错的地方。

参考资料:

  • 在YouTube上观看视频
  • 图片来源之一:YouTube视频

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/764186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第06天|网络构建

神经网络基础 神经网络是一种模拟人脑神经元工作方式的计算模型&#xff0c;它由多个层次的节点&#xff08;神经元&#xff09;组成&#xff0c;每个神经元接收输入、进行加权求和并经过非线性激活函数转换后输出到下一层或作为最终输出。 昇思模型中的mindspore.nn提供了常…

PHP商家来客宝小程序系统客户打卡赢霸王餐美食之旅嗨翻天

&#x1f389;商家来客宝大放送&#xff01;&#x1f37d;️ &#x1f525;开篇福利预警&#xff01; 嘿宝贝们&#xff0c;今天要给你们揭秘一个超级劲爆的吃货福利——“商家来客宝客户打卡吃霸王餐”活动&#xff01;&#x1f389; 是不是已经听到肚子咕咕叫了呢&#xff…

类和对象(提高)

类和对象&#xff08;提高&#xff09; 1、定义一个类 关键字class 6 class Data1 7 { 8 //类中 默认为私有 9 private: 10 int a;//不要给类中成员 初始化 11 protected://保护 12 int b; 13 public://公共 14 int c; 15 //在类的内部 不存在权限之分 16 void showData(void)…

Django + Vue 实现图片上传功能的全流程配置与详细操作指南

文章目录 前言图片上传步骤1. urls 配置2. settings 配置3. models 配置4. 安装Pillow 前言 在现代Web应用中&#xff0c;图片上传是一个常见且重要的功能。Django作为强大的Python Web框架&#xff0c;结合Vue.js这样的现代前端框架&#xff0c;能够高效地实现这一功能。本文将…

GraphPad Prism生物医学数据分析软件下载安装 GraphPad Prism轻松绘制各种图表

Prism软件作为一款功能强大的生物医学数据分析与可视化工具&#xff0c;其绘图功能尤为突出。该软件不仅支持绘制基础的图表类型&#xff0c;如直观明了的柱状图、展示数据分布的散点图&#xff0c;以及描绘变化趋势的曲线图&#xff0c;更能应对复杂的数据呈现需求&#xff0c…

【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;urllib.error.HTTPError: HTTP Error 403: Forbidden 一、分析问题背景 在使用Python的urllib库中的urlopen或urlretrieve函数下载文件时&#xff0c;有时会遇到…

指哪打哪,重绘神器!我已出手…

最近AI界又爆出了一个大新闻&#xff0c;阿里巴巴、香港大学和蚂蚁集团的研究人员联合推出了一款超厉害的AI工具——MimicBrush&#xff0c;它的问世&#xff0c;无疑给图像编辑领域带来了一场革命&#xff0c;它就像魔法师手中的魔杖&#xff0c;轻轻一挥&#xff0c;就能让图…

C# Web控件与数据感应之属性统一设置

目录 关于属性统一设置 准备数据源 范例运行环境 AttributeInducingFieldName 方法 设计与实现 如何根据 ID 查找控件 FindControlEx 方法 调用示例 小结 关于属性统一设置 数据感应也即数据捆绑&#xff0c;是一种动态的&#xff0c;Web控件与数据源之间的交互&…

高编:线程(2)——同步与互斥

一、互斥 概念&#xff1a; 互斥 》在多线程中对 临界资源 的 排他性访问。 互斥机制 》互斥锁 》保证临界资源的访问控制。 pthread_mutex_t mutex; 互斥锁类型 互斥锁变量 内核对象 框架&#xff1a; 定义互斥锁 》初始化锁 》加锁 》解锁 》销…

vite+vue集成cesium

1、创建项目、选择框架vuejs pnpm create vite demo_cesium 2、进入项目安装依赖 cd demo_cesium pnpm install3、安装cesium及插件 3、pnpm i cesium vite-plugin-cesium 4、修改vite-config.js import { defineConfig } from vite import vue from vitejs/plugin-vue impo…

Github忘记了Two-factor Authentication code

意外重置了edge浏览器 码农家园github自从开启开启了2FA认证&#xff0c;每次输入auth code确实麻烦&#xff0c;于是下载了浏览器插件 Open two factor authenticator&#xff0c; 最近edge频繁宕机&#xff0c;而且提示磁盘空间不足&#xff0c;要不要立即清理并重置浏览器临…

TS_开发一个项目

目录 一、编译一个TS文件 1.安装TypeScript 2.创建TS文件 3.编译文件 4.用Webpack打包TS ①下载依赖 ②创建文件 ③启动项目 TypeScript是微软开发的一个开源的编程语言&#xff0c;通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或…

单片机软件架构连载(2)-指针

我工作了10年&#xff0c;大大小小做过几十个项目&#xff0c;用指针解决过很多实际产品的痛点&#xff0c;比如写过小系统&#xff0c;数据结构(队列&#xff0c;链表)&#xff0c;模块化编程等等..... 今天贴近实际&#xff0c;给大家总结了c语言指针常用的知识点&#xff0c…

用可视化的方式学统计学

本次分享一个统计学学习工具:看见统计。 看见统计致力于用数据可视化 (使用D3.js完成) 让统计概念更容易理解,源于布朗大学几位作者👇 看见统计共有6个章节, 下面来看看具体内容, 中心极限定理 对于一个(性质比较好的)分布,如果我们有足够大的独立同分布的样本,其…

【C语言】刷题笔记 Day1

多刷题 多思考 【题目1】 实现字母的大小写转换&#xff0c;实现多组输入输出 1. getchar 为输入函数&#xff0c;EOF&#xff08;end of file&#xff09;为文件结束标志&#xff0c;通常为文件结束的末尾。 2. 题目中要求实现多组输入输出&#xff0c;那我们用 while 循…

学习无人机飞行技术,有哪些就业方向?

随着无人机技术的不断进步和应用领域的拓展&#xff0c;研发创新人才的需求也将不断增加&#xff0c;那就业前景还是很广阔的。学习无人机飞行技术后&#xff0c;有以下多个就业方向可供选择&#xff1a; 1. 无人机操作员&#xff1a; - 负责操控和监控无人机飞行&#xff0c;…

支持混合模型的项目管理系统有哪些?PingCode 混合模型上线

众所周知&#xff0c;敏捷和瀑布是国内外研发项目管理的主流方法。然而&#xff0c;面对复杂性高、规模大、需要创新的项目&#xff0c;单一采用敏捷或瀑布方法往往难以完全满足需求。所以&#xff0c;国内许多企业趋向于结合多种管理模型的优势&#xff0c;形成一种混合管理模…

第一后裔掉宝奖励有什么 怎么领取第一后裔掉宝奖励

第一后裔在今天就要正式上线了&#xff0c;虽然是一款刚刚上线的新游戏&#xff0c;但是其实很早就测试过了&#xff0c;而且测试过很多次&#xff0c;所以有很多已经体验过的小伙伴&#xff0c;这款游戏的玩法还是比较有意思的&#xff0c;第三人称刷宝射击加上MMORPG的玩法&a…

力扣 用队列实现栈(Java)

核心思想&#xff1a;因为队列都是一端进入另一端出&#xff08;先进先出&#xff0c;后进后出&#xff09;&#xff0c;因此一个队列肯定是不能实现栈的功能的&#xff0c;这里就创建两个队列来模拟栈的先进后出&#xff0c;后进先出。 比如说如果是push操作我们肯定是要弹出栈…

自动编码器简单理解及简单使用描述

1. 什么是自动编码器&#xff1f; 自动编码器分为编码器和解码器&#xff0c;其中解码器只在训练阶段用到。具体过程就是&#xff1a; 首先&#xff0c;输入训练样本&#xff0c;编码器对输入样本进行编码&#xff0c;对其进行降维&#xff0c;直到到达某个瓶颈层&#xff1b…