生成2×2 或3*3 混淆矩阵(confusion matrix)的python代码

news2025/1/20 1:58:11

该代码可以生成2×2的混淆矩阵。每个矩阵对应的数值可以自行改变。
代码如下:

import numpy as np
import matplotlib.pyplot as plt

# ======================= 随机生成值 ========================
import numpy as np
import matplotlib.pyplot as plt

# 创建一个2x2的二分类数据矩阵。这里可以手动改变值
data = np.array([[143, 7], [5, 45]])

# 定义自定义的横轴和纵轴标签
x_labels = ['True', 'False']
y_labels = ['True', 'False']

# 绘制热力图
plt.imshow(data, cmap='plasma', interpolation='nearest')

# 显示数值
for i in range(2):
    for j in range(2):
        plt.text(j, i, str(data[i, j]), ha="center", va="center", color="white")

# 添加颜色条
plt.colorbar(ticks=[0, 1], label='Class')

# 设置横轴和纵轴标签
plt.xticks(range(2), x_labels)
plt.yticks(range(2), y_labels)
# 保存为.jpg文件
plt.savefig('/home/stu/画图22/heatmap1.jpg',dpi=800)
# 显示图形
plt.show()

输出效果:
在这里插入图片描述

该代码可以生成3×3的混淆矩阵。每个矩阵对应的数值可以自行改变。
代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 修改混淆矩阵数据(3 × 3)值可以自行改变
confusion_matrix = np.array([[50, 10, 5],
                             [3, 45, 12],
                             [8, 6, 55]])

# 获取混淆矩阵的行数和列数
num_classes = confusion_matrix.shape[0]

# 绘制混淆矩阵
plt.imshow(confusion_matrix, interpolation='nearest', cmap=plt.cm.Greens)
plt.title("Confusion Matrix on ISIC 2018")
plt.colorbar()

# 添加坐标轴标签
tick_marks = np.arange(num_classes)
plt.xticks(tick_marks, range(num_classes))
plt.yticks(tick_marks, range(num_classes))

# 在矩阵方块中添加文本标签
for i in range(num_classes):
    for j in range(num_classes):
        plt.text(j, i, confusion_matrix[i, j],
                 horizontalalignment="center",
                 color="white" if confusion_matrix[i, j] > (confusion_matrix.max() / 2) else "black")

plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.tight_layout()
plt.savefig('/home/stu/zy/O-Net-main/画图33/heatmap1.jpg',dpi=800)
plt.show()

输出效果:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

拨开迷雾:利用全链路消息跟踪揭示系统奥秘

在分布式系统,一次外部请求往往需要内部多个模块,多个中间件,多台机器的相互调用才能完成。在这一系列的调用中,可能有些是串行的,而有些是并行的,排查定位非常困难。 全链路消息分析及全链路消息跟踪可以帮…

C# 简单模拟 程序内部 消息订阅发布功能

文章目录 前言模拟消息订阅发布使用注意事项 前言 我想做个简单的消息发布订阅功能,但是发现好像没有现成的工具类。要么就是Mqtt这种消息订阅发布。但是我只想程序内部进行消息订阅发布,进行程序的解耦。那没办法了,只能自己上了 模拟消息…

yolo-v5学习(使用yolo-v5进行安全帽检测错误记录)

常见错误 跑YOLOv5遇到的问题_runtimeerror: a view of a leaf variable that requi_Pysonmi的博客-CSDN博客 python train.py --img 640 --batch 16 --epochs 10 --data ./data/custom_data.yaml --cfg ./models/custom_yolov5.yaml --weights ./weights/yolov5s.pt 1、梯度…

实例032 动画显示窗体

实例说明 当用户启动程序后,普通的程序窗口都是瞬间显示到屏幕上,这样未免有些生硬。如果窗口能够慢慢的展现在用户面前,将会是什么样的效果?本例设计的是一个动画显示的窗体,该程序运行后,窗体是慢慢的以…

小黑子—JavaWeb:第六章 - Filter、Listener、AJAX与JSON

JavaWeb入门6.0 1. Filter1.1 Filter快速入门1.2 Filter执行流程1.3 Filter拦截路径配置1.4 Filter过滤器链1.5 案例登录验证 2. Listener2.1 ServletContextListener使用 3. AJAX3.1 AJAX 快速入门3.2 案例 验证用户名是否存在3.3 Axios 异步框架3.3.1 Axios 快速入门3.3.2 Ax…

