Download Report (french) (pdf...)
Transcript
function [estimations] = parzen3(ens_train,ens_test,valeurs_cibles,sigma)
% calcul du sigma au carré
sigma_carre = sigma.^2;
% préparation de la première boucle sur l'ensemble de test
b1=1; % Paramètre de boucle
b1max1=(size(ens_test));
b1max2=b1max1(1); % taille de l'ensemble de test en nombre d'instances.
% initialisation du tableau de prédiction: une valeur pour chaque instance
% de test
% estimations = zeros(b1max2);
while (b1~=(b1max2+1)) % boucle sur l'ensemble de test
% fprintf('ligne de test') résultat intermédiaire qui peut être affiché
% ens_test(b1,:) résultat intermédiaire qui peut être affiché
rn = 0 ;
rd = 0 ;
% Préparation de la boucle sur l'ensemble d'apprentissage
b2=1; % paramètre de boucle
b2max1=(size(ens_train));
b2max2=b2max1(1); % Obtention du nombre d'instance de l'ensemble
d'apprentissage
while(b2~=b2max2+1) % boucle sur l'ensemble d'apprentissage
% ens_train(b2,:) résultat intermédiaire qui peut être affiché
normeL2 = norm(ens_train(b2,:) - ens_test(b1,:)); % norme L2
dist_parzen = exp(-(normeL2.^2)./(2*sigma_carre)); % kernel/distance au
sens de parzen
rn =
de parzen au
rd =
dénominateur
rn + dist_parzen*valeurs_cibles(b2); % ajout de la distance au sens
numérateur du résultat
rd + dist_parzen; % ajout de la distance au sens de parzen au
du résultat
b2 = b2 + 1;
% r=rn/rd résultat intermédiaire qui peut être affiché
end % while - fin de la boucle sur l'ensemble d'apprentissage
if(rd==0)
rd=eps;
end
estimations(b1) = rn/rd; % enregistrement de la valeur obtenue dans le
tableau
b1=b1+1;
end % while - fin de la boucle sur l'ensemble de test.
Code du fichier aoc.m
function [valeur_aoc] = aoc(test_valeurs_cibles,estimations,epsilon)
% Préparation de la boucle sur les valeurs cibles
b1=1;
b1max1 = size(test_valeurs_cibles);
b1max2 = b1max1(1);
% Création du tableau des valeurs absolues de l'erreur entre les valeurs
% cibles test et leurs estimations.
while (b1~=(b1max2+1))
erreur(b1)=abs(test_valeurs_cibles(b1)-estimations(b1));
b1=b1+1;
83