Filière : LSI-A3 Enseignant responsable : Ahmed Ghazi
BLAIECH
Matière : Machine Learning Enseignante du TD: Roua JAAFAR
TP1 : Arbre de Décision
Objectifs :
Partie 1 :
L’objectif de ce TP est de construire l’arbre de décision à partir du logiciel SIPINA et
de générer par la suite des règles de production qui seront utilisées pour alimenter un
système expert décrit en Prolog. Cette partie est organisée comme suit :
1. Construction de l’arbre de décision et génération de règles de production
a. Téléchargement et Installation de l’outil SIPINA
b. Importation d’un échantillon de données sur la maladie de diabète
c. Réparation de l’échantillon : Apprentissage et test
d. Appliquer l’apprentissage par l’arbre de décision
e. Analyser les résultats d’apprentissage et de test
f. Générer les règles de production à partir de l’arbre de décision
1. Construction de l’arbre de décision et génération de règles de productions :
a. Téléchargement et Installation de l’outil SIPINA:
Dans un premier temps, il s’agit d’installer SIPINA, un logiciel gratuit pour
effectuer l’apprentissage par les arbres de décision. C'est un des très rares
outils en libre accès intégrant des fonctionnalités interactives lors de la
construction d'un arbre de décision.
Le setup du logiciel SIPINA est accessible en ligne
[Link]
b. Importation d’un échantillon de données sur la maladie de diabète :
Il s’agit du problème de classification de personnes diabétiques ou non
diabétiques. Vous allez utiliser un échantillon d’apprentissage qui comprend
des données sur le diabète (786 exemples de 8 attributs) et deux classes de
sorties (Figure A). L’échantillon est accessible sur cette adresse :
[Link]
TP 1 Machine Learning A.G BLAIECH
Les attributs sont :
Nombre de fois enceinte
Concentrations plasmatiques de
glucose
Tension artérielle diastolique (mm
Hg)
Épaisseur du pli de la peau des
triceps (mm)
Insuline sérique en 2 heures (mu U
/ ml)
Indice de masse corporelle (poids
en kg / (taille en m) ^ 2)
Fonction ascendance du diabète
Age (années)
Les classes sont :
Positif
Négatif
Les données sont sous un format
ARFF (Attribute-Relation File
Format).
Figure A
Ouvrir l’outil SEPINA et charger le fichier [Link] en allant à: File
Open (figure B)
Figure B
Définir le rôle des attributs en allant à: Analysis Define Class attribute
(figure C). Le résultat de cette opération est donné par la figue D.
2
TP 1 Machine Learning A.G BLAIECH
Figure C
Figure D
c. Réparation de l’échantillon : Apprentissage et test
Filtrer les exemples actifs (qui vont être utilisés dans l’apprentissage) en allant
à: Analysis Select active exampleschoix aléatoire de 63% (figure E).
Le reste des exemples va être utilisé pour le test.
3
TP 1 Machine Learning A.G BLAIECH
Figure E
d. Appliquer l’apprentissage par l’arbre de décision
Choisir l’algorithme d’apprentissage en allant à: Induction Method
Standard algorithm C4.5 de Quinlan pour la génération d’arbre de
décision (figure F).
Figure F
Pour commencer l’apprentissage et générer l’arbre de décision, il faut aller au
menu Analysis -> learning (figure G et H).
4
TP 1 Machine Learning A.G BLAIECH
Figure G
Figure H
e. Analyser les résultats d’apprentissage et de test
Le rôle du classificateur par arbre de décision est la détection de la classe
adéquate pour chaque cas cible saisi. Le processus de classification s’applique
sur deux types de données d’apprentissage : données d’apprentissage qui
décrivent l’ensemble de cas séparés en classes et les données de test qui
représentent les nouveaux cas acquis par les utilisateurs.
Pour produire les résultats d’apprentissage, il faut aller au menu Analysis ->
test (figure I) et choisir ensemble d’apprentissage (Figure J).
5
TP 1 Machine Learning A.G BLAIECH
Figure I
Figure J
Le résultat est une matrice de confusion (Figure K) : sur la gauche (colonne)
c'est les véritables classes (expert), puis en haut (ligne) la prédiction par l’arbre
de décision. L'analyse quantitative permet d'évaluer statistiquement la
performance des résultats de classification par rapport à celle donnée par
l’expert. Lest un moyen pour évaluer la performance dans notre cas. Elle est
basée sur quatre paramètres : Vrai-Positif (VP), Vrai-Négatif (VN), Faux-
Positif (FP) et Faux-Négatif (FN). Ils sont définis comme suit :
1. VP : le nombre d’exemples correctement étiqueté appartenant à la classe 1
2. VN : le nombre d’exemples correctement étiqueté appartenant à la classe 2
3. FP : le nombre d’exemples incorrectement étiquetés appartenant à la classe 1
4. FN : le nombre d’exemples incorrectement étiquetés appartenant à la classe 2
Une classification idéale est celle qui permet d'atteindre 100% de précision. La
précision est calculée par l’équation suivante :
Précision=((VP+VN)/ VP+VN+FP+FN)*100%
6
TP 1 Machine Learning A.G BLAIECH
Figure K
Calculer la précision d’apprentissage ?
Pour produire les résultats de test, il faut aller au menu Analysis -> test (figure
I) et choisir exemples inactifs de données (Figure L).
Figure L
Calculer la précision de test ?
f. Générer les règles de production à partir de l’arbre de décision
Pour générer les règles de décision à la place de l’arbre de décision. Il faut
aller au menu Analysis Stop learning ensuite choisir l’algorithme
d’apprentissage en allant à: Induction Method Standard Algorithm
(figure M). Choisir C4.5 Rules de Quinlan puis valider par OK.
Une liste des règles sera affichée dans la figure N.
7
TP 1 Machine Learning A.G BLAIECH
Figure M
Figure N