How can i organize the images in my code?
    8 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Hi, I just wrote a code for the recognition of handwritten digits but I have encountered one problem. In my code i want to show images and diagrams right below the corrispondent section of the code. For instance i decided to use a for loop in order to show all the different ten digits, but when i run the code the images go to the end of the whole code, how can i solve this problem? If it can help I'll share the code, let me know if the same thing happen to you as well. The dataset can be found here http://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits 
Y_tra = load('optdigits.tra');     %carico il training set
Y_tes = load('optdigits.tes');     %carico il test set
features = 1:64;
Nfeatures = length(features);
N = size(Y_tra,1);
X = Y_tra(:,features);
Y_class = Y_tra(:,65);       %indica le classi nel training set
class_labels = categorical(unique(Y_class));  %vediamo quante classi ci sono e le trasformiamo in dato categorical
Ncl = length(class_labels);
Y_class_ones = zeros(Ncl,N);    %per usare alcune funzioni bisogna esprimere i dati come matrici, con 1 in corrispondenza della classe (righe) per ogni item (colonne)
for c=1:Ncl
    Y_class_ones(c,find(Y_class==c-1))=1;
end
figure                         %utilizzo un ciclo for nel test set per mostrare le 10 cifre
for i=1:10
    subplot(2,5,i)
    imagesc(reshape(Y_tes(i,1:64),8,8)');
    colormap("gray");
    axis square;
    caption = sprintf('#%d', i-1);
    title(caption);
end
trainRatio = 0.5;   %metà per il training effettivo 
valRatio=0.25;      %un quarto per validation   
testRatio=0.25;     %un quarto per il writer depending testing, ossia il test set
[trainInd,valInd,testInd] = dividerand(N,trainRatio,valRatio,testRatio);
Ytra = Y_tra(trainInd,:);       %traing set
Ytra_class = Y_class(trainInd);
Ntr = size(Ytra,1);
Yts = Y_tra(testInd,:);        %test set
Yts_class = Y_class(testInd);
Nts = size(Yts,1);
Ytr_class_ones = Y_class_ones(:,trainInd);
Yts_class_ones = Y_class_ones(:,testInd);
[U,Xpc,S] = pca(Ytra);
figure('Position', [0 0 600 600]);
line(Xpc(:,1),Xpc(:,2),Xpc(:,3), 'linestyle', 'none', 'marker', '.');
xlabel('PC 1');
ylabel('PC 2');
zlabel('PC 3');
box off;
view(3);
hold on
biplot(400*U(:,1:3));
D = size(Ytra,2);
figure('position', [0 0 600 200]);
bar(1:D,100*S./sum(S));
xlabel('# components');
ylabel('% var');
title('Pareto Diagram');
box off
classtype = "naivebayes"
nt = 1;
px_C = [];
PrC_x=[];
auc = zeros(length(classtype),Ncl);
for type = classtype
    switch type
        case 'naivebayes'
            %Train
            Mdl = fitcnb(Ytra,Ytra_class,'DistributionNames',"mn");     
            %test
            [label,Posterior] = predict(Mdl,Yts);
            Yts_pred = Posterior';
        case 'mln'
            Nhid = 5;
            %train
            net = patternnet(Nhid);
            net_tr = train(net, Ytra', Ytr_class_ones);
            net_ts = train(net, Yts', Yts_class_ones);
            view(net_tr);
            %test 
            Yts_pred = net_tr(Yts');
            Ytr_pred = net_tr(Ytra');
    end
    plotconfusion(Yts_class_ones, Yts_pred);                    
           set(gcf,'Position',[0 0 500 500], "color", 'w');      %test set
           title(type);
           %plotconfusion(Ytr_class_ones, Ytr_pred);           
           %set(gcf,'Position',[0 0 500 500], "color", 'w');      %training set
           %title(type);
end
0 commentaires
Réponses (1)
  Sourabh Kondapaka
    
 le 8 Fév 2021
        
      Modifié(e) : Sourabh Kondapaka
    
 le 8 Fév 2021
  
      Looks like Matlab Live Script can help with what you want to achieve. Please check the following Documentation link
2 commentaires
  Sourabh Kondapaka
    
 le 17 Fév 2021
				Is it because all of the above code is in 1 section ?
Check for the "Section" group, click on "Section Break".
You need to move the code where you want to display images into a seperate section so that, that particular section has its own output.
Voir également
Catégories
				En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

