Affichage du SVM

Cette méthode permet d'afficher la décision du SVM sur tout l'espace 2D

Contents

Input

function afficherSVM(model, vector_training_set, label_training_set)
figure;

Grille

On construit une grille pavant l'espace, permettant d'évaluer la décision du SVM à chaque intersection de la grille

z = [-2:.05:2];
[xtest1 xtest2]  = meshgrid(z,z);
nn = length(xtest1);
Xtest = [reshape(xtest1 ,nn*nn,1) reshape(xtest2 ,nn*nn,1)];

Evaluation

Le modèle appris du SVM est utilisé sur chaque point de la grille

disp('------------------------------------');
disp('Les valeurs affichées ci-dessous n''ont pas de sens car les étiquettes sont absentes...');
[ypred] = svmpredict(zeros(length(Xtest),1), Xtest, model);
disp('------------------------------------');
ypred = reshape(ypred,nn,nn);

Affichage

On affiche la prédiction du SVM pour chaque point évalué et on lisse l'affichage. Puis on affiche les points d'apprentissage.

contourf(z,z,ypred,[-1 0 1]);shading flat;
colormap('bone');
hold on
plot(vector_training_set(label_training_set==1,1),vector_training_set(label_training_set==1,2),'r+');
plot(vector_training_set(label_training_set==-1,1),vector_training_set(label_training_set==-1,2),'bo');