sklearn混淆矩阵的计算和seaborn可视化

server/2024/12/22 15:15:41/

为了计算语义分割的指标miou,需要生成的中间过程就是混淆矩阵

iou = intersection / union

每个类别的平均iou就是mean iou。

使用sklearn自带的confusion_matrix能很容易生成混淆矩阵,可以进行混淆矩阵的可视化观察哪个类别分割的不好。

from sklearn.metrics import confusion_matrix# 定义总的混淆矩阵
matrix = np.zeros((self.n, self.n), dtype=np.int64)# 每个batch的数据都按照一下的方法添加进混淆矩阵:
# pred:  NxC
# label: Npred_l = pred.max(dim=1)[1]
matrix += confusion_matrix(label.int().cpu().numpy(), pred_l.cpu().numpy(), labels=range(13))

一定要设置 labels=range(13),否则labels不全可能生成不了完整尺寸的混淆矩阵

可以使用seaborn进行可视化。

import numpy as np
import seaborn as sns
import matplotlib.pyplot as pltsns.heatmap(data=matrix / np.sum(matrix, axis=0, keepdims=True), annot=True,fmt=".2f", xticklabels=class_name,cmap='GnBu')
plt.xticks(rotation=45, ha='right')
plt.ylabel('Pred')
plt.xlabel('True')
plt.title('Confusion Matrix')plt.tight_layout()plt.savefig("confusion.png")

matrix按照列进行求和,这样能够按照label值归一化到1。


http://www.ppmy.cn/server/23958.html

相关文章

前端JS算法-冒泡排序

原理&#xff1a;相邻的数据进行两两比较&#xff0c;小数放在前面&#xff0c;大数放在后面&#xff0c;这样一趟下来&#xff0c;最小的数就被排在了第一位&#xff0c;第二趟也是如此&#xff0c;如此类推&#xff0c;直到所有的数据排序完成。 描述&#xff1a; <1&g…

表名不是固定的,django和flask怎样增改删查这个数据表?

在Django和Flask中&#xff0c;操作数据表通常涉及使用ORM&#xff08;对象关系映射&#xff09;或者原生的SQL查询。然而&#xff0c;你提到的sea()函数返回的表名是一个动态生成的字符串&#xff0c;这增加了复杂性&#xff0c;因为ORM通常期望表名是固定的。在这种情况下&am…

C++ 中容器的种类

1. 序列容器&#xff08;Sequence Containers&#xff09; 这类容器主要用于存储按顺序排列的元素&#xff0c;它们包括&#xff1a; std::array&#xff1a;固定大小的数组&#xff0c;提供快速的固定大小数组操作。std::deque&#xff1a;双端队列&#xff0c;可以在头尾两…

第一届长城杯半决赛wp和AWD笔记

目录 AWD 渗透 cfs 单节点1 AWD笔记 AWD工具 文件比较工具 Web漏洞扫描工具 waf工具 代码审计工具 批量网站备份文件泄露扫描工具 cms通杀漏洞的利用 通杀脚本和批量提交flag脚本 防御流程 攻击流程 注意 AWD 解题思路] 首先就是fscan快速扫描对应C段&#xf…

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题

解决jupyter中使用keplergl的visualization_data函数不显示图片的问题 运行下面的命令&#xff1a;. 首先确认已经安装keplergl pip install keplergl然后运行下面两条命令&#xff1a; jupyter nbextension install --py --sys-prefix keplergl jupyter nbextension enabl…

用docker方式安装openGauss数据库的事项记录

文章目录 &#xff08;一&#xff09;背景&#xff08;二&#xff09;安装&#xff08;2.1&#xff09;安装docker&#xff08;2.2&#xff09;安装openGauss &#xff08;三&#xff09;运行&#xff08;3.1&#xff09;运行openGauss镜像&#xff08;3.2&#xff09;连接open…

爱国者随身wifi VS格行随身wifi对比测评!随身wiif哪个品牌好用?排名第一名随身WiFi格行随身WiFi真的靠谱吗?随身WiFi热销榜第一名!

出门手机信号不好网络卡顿&#xff0c;手机流量不够用&#xff0c;相信这是很多朋友都会遇到的问题。为了解决这个问题更多的会选择随身wifi&#xff0c;但是市面上随身wifi品牌众多&#xff0c;有不知道该选择哪一款。今天就来看看爱国者随身wifi和格行随身wifi哪款更好用&…

SCSS的基本使用(一)

目录 一、使用&符号来引用父选择器 二、scss的语法 三、变量&#xff08;Variables&#xff09; 四、嵌套&#xff08;Nesting&#xff09; 五、mixin 和 include 六、extend 继承 七、import 与 Partials 八、if简单判断 九、if复杂判断 一、使用&符号来引用父…