| function output=fun_confusion_matrix(true_lab,pred_lab,pm) |
| |
| nmb_of_images=length(true_lab); |
| nmb_of_lab=pm.nmb_of_lab; |
| |
| edges=1:1:(nmb_of_lab+1); |
| c_matrix=zeros(nmb_of_lab,nmb_of_lab); |
| seq_lab=1:nmb_of_lab; |
| |
| p_seq=(1:nmb_of_images)'; |
| for lb=1:nmb_of_lab |
| idx1=(true_lab==lb); |
| aa=p_seq(idx1); |
| nmb=length(aa); |
| aa=pred_lab(aa); |
| [N,~]=histcounts(aa,edges); |
| rt=N/nmb*100; |
| c_matrix(lb,:)=rt; |
| end |
| aa=diag(c_matrix); |
| % [~,cc]=sort(aa); |
| idx100=(aa==100); |
| output.lab_100=seq_lab(idx100); |
| % idx=flip(cc); |
| % c_matrix=c_matrix(idx, idx); |
| output.conf_matrix=c_matrix; |
| % top_n_lb=idx(top_n_seq); |
| % top_n_rt=diag(c_matrix(top_n_seq,top_n_seq)); |
| % output.top_n_inf=[top_n_rt,top_n_lb]; |
| end |