|
|
|
|
|
proto_model={'T_h1_m1';'S_h1_m1';'T_h1_m2';'S_h1_m2';'T_h2_m1';'S_h2_m1'}; |
|
nmb_of_proto_models=length(proto_model); |
|
featured_model={'model_1';'model_2';'model_3';'model_4';'model_5';'model_6'}; |
|
[nmb_of_ft_models,~]=size(featured_model); |
|
|
|
nmb_of_lab=1000; |
|
nmb_of_batches=10; |
|
nmb_of_image_set=zeros(1,10); |
|
pr_set=zeros(1,10); |
|
model_accuracy_comparison=zeros(1,nmb_of_ft_models); |
|
pm.nmb_of_lab=nmb_of_lab; |
|
edges=1:1:(nmb_of_lab+1); |
|
|
|
confusion_matrixes=zeros(nmb_of_lab,nmb_of_lab,nmb_of_batches,nmb_of_ft_models,nmb_of_proto_models); |
|
model_c_matrixes=zeros(nmb_of_lab,nmb_of_lab,nmb_of_ft_models,nmb_of_proto_models); |
|
|
|
for ii=1:nmb_of_proto_models |
|
md=char(proto_model(ii)); |
|
|
|
|
|
top_100_pr_by_batch=zeros(nmb_of_batches,nmb_of_ft_models); |
|
top_100_pr_by_model=zeros(1,nmb_of_ft_models); |
|
batch_nmbs=zeros(1,nmb_of_batches); |
|
for fm=1:nmb_of_ft_models |
|
top_100_accnt=[]; |
|
c_matrix=zeros(nmb_of_lab,nmb_of_lab); |
|
for imgnt1kdataset=1:nmb_of_batches |
|
reportname1 = sprintf('Model_%s/Evaluation_Data/Model_Accuracy/training_data_batch_%d_feature_module_performance_%s_var.mat', md,imgnt1kdataset,md); |
|
aa=sprintf('classification_data_%d',fm); |
|
bb=load(reportname1,aa); |
|
c_data=bb.(aa); |
|
true_lab=c_data(:,1); |
|
pred_lab=c_data(:,2); |
|
nmb_of_data=length(true_lab); |
|
c_mtx_output=fun_confusion_matrix(true_lab,pred_lab,pm); |
|
bb=c_mtx_output.conf_matrix; |
|
confusion_matrixes(:,:,imgnt1kdataset,fm,ii)=bb; |
|
c_matrix=c_matrix+nmb_of_data*bb; |
|
top_100_pr_by_batch(imgnt1kdataset,fm)=length(c_mtx_output.lab_100); |
|
top_100_accnt=[top_100_accnt,c_mtx_output.lab_100]; |
|
batch_nmbs(imgnt1kdataset)=nmb_of_data; |
|
end |
|
model_c_matrixes(:,:,fm,ii)=c_matrix/sum(batch_nmbs); |
|
histN = histcounts(top_100_accnt,edges); |
|
idx=(histN==nmb_of_batches); |
|
top_100_pr_by_model(fm)=sum(1*idx); |
|
end |
|
|
|
|
|
|
|
assignin('base',md, [mean(top_100_pr_by_batch,1);top_100_pr_by_model]') |
|
end |
|
%% |
|
table(featured_model,T_h1_m1,T_h1_m2,T_h2_m1) |
|
|
|
%% |
|
% Find the labels that are perfectly classified, by model |
|
% |
|
ii=1; |
|
fm=6; |
|
lab=1:1000; |
|
A=model_c_matrixes(:,:,fm,ii); |
|
dd=diag(A,0); |
|
idx=(dd==100); |
|
lab_100=lab(idx) |
|
nmb_of_lab_100=sum(1*idx) |
|
|
|
%% |
|
% Find the labels that are perfectly classified, by batch and model |
|
% |
|
ii=1; |
|
fm=6; |
|
imgnt1kdataset=1; |
|
lab=1:1000; |
|
A=confusion_matrixes(:,:,imgnt1kdataset,fm,ii); |
|
dd=diag(A,0); |
|
idx=(dd==100); |
|
lab_100=lab(idx) |
|
nmb_of_lab_100=sum(1*idx) |
|
|
|
|
|
|