% Utfører knn-klassifisering med velum-labels med 2-
% og 39-dimensjonale mfcc-vektorer. Bruker sett nr. 3
% som utviklingssett og sett nr. 1 som treningssett.
%
% Estimerer feilraten med forskjellige verdier av k
% mellom kstart og kend
clc, clear all, close all

% Last inn data
load taledata.mat

% Velg hvilke verdier av k som skal brukes
kstart = 1;
kend = 20;

kk = [kstart:kend]';
error2 = zeros(length(kk),1);
error39 = zeros(length(kk),1);

for k = kstart:kend
    % Klassifisering (2D)
    outClass = knn(mfcc_2D_3, mfcc_2D_1, labels_vel_1, k);
    % Estimer feilrate (2D)
    error2(k) = computeError(outClass,labels_vel_3');
    % Klassifisering (39D)
    outClass = knn(mfcc_39D_3, mfcc_39D_1, labels_vel_1, k);
    % Estimer feilrate (39D)
    error39(k) = computeError(outClass,labels_vel_3');
end

% Vis resultatene
format short g;
fprintf('\tk\tFeilrate (2D)\tFeilrate (39D)\n')
disp([kk error2 error39])

% Lag figur
figure(1), hold on
plot(kk,error2,'rs-','LineWidth',1.6);
plot(kk,error39,'bo-','LineWidth',1.6);
legend('2D','39D','Location','NorthEast')
xlabel('k')
ylabel('Estimert feilrate')
title('Estimert feilrate med 2- og 39-dimensjonale mpcc-vektorer for {1 \leq k \leq 20}','FontWeight','bold')
box on
hold off
