%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%% SVM %%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc; close all; clear all;
load SVM; % načtení SVM modelu

vyber=[1:21 28 31 34 37];  % použité příznaky

% Zadat název dat která chceme klasifikovat (do úvozovek) a index manuálně zaznamenané aktivity 
% index: 1-chůze, 2-nahoru, 3-dolu, 4-běh, 5-sed, 6-leh, 7-stoj, 8-kliky, % 9-dřepy, 10-sedy-lehy.
[trenovaci,ID_aktivity]=nove_fce('beh.EDF', 4);   % načtení signálu, ve kterém chceme detekovat aktivity (.edf)

trenovaci=trenovaci(vyber,:);
vysledek=predict(Mdl,trenovaci')';              % použití modelu na detekci 

%  odkomentovat příkal podle toho zdali chceme použivat optimalizaci výsledku 

%%%  S OPTIMALIZACÍ  %%%
korekce=vysledna_korekce(vysledek);   

%%% BEZ OPTIMALIZACE %%%
%korekce=vysledek;


%% VYKRESLENÍ AKTIVIT DO GRAFU %%   (odkomentovat podle užitého datasetu)
%% PRO DATASET 1
figure
plot([0:5:5*length(korekce)],[ID_aktivity(1) ID_aktivity],'r')
hold on
stairs(0:5:5*length(korekce),[korekce(1) korekce], '-.g')
set(gca,'YTick',[1:10])
set(gca,'yticklabel',({' Chůze',' Nahoru',' Dolů',' Běh',' Sed',' Leh','Stoj',' Klik',' Dřep',' Sed-leh'}))
ylim ([0 11])
xlabel('t [s]')
legend('Reálná aktivita','Klasifikovaná aktivita')  

%% pro dataset 2 
% figure
% ylim ([0 11])
% xlabel('t [s]')
% hold on
% stairs([0,26,65,95 120 155 170 240 260 285 310 335 360 395 411],[3 1 4 7 4 1 5 1 2 9 1 6 10 8 8],'r')
% hold on 
% stairs(0:5:5*length(korekce),[korekce(1),korekce], '-.g')
% legend('Reálná aktivita','Klasifikovaná aktivita') 
% set(gca,'YTick',[1:10])
% set(gca,'yticklabel',({' Chůze',' Nahoru',' Dolů',' Běh',' Sed',' Leh','Stoj',' Klik',' Dřep',' Sed-leh'}))


%% VYPOČTENÍ POČETU KLASIFIKOVANÝCH ÚSEKŮ JEDNOTLIVÝCH AKTIVIT %%
chuze=0;
 do_schodu=0;
 ze_schodu=0;
 beh =0;
 sed=0;
 leh=0;
 stoj=0;
 kliky=0;
 drepy=0;
 sed_leh=0;

 for ii = 1:length(korekce)
     if korekce(ii) == 1
         chuze=chuze + 1
     elseif korekce(ii) == 2
         do_schodu=do_schodu+1;
     elseif korekce(ii) == 3
         ze_schodu=ze_schodu+1;
     elseif korekce(ii) == 4
         beh=beh+1;
     elseif korekce(ii) == 5
         sed=sed+1;
     elseif korekce(ii) == 6
         leh=leh+1;
     elseif korekce(ii) == 7
         stoj=stoj+1;
     elseif korekce(ii) == 8
         kliky=kliky+1;
     elseif korekce(ii) == 9
         drepy=drepy+1;
     elseif korekce(ii) == 10
         sed_leh=sed_leh+1;
     
     end 
         
 end
 clc
 
chuze
do_schodu
ze_schodu
beh
sed
leh
stoj
kliky
drepy
sed_leh