Vous êtes sur la page 1sur 4

TP2 :

Classification binaire, Mono classe et Multi-classe

Les objectifs de ce travaux pratique sont de:


- Maitriser en pratique les algorithmes SVM binaire.
- Maitriser en pratique les algorithmes SVM Mono-classe.
- Maitriser en pratique les algorithmes SVM multi-classe (un contre un et un contre tous).
- Calculer la performance du classifier en utilisant des protocoles expérimentaux à savoir,
accuracy, précision, auc,...
Partie I : SVM Binaire

Préparation des données

I.1/ Ouvrir le fichier diabetes.csv et enregistrer les données dans une donnée nommée
Dataset.
I.2/ Copier le contenu du colonne 'Outcome' dans un nouveau vecteur Label.
Remarque : 'Outcome' contient les étiquettes de personnes (Malade ou non) dans la base de
données diabetes.csv.
I.3/Supprimer la colonne 'Outcome' du Dataset.
Classification

I.4/ Diviser la base de données (Dataset et Labe) en 2/3 pour l'apprentissage et 1/3 pour le
teste.
I.5/ Construire le modèle de classification du SVM binaire.
I.6/ Tester le modèle sur le 1/3 de Dataset.
I.7/ Calcule du performance du modèle :
a) Compléter ce tableaux ci- dessous (Tableau 2.1).
Tableau 2.1 : Les performances du SVM binaire.

Noyaux Accuracy (ACC) AUC Précision Complexité de


calcul
Linéaire
RBF
Polynomiale
Sigmoïde

b) Tracer les Roc Curves des 4 noyaux.

1
2018/2019 Mlle. Khaoula Tbarki
I.8/ Afficher le nombre des observations de chaque classe.
I.9/ Que ce que vous remarquez ?
I.10/ Quel classifier vous proposez ?
Remarque:

Les packages nécessaires sont:


from sklearn import svm
from sklearn import metrics
from sklearn.metrics import accuracy_score
from sklearn.metrics import roc_curve, auc
from sklearn.metrics import confusion_matrix
import time

Partie II: SVM Mono-classe

II.1/ Tester cette commande et donner leur rôle :


dataset_selected1= Dataset.loc[Dataset ['Outcome'].isin([1])]
II.2/ Extraire de la base de données Dataset, les données de classe 0 et les enregister dans une
donnée dataset_selected0.
II.3/ Refaire la question 2 de Partie I, pour les données dataset_selected_1 et
dataset_selected_0 et les sauvegarder respectivement dans Label_1 et Label_0.
II.4/ Refaire la question 3 de Partie I, pour les données dataset_selected_1 et
dataset_selected_0 et les mettre respectivement dans Data_1 et Data_0.
II.5/Quel est la donnée à utilisée dans l'étape d'apprentissage?
II.6/ Utiliser le classifier SVM Mono-classe pour la classification des données, en utilisant la
commande "svm.OneClassSVM" et tester les 4 noyaux.
II.7/ Calcule du performance du modèle :
a) Compléter ce tableaux ci- dessous (Tableau 2.2).
Tableau 2.2 : Les performances du SVM Mono-classe.

Noyaux Accuracy AUC Précision Complexité de


calcul
Linéaire
RBF
Polynomiale
Sigmoïde

2
2018/2019 Mlle. Khaoula Tbarki
b) Tracer les Roc Curves des 4 noyaux.
II.8/ Afficher la matrice de confusion en utilisant la méthode Heatmap.
II.9/ Comparer les résultats obtenus par SVM binaire et SVM mono-classe et les analyser.

Partie III: SVM Multi-classe

III.1/ A partir de Python télécharger la base de données iris en utilisant ces commandes :
from sklearn import datasets
iris = datasets.load_iris()
Remarque : la base de données iris contient 3 classes de fleurs (Setosa, Versicolor, Virginica),
chaque classe est composée de 50 observations. La base données iris est de type dictionnaire
comme la figure 2.1 présente, les données sont enregistrées dans data et les étiquettes dans
target.

Figure 2.1 : La base données iris.

III.2/Copier les observations dans une matrice Data et les étiquettes dans un vecteur Label.
III.3/ Diviser la base de données (Dataset et Label) en 2/3 pour l'apprentissage et 1/3 pour le
teste.
III.4/ Construire le modèle de classification en utilisant SVM multi-classe, un contre un.
III.5/ Tester le modèle sur le 1/3 de Dataset.
III.6/Calcule du performance du modèle :
a) Compléter ce tableaux ci- dessous (Tableau 2.3).
Tableau 2.3 : Les performances du SVM multi-classe, un contre un.

Noyaux Accuracy Précision Complexité de


calcul
Linéaire
RBF
Polynomiale
Sigmoïde
3
2018/2019 Mlle. Khaoula Tbarki
III.7/ Refaire les questions 4, 5 et 6 en utilisant SVM multi-classe, un contre tous.
III.8/ Comparer les résultats obtenus par SVM multi-classe, un contre un et SVM multi-
classe, un contre tous et les analyser.

4
2018/2019 Mlle. Khaoula Tbarki

Vous aimerez peut-être aussi