yolov5 混淆矩阵计算精确率(percision)

文章讨论了如何在Yolov5中正确计算精确率,指出混淆矩阵需非归一化,并提供了修改metrics.py文件的建议,以获取未归一化的混淆矩阵。通过示例解释了精确率和召回率的计算,批驳了错误的理解,并解释了为何终端输出与混淆矩阵结果可能不同。
摘要由CSDN通过智能技术生成

yolov5 混淆矩阵计算精确率(percision)

刚才看到一个误人子弟的文章,发现还不少人评论收藏
yolov5的混淆矩阵

yolov5 输出的混淆矩阵是归一化之后的 计算召回率的话直接取对角线上的值就好了,但是想要计算精确率(percision))并不能直接算
在这里插入图片描述

首先我们要得到一个没有归一化的混淆矩阵:

找到 metrics.py 文件 然后找到 plot 中的normalize 改成 false 这样会输出未归一化的混淆矩阵
在这里插入图片描述

在这里插入图片描述
然后就可以计算精确率了

如第一个类别’'error’的
P of error = 25/(25+1) = 0.96 (精确率)
R of error = 25/(25+3) = 0.89 (召回率)

这个结果和终端执行val.py之后的结果也能对应的上

如果按照那个大聪明的说法

P of error = 0.89/(0.89+0.2) = 0.75 (精确率)

在这里插入图片描述

关于为什么终端和混淆矩阵输出的结果不一样这位作者说的挺清楚的

关于yolov5训练输出的混淆矩阵与终端输出的不一致问题

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值