2017-05-18 2 views
1

plot_confusion() 함수를 사용하여 몇 가지 혼용 행렬을 플로팅하고이를 서브 플롯 (2x5 숫자)에 넣으려고했지만 작동하지 않는 것 같습니다. 모든 혼동 행렬을 별도로 표시합니다. 혼란을 그리기위한 제한이 있습니까? 감사!혼돈 행렬을 서브 플로팅 할 수 있습니까?

figure 

Subplot(2,1,1); 

plotconfusion(targets,outputs,'train'); 

subplot(2,1,2); 

plotconfusion(targets1,outputs1,'test') 

답변

2

당신은 (기능이 포함되어 있지 않습니다)이 수행하는 "안"하고 있지만 하루의 마지막에 그냥 축 객체이기 때문에 당신은 조금 매트랩 속일 수

%% 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

당신은 라벨과 제목을 느슨하게하고 축을 조정해야 할 수도 있습니다,하지만 난 당신이 그 일을 할 수 것 같아요.

+0

왜 호기심에서 "그렇게하지 않겠습니까?" –

+1

@AnderBiguri 도구 상자는 핸들에 대한 통제권이 전혀 없으므로 더 은유 적입니다. 기본적으로 여러 그림 창을 열지도 못합니다. 예를 들어 추가로 사용할 수있는 정상적인 도형 또는 축 객체가 아닙니다. subplots. – thewaywewalk

+0

@ thewaywalk. 당신의 열렬한 노력에 진심으로 감사드립니다. 위의 혼란 행렬 에서처럼 회색 상자는 정밀도와 회수율을 백분율로 보여줍니다. 각 클래스에 대해 Precision Vs Recall 수치를 표시 할 수 있습니까? –