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 (精确率)
关于为什么终端和混淆矩阵输出的结果不一样这位作者说的挺清楚的