自动驾驶新方法登Nature封面:让黑夜如白昼般清晰,浙大博士一作

摘要: 通过克服传统解决方案中的“重影”问题,这种方法在基准测试中一显巨大优势,不仅能像白天一样看清环境的纹理和深度,还能感知到RGB、热视觉以外的各种物理信息,可谓相当利好机器感知尤其是自动驾驶行业。 利用AI…

Flink多流处理之connect拼接流

Flink中的拼接流connect的使用其实非常简单,就是leftStream.connect(rightStream)的方式,但是有一点我们需要清楚,使用connect后并不是将两个流给串联起来了,而是将左流和右流建立一个联系,作为一个大的流,并且这个大的流可以使用相同的逻辑处理leftStream和rightStream,也可以…

【Leetcode】(自食用)删除链表中倒数第k个结点

step by step. 题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出&a…

Golang之路---04 并发编程——互斥锁和读写锁

互斥锁和读写锁 面对并发问题,我们始终应该优先考虑使用信道,如果通过信道解决不了的,不得不使用共享内存来实现并发编程的,那 Golang 中的锁机制,就是你绕不过的知识点了。 在 Golang 里有专门的方法来实现锁&#x…

【C++】哈希闭散列

一.哈希的概念 在前面学习了二叉搜索树、AVL树、红黑树之后,我们得知顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须经过关键码的多次比较。顺序查找的时间复杂度为 O(N)&#xff0c…

0.CLIP

目录 前言背景缘起/摘要数据集拟解决问题 精读IntroductionModel2.1自然语言监督2.2 创建一个有效的大数据集选择一个有效的预训练方法2.4 选择模型(选择Encoder)2.5训练小结 实验 复现(略) 前言 本课程来自深度之眼《多模态》训…

找免费商用的图片素材就上这6个网站。

分享6个免费商用的高清图片素材库,你想要找到这里都能找到,赶紧收藏起来吧~ 菜鸟图库 https://www.sucai999.com/pic.html?vNTYwNDUx 网站主要是为新手设计师提供免费素材的,素材的质量都很高,类别也很多,像平面、UI…

Zhang-Suen骨架提取算法

前言 本专栏针对的目标物体为物体裂缝量化,提取裂缝的骨架有助于裂缝长度的求解,故这一篇也是本专栏的开篇。 细化算法选择与分析 裂缝骨架的提取是十分有必要,如果我们能够得到裂缝的骨架图那么就很容易获得整条裂缝的长度。在当前经典的…

机器学习深度学习——序列模型(NLP启动!)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——卷积神经网络(LeNet) 📚订阅专栏:机器学习&&深度…

地理信息系统空间分析实验教程 第三版 第八章示例与练习 学校选址

学校选址 背景 合理的学校空间位置布局有利于学生的上课与生活。学校的选址问题需要考虑地理 E八位置、学生娱乐场所配套设施、与现有学校的距离等因素,从总体上把握这些国素能够确定出适宜性比较好的学校选址区 目的 通过练习,熟悉 ArcGIS 栅格数据…

无涯教程-Perl - endnetent函数

描述 此功能告诉系统您不再希望使用getnetent从网络列表中读取条目。 语法 以下是此函数的简单语法- endnetent返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perluse Socket;while ( ($name, $aliases, $addrtype, $net) getnetent() )…

VUE框架:vue2转vue3全面细节总结(3)路由组件传参

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人_python人工智能视觉(opencv)从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了: https://blog.csdn.net/lbcy…

element表格+表单+表单验证结合运用

目录​​​​​​​ 一、结果展示 二、实现代码 一、结果展示 1、图片 2、描述 table中放form表单,放输入框或下拉框或多选框等; 点击添加按钮,首先验证表单,如果存在没填的就验证提醒,都填了就向下添加一行表单表…

Redis中BigKey、HotKey的发现与处理

Redis中BigKey、HotKey的发现与处理 内容详情: 阿里云开发者社区(点击跳转) 参考自: https://developer.aliyun.com/article/788271?utm_contentm_1000291945#slide-1

【数据结构OJ题】删除有序数组中的重复项

原题链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 用双指针算法,定义两个变量src和dst,一开始让src和dst指向num[ ]数组的第一个元素&a…