是否有可能对混淆矩阵进行子图?

时间:2017-05-18 05:15:49

标签: matlab plot machine-learning deep-learning matlab-figure

我正在使用plot_confusion()函数绘制几个混淆矩阵,我想将它们放在一个子图(2x5数字)中,但它似乎不起作用。它分别显示每个混淆矩阵。策划混淆是否有任何限制?谢谢!

figure

Subplot(2,1,1);

plotconfusion(targets,outputs,'train');

subplot(2,1,2);

plotconfusion(targets1,outputs1,'test')

1 个答案:

答案 0 :(得分:2)

你“不应该”这样做(功能不包括在内),但你可以稍微欺骗Matlab,因为在一天结束时它只是一个轴对象:

%% First Example Data
[x,t] = cancer_dataset;
net = patternnet(10);
net = train(net,x,t);
y = net(x);

%// plot
plotconfusion(t,y)

%// get handle and enable second plöt
cp1 = gcf;
cp1.NextPlot = 'new'
ax1 = findobj(cp1,'Type','Axes')

%% Second Example Data
[x,t] = cancer_dataset;
net = patternnet(5);
net = train(net,2*x,t);
y = net(x);

%// plot
plotconfusion(t,y)

%// get handle and enable third plöt
cp2 = gcf;
cp2.NextPlot = 'new'
ax2 = findobj(cp2,'Type','Axes')

%% combine plots

f1 = figure(42)
f1s1 = subplot(121)
copyobj(allchild(ax1),f1s1)
f1s2 = subplot(122)
copyobj(allchild(ax2),f1s2)

enter image description here

你松开了标签和标题,可能需要调整轴,但我想你能做到这一点。