Partie à réaliser
Maintenant que nous avons vu les effets du mauvais choix des paramètres, à vous de jouer sur les données suivantes :
Contents
Générer des données
function TP1_DataMining()
Le damier
nbapp = 100;
nbtest = 3000;
sigma = 0;
xapp=[];
yapp=[];
nb=floor(nbapp/16);
for i=-2:1;
for j=-2:1;
xapp=[xapp; [i+(1+sigma)*rand(nb,1) j+(1+sigma)*rand(nb,1)]];
yapp=[yapp; (2*rem((i+j+4),2)-1)*ones(nb,1)];
end;
end;
xtest=[];
ytest=[];
nb=floor(nbtest/16);
for i=-2:1;
for j=-2:1;
xtest=[xtest; [i+(1+sigma)*rand(nb,1) j+(1+sigma)*rand(nb,1)]];
ytest=[ytest; (2*rem((i+j+4),2)-1)*ones(nb,1)];
end;
end;
Visualisons
figure; plot(xapp(yapp==1,1),xapp(yapp==1,2),'r+'); hold on; plot(xapp(yapp==-1,1),xapp(yapp==-1,2),'bo'); title('Le damier d''apprentissage'); figure; plot(xtest(ytest==1,1),xtest(ytest==1,2),'r+'); hold on; plot(xtest(ytest==-1,1),xtest(ytest==-1,2),'bo'); title('Le damier de test');
Le clown
sigma = 1;
nbapp=round(nbapp/2);
nbtest=round(nbtest/2);
x1 = (6*rand(nbapp,1)-3);
x2 = x1.^2 + randn(nbapp,1);
x0 = sigma*randn(nbapp,2)+(ones(nbapp,1)*[0 6]);
xapp = [x0;[x1 x2]];
xapp = (xapp-ones(2*nbapp,1)*mean(xapp))*diag(1./std(xapp));
yapp = [ones(nbapp,1); -ones(nbapp,1)];
if nbtest>0
x1 = (6*rand(nbtest,1)-3);
x2 = x1.^2 + randn(nbtest,1);
x0 = sigma*randn(nbtest,2)+(ones(nbtest,1)*[0 6]);
xtest = [x0;[x1 x2]];
xtest = (xtest-ones(2*nbtest,1)*mean(xtest))*diag(1./std(xtest));
ytest = [ones(nbtest,1); -ones(nbtest,1)];
end;
Visualisons
figure; plot(xapp(yapp==1,1),xapp(yapp==1,2),'r+'); hold on; plot(xapp(yapp==-1,1),xapp(yapp==-1,2),'bo'); title('Le clown d''aprentissage'); figure; plot(xtest(ytest==1,1),xtest(ytest==1,2),'r+'); hold on; plot(xtest(ytest==-1,1),xtest(ytest==-1,2),'bo'); title('Le clown de test');
end