混淆矩阵及其绘制和归一化

混淆矩阵及其绘制和归一化

混淆矩阵(Confusion Matrix),又称为误差矩阵,是用于评估分类模型效果的常用指标。它展示了分类器的预测结果与真实情况之间的关系,从而帮助我们更好地了解模型的表现。在本文中,我们将学习如何生成混淆矩阵,并对其进行可视化和归一化。

生成混淆矩阵

在Python中,可以使用sklearn.metrics库中的confusion_matrix函数生成混淆矩阵。这个函数需要两个参数:真实值和预测值。假设我们有一个真实值数组y_true和一个预测值数组y_pred,则可以使用以下代码生成混淆矩阵:

from sklearn.metrics import confusion_matrix
import numpy as np

y_true = np.array([1, 0, 1, 1, 0, 1])
y_pred = np.array([0, 0, 1, 1, 0, 1])

cm = confusion_matrix(y_true, y_pred)
print(cm)

在这个例子中,真实值数组包含了6个样本,每个样本以1或0表示。预测值数组也是如此。通过运行以上代码,我们可以得到以下的输出:

[[2 0]
 [1 3]]

这就是混淆矩阵的矩阵形式。混淆矩阵由4个数字组成,从左到右和从上到下依次表示真实负样本数、假阳性数、假阴性数、真正样本数。

绘制混淆矩阵

虽然矩阵可以很好地表达混淆矩阵,但是它不一定很容易理解。我们可以使用heatmap图像来更直观地呈现混淆矩阵。在此用seaborn库创建一个heatmap,同时设置anno

绘制混淆矩阵时候的normalize的作用 normalize参数用于控制混淆矩阵是否进行归一化。混淆矩阵是用于评估分类模型性能的表格,其中行表示实际类别,列表示预测类别。在可视化混淆矩阵时,有时候希望将每行的值归一化,以便更清晰地了解模型在每个类别上的性能,而不受类别样本数量的影响。具体来说:当时,混淆矩阵中的值表示每个类别的样本数量,而不进行归一化。当时,混淆矩阵中的值被归一化为每个类别的样本百分比,即每行的和变为 1。这样可以更容易地比较不同类别之间的性能,而不受类别样本数量的差异影响。 阅读详情

相关推荐

matplot 绘制混淆矩阵

导入包 import pandas as pd import numpy as np from sklearn import metrics import itertools import matplotlib.pyplot as plt 读取文件 df = pd.read_csv('xxx.csv') wrong_labels = df['wrong_labels'].tolist() right_labels = df['right_labels'].tolist() # 构造混淆矩阵 my_con

xiedelong的博客 2517

混淆矩阵及其绘制与归一化

混淆矩阵是一个二维矩阵,用于描述分类模型在测试数据集上的分类结果。它将实际标签与预测标签进行对比,并将它们分为四个不同的分类:真正例(True Positive, TP)、假正例(False Positive, FP)、真反例(True Negative, TN)和假反例(False Negative, FN)。TP:模型正确地将样本预测为正例。FP:模型错误地将样本预测为正例。TN:模型正确地将样本预测为反例。FN:模型错误地将样本预测为反例。| 预测正例 | 预测反例 |

PixelEnigma的博客 1495

混淆矩阵(Confusion Matrix)是什么?如何对混淆矩阵进行绘制并归一化结果?

混淆矩阵(Confusion Matrix)是什么?如何对混淆矩阵进行绘制并归一化结果? sklean.metrics.confusion_matrix 混淆矩阵是数据科学、数据分析和机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。以二元分类问题为例,数据集存在肯定类别和否定类别两类记录,而分类模型对记录分类可能作出阳性判断(判断记录属于肯定类别)或阴性判断(判断记录属于否定类别)两种判断。 混淆矩阵是一个2 × 2的.

data+scenario+science+insight 3370

【论文必用】Python绘制混淆矩阵

本文详细介绍了使用Python绘制混淆矩阵的整个过程,相信后续需要写论文的同学必会用到。

信小海 9027

基于Matlab的多分类混淆矩阵绘制完整实现

在分类任务中,准确率往往会掩盖细节,尤其当类别不平衡时,一个看似高达95%的准确率可能只是模型偏向多数类的假象。此时,混淆矩阵作为一种细粒度的评估工具,能以行真实、列预测的计数表形式,清晰展示每个类别的正确分类数与错误去向,从而定位模型失效的具体环节。其衍生指标召回率与精确率,更是衡量分类性能的核心依据。在实际工程与科研汇报中,矩阵的可视化不仅能直观呈现多分类结果,还能通过归一化揭示类别间的混淆程度。本文面向Matlab用户,系统讲解混淆矩阵的绘制原理、代码实现与封装技巧,并提供可直接运行的完整函数与示例数

weixin_32667955的博客 281

手把手教程:使用C#实现工业上位机开发

深入讲解如何利用C#进行上位机开发,涵盖通信协议与界面设计,助力掌握工业自动化核心技能。结合实际案例,让上位机开发更高效直观。

weixin_32480007的博客 2065

告别IIS折腾!用.NET8+Kestrel在Windows上5分钟搞定Web API部署

本文介绍了如何使用.NET8和Kestrel在Windows上快速部署Web API,告别繁琐的IIS配置。通过5分钟实战教程,开发者可以轻松实现高性能、跨平台的API服务部署,显著提升开发效率和系统性能。

weixin_42528780的博客 246

嵌入式常用通信协议 #概述

嵌入式通信协议

AFK3060的博客 2116

三维重建之条纹投影结构光(三)——相高模型标定

接上面两文: 三维重建之条纹投影结构光(一)https://blog.youkuaiyun.com/beyond951/article/details/123361852?spm=1001.2014.3001.5501三维重建之条纹投影结构光(二)——四步相移+三频外差法https://blog.youkuaiyun.com/beyond951/article/details/123769596?spm=1001.2014.3001.5501接下来对相高模型进行标定,其推导过程如下图所示 ...

beyond951的博客 4876

手把手教你解锁TI MSPM0G3507开发板(2025新版,附XDS110接线图)

本文详细解析了2025版TI MSPM0G3507开发板的解锁方法,针对新版硬件中BSL引脚的电路设计变化提供了精准接线方案和UniFlash软件配置步骤。通过实测数据和专业指导,帮助开发者解决芯片锁定问题,确保调试接口正常响应。

weixin_42696271的博客 807

【深度学习新浪潮】李飞飞团队VAGEN框架深度解析:让VLM智能体学会“三思而后行“

VAGEN框架的真正价值,不仅在于性能指标的突破,更在于重新定义了VLM智能体的发展方向——人工智能的进步不应只追求"做得对",更要实现"想得清"。李飞飞团队通过强制显式思考、动态表示适配和精细化奖励三大创新,让智能体第一次具备了可解释的世界建模能力。正如人类通过"观察-预测-行动"认识世界,VAGEN为AI注入的这种思考范式,或许正是通往通用人工智能的关键一步。对于开发者而言,开源的VAGEN框架不仅提供了强大的工具,更揭示了一个重要理念:让AI学会思考,比让它学会执行更重要。

专注:太空算力、AI infra、异构调度、大模型成本工程 280

点云统计滤波 (python详细过程版)【2025最新版】

统计滤波python详细过程版,博客长期更新,本文最近更新时间为:2025年1月12日。

点云侠的博客 5638

Cursor使用教程:用 Cursor 创建第一个 Java 项目

Cursor是一款基于VS Code的AI编程编辑器,专为开发者设计。安装前需确保JDK 8+、Maven 3.8+等环境配置,支持Windows系统。编辑器提供中文界面选项,可通过扩展市场安装语言包。创建Java项目支持手动和AI提示词两种方式:手动需创建目录结构并编写代码;AI方式则通过自然语言描述快速生成项目框架和代码。标准Java项目包含src/main/java主代码目录、src/test/java测试目录及pom.xml等配置文件。Maven项目中,pom.xml是核心配置文件,管理项目依赖与构

博客 3547

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 使用 Matlab 进行数据处理时,常常需要对表格或时间表格进行数学运算
下一篇: 使用Python进行交叉验证的方法
普通网友
博客等级 码龄4年 1009粉丝 1545原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值