我尝试同时使用函数plotconfusionConfusionmat从实际值和预测值显示混淆矩阵。两者给出不同的结果。对我来说真的很奇怪。看来Confusionmatplotconfusion的转置。如何在Confusionmat上绘制plotconfusion的相似结果?

plotconfusion:

59     0     0
0    68      0
0     3     48




Confusionmat:

59     0     0
0    68      3
0     0     48

最佳答案

您已经正确理解了东西-plotconfusion生成的混淆矩阵是confusionmat生成的混淆矩阵的转置。

这已被记录-在plotconfusion的文档中说


  行对应于预测类(输出类),列显示真实类(目标类)。


confusionmat的文档中说


  C(i,j)是已知在第i组但预计在第j组的观测值的计数


如果要在两者之间进行转换,只需使用'转置它们。

为什么会这样呢?主要是因为不是很好的原因。 plotconfusion来自神经网络工具箱,而confusionmat来自统计工具箱,并且这两个工具箱具有不同的历史记录,用途和约定。

Statistics Toolbox始终由MathWorks直接开发。相比之下,“神经网络工具箱”最初是由外部学术作者开发的,并由MathWorks销售和销售(尽管最近内部进行了很多开发)。神经网络工具箱的早期版本主要集中在神经网络在控制理论上的应用,而不是预测模型上。因此,工具箱具有不同的历史和目的,并建立了不同的约定集。

如今,逐渐使工具箱在设计中变得更加一致和统一是有意义的,但是还没有做到。

08-20 01:38