- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在使用 plotconfusion
和 Confusionmat
函数时根据实际值和预测值显示混淆矩阵。两者都会给出不同的结果。这对我来说真的很奇怪。看起来 Confusionmat
是 plotconfusion
的转置。我应该怎么做才能在 plotconfusion
上绘制 Confusionmat
的类似结果?
plotconfusion:
59 0 0
0 68 0
0 3 48
还有
Confusionmat:
59 0 0
0 68 3
0 0 48
最佳答案
您已经正确理解了 - plotconfusion
生成的混淆矩阵是 confusionmat
生成的混淆矩阵的转置。
这已记录在案 - 在 plotconfusion
的文档中它说
the rows correspond to the predicted class (Output Class), and the columns show the true class (Target Class).
在 confusionmat
的文档中它说
C(i,j) is a count of observations known to be in group i but predicted to be in group j
如果您想在两者之间进行转换,只需使用 '
转置它们即可。
为什么会这样?主要是出于不太充分的理由。 plotconfusion
来自神经网络工具箱,而 confusionmat
来自统计工具箱,这两个工具箱具有不同的历史、目的和约定。
Statistics Toolbox 始终由 MathWorks 直接开发。相比之下,Neural Network Toolbox 最初是由外部学术作者开发,并由 MathWorks 营销和销售(尽管最近许多开发已由内部进行)。神经网络工具箱的早期版本主要侧重于神经网络在控制理论中的应用,而不是预测建模。因此,这些工具箱具有不同的历史和目的,并建立了一套不同的约定。
现在逐渐使工具箱的设计更加一致和统一是有意义的,但目前还没有这样做。
关于matlab - MATLAB 中的plotconfusion 和Confusionmat 函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44967339/
我是一名优秀的程序员,十分优秀!