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