Vous êtes sur la page 1sur 12

Département Génie Année Universitaire

Informatique 2020-2021
Intelligence Artificielle Responsables :
– 4 ème année – A. MAALEL
A.G. BLAIECH

TP2 : Arbre de Décision

Objectifs :
Partie 1 :
L’objectif de la partie 1 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

2. Utiliser Swi-prolog pour simuler un système expert de la maladie de diabète.


a. Traduire les règles de décision en Prolog
b. Préparer la base de faits
c. Simuler le système expert
Partie 2 :
L’objectif de la partie 2 de ce TP est de construire l’arbre de décision cette fois-ci à
partir de l’outil Weka (University of Waikato). Cet outil qui comprend un ensemble de
bibliothèques d’algorithmes liés à l’apprentissage supervisé et non supervisé. Cette
partie est organisée comme suit :
1. Construction de l’arbre de décision à partir de l’outil Weka.
2. Utiliser les bibliothèques Weka pour faire la génération de l’arbre de décision à
partir de l’IDE Java Netbeans.
TP 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

Partie 1 :

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
https://eric.univ-lyon2.fr/~ricco/sipina.html

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 :
http://tunedit.org/repo/UCI/diabetes.arff

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 diabete.arff en allant à: File à


Open (figure B)

2
TP 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

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.

Figure C

Figure D

3
TP 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

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 examplesàchoix aléatoire de 63% (figure E). Le
reste des exemples va être utilisé pour le test.

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 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

Figure G

Figure H

e. Analyser les résultats d’apprentissage et de test

Le rôle du classifieur 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 2 Intelligence Artificielle A. MAALEL & 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 2 Intelligence Artificielle A. MAALEL & 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 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

Figure M

Figure N

2. Utiliser Swi-prolog pour simuler un système expert pour la maladie de diabète :

a. Traduire les règles de décision en Prolog


b. Préparer la base de faits
c. Simuler le système expert

8
TP 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

Partie 2 :
1. Téléchargement de l’outil Weka :

https://waikato.github.io/weka-wiki/downloading_weka/

Figure A2

2. Importation de l’échantillon d’apprentissage utilisé dans la partie 1 du TP.

Figure B2

9
TP 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

3. Construction de l’arbre de décision à partir de l’outil Weka :

è Il suffit de d’activer l’onglet Classify ensuite choisir l’algorithme J48 (C4.5


de Quilan) qui se trouve dans le dossier trees.

Figure C2

4. Paramétrage et lancement de l’apprentissage :

Figure D2

10
TP 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

5. On se propose de créer un projet avec Netbeans. L’objectif est d’utiliser les


bibliothèques de l’outil Weka afin de lancer l’implémentation J48.

è Organisation du projet :

Figure E2

è Code source :

Figure F2

11
TP 2 Intelligence Artificielle A. MAALEL & A.G BLAIECH

è Aperçu du résultat :

Figure G2

12