我尝试使用函数plotconfusion
和Confusionmat
显示实际值和预测值的混淆矩阵。两者都有不同的结果。这对我来说真的很奇怪。似乎Confusionmat
是plotconfusion
的转置。如何在Confusionmat
上绘制plotconfusion
的类似结果?
plotconfusion:
59 0 0
0 68 0
0 3 48
和
Confusionmat:
59 0 0
0 68 3
0 0 48
答案 0 :(得分:0)
您已正确理解事物 - plotconfusion
生成的混淆矩阵是由confusionmat
生成的混淆矩阵的转置。
这是记录的 - 在plotconfusion
的文档中说明了
行对应于预测类(输出类),列显示真实类(目标类)。
并在confusionmat
的文档中说明
C(i,j)是已知在第i组中但预测在第j组中的观测计数
如果您想在两者之间进行转换,只需使用'
转换它们。
为什么会这样?主要原因不是很好。 plotconfusion
来自神经网络工具箱,而confusionmat
来自统计工具箱,两个工具箱具有不同的历史,目的和惯例。
统计工具箱一直由MathWorks直接开发。相比之下,神经网络工具箱最初是由外部学术作者开发的,由MathWorks进行营销和销售(尽管最近很多开发都是由内部开发的)。早期版本的神经网络工具箱主要集中在神经网络应用于控制理论,而不是预测建模。因此,工具箱具有不同的历史和目的,并构建了一组不同的约定。
现在逐渐使工具箱在设计中更加一致和统一是有道理的,但还没有完成。