MATLAB中plotusionusion和Confusionmat函数有什么区别?

时间:2017-07-07 09:30:59

标签: matlab machine-learning confusion-matrix

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

plotconfusion:    

59     0     0
0    68      0
0     3     48

Confusionmat:

59     0     0
0    68      3
0     0     48

1 个答案:

答案 0 :(得分:0)

您已正确理解事物 - plotconfusion生成的混淆矩阵是由confusionmat生成的混淆矩阵的转置。

这是记录的 - 在plotconfusion的文档中说明了

  

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

并在confusionmat的文档中说明

  

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

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

为什么会这样?主要原因不是很好。 plotconfusion来自神经网络工具箱,而confusionmat来自统计工具箱,两个工具箱具有不同的历史,目的和惯例。

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

现在逐渐使工具箱在设计中更加一致和统一是有道理的,但还没有完成。