Affichage du SVM
Cette méthode permet d'afficher la décision du SVM sur tout l'espace 2D
Contents
Input
- model : model appris par libsvm
- vector_training_set : matrice contenant les donnée d'apprentissage
- label_training_set : veteur contenant les étiquettes d'apprentissage
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 = [-1:.05:1]; [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');