Vous êtes sur la page 1sur 17

Etablissement d'un arbre de dcision sous WEKA

par Faisel Chabli (Accueil)


Date de publication : 18/04/2008
Dernire mise jour : 18/04/2008
Cet article a pour objectif de vous prsenter comment tablir un arbre de dcision sous
WEKA.
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 2 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
I - Introduction..............................................................................................................................................................3
II - Tlchargement et installation............................................................................................................................... 4
2.1 - Prsentation................................................................................................................................................... 4
2.2 - Tlchargement............................................................................................................................................. 4
2.3 - Installation...................................................................................................................................................... 4
III - Prparation du fichier de donnes sous format CSV........................................................................................... 5
3.1 - Extraction des donnes et export sous format CSV..................................................................................... 5
IV - Etablissement de l'arbre de dcision................................................................................................................... 7
4.1 - Connexion au fichier de donnes CSV......................................................................................................... 7
4.2 - Etablissement de l'arbre de dcision.......................................................................................................... 10
4.3 - Analyse de l'arbre rsultat...........................................................................................................................15
V - Conclusion........................................................................................................................................................... 16
VI - Remerciements................................................................................................................................................... 17
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 3 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
I - Introduction
Selon la source: Pour certains domaines d'application, il est essentiel de produire des procdures de classification
comprhensibles par l'utilisateur. C'est en particulier le cas pour l'aide au diagnostic mdical o le mdecin doit
pouvoir interprter les raisons du diagnostic. Les arbres de dcision rpondent cette contrainte car ils reprsentent
graphiquement un ensemble de rgles et sont aisment interprtables.
Cet article vous guidera pour tablir un arbre de dcision sous WEKA.
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 4 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
II - Tlchargement et installation
2.1 - Prsentation
WEKA est un logiciel libre ddi au Data Mining. Parmi les fonctionnalits qu'il couvre, on trouve les arbres de
dcision. Selon dfinition, un arbre de dcision est un outil d'aide la dcision et l'exploration de donnes. Il
permet de modliser simplement, graphiquement et rapidement un phnomne mesur plus ou moins complexe. Sa
lisibilit, sa rapidit d'excution et le peu d'hypothses ncessaires priori expliquent sa popularit actuelle.
2.2 - Tlchargement
Le logiciel WEKA peut tre tlcharg partir du site officiel de WEKA ici.
2.3 - Installation
L'installation de WEKA est facile et rapide, il suffit juste d'excuter l'exe prcdemment tlcharg. Aucune exigence
n'est note sur le lieu d'installation. Une fois install, il peut tre lanc partir du menu dmarrer en cliquant sur
weka 3.4. la fentre suivante s'ouvre :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 5 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
III - Prparation du fichier de donnes sous format CSV
3.1 - Extraction des donnes et export sous format CSV
A part les base de donnes, les formats de fichiers supports par WEKA sont le arff et le csv. Le format de fichier
le plus utilis sous WEKA tant le arff. Pour convertir un fichier arff en ce format il faut passer par des outils ou un
programme java qui fait cette conversion. Dans cet article je me contenterai de l'utilisation d'un fichier csv.
Gnralement les donnes sont stockes dans une base de donnes relationelles. Plusieurs outils gratuits existent
qui permettent d'exporter le rsultat d'une requte SQL SELECT dans un fichier csv. Dans mon cas j'utilise SQL-View.
L'arbre de dcision tablir nous permettera par exemple de classifier les clients d'une banque s'ils sont des clients
risque ou pas. Cette classification est faite partir d'autres attributs qu'on appelle des attributs prdicteurs. Dans
notre exemple les attributs prdicteurs sont l'ge du client et son revenu. Je suppose par exemple qu'un client
risque est un client qui a au moins un impay dans ses chances.
On supposera que notre base de donnes est compose de deux tables : clients et impays.
La table clients est compose de :
idClient : numrique
age : numrique
revenu : numrique
La table impays est compose de :
idClient : numrique
Nombre_impays : numrique
On va crer une nouvelle table: client_risque.
La table client_risque est compose de :
age : numrique
revenu : numrique
aRisque : texte
La table client_risque est remplie partir des deux dernires tables via un INSERT en faisant une jointure par l'idClient
de la manire suivante :
Si le champ Nombre_impays de la table impays est suprieur strictement zro alors le client est risque et je
mets un 'O' dans le champ aRisque de la table client_risque, sinon je mets un 'N' dans ce champ.
Le rsultat d'un SELECT sur la table client_risque ressemblera ceci :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 6 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
C'est ce rsultat du SELECT qu'il faut exporter vers un fichier CSV.
Maintenant notre fichier csv est bien prt pour utilisaton partir de WEKA.
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 7 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
IV - Etablissement de l'arbre de dcision
4.1 - Connexion au fichier de donnes CSV
Pour se connecter au fichier prcdemment prpar, cliquer sur Explorer sur la premire fentre apparue lors du
lancement de WEKA.
Ensuite, cliquer sur Open file... de l'onglet Preprocess.
Dans la fentre qui s'ouvre choisir le type de fichier csv comme suit :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 8 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
Et naviguer jusqu' votre fichier csv et cliquer sur ouvrir. Vous aurez un aperu du genre :
Cet aperu comporte plusieurs parties. On y trouve :
La partie Current relation :
Qui montre :
Relation : Le nom du fichier csv utilis, dans ce cas c'est test3.
Instances : Le nombre d'instances du fichier, dans ce cas c'est 9.
Attributes : Le nombre d'attributs traits, dans ce cas c'est 3, savoir l'ge, le revenu et Arisque?
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 9 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
La partie Attributes :
Qui excplicite les attributs figurant dans le fichier traiter. L'utilisateur peut tout moment cocher un attribut et cliquer
sur le bouton Remove pour l'enlever de l'analyse.
Remove permet juste d'enlever un attribut de l'analyse faire, l'attribut reste intact sur le
fichier csv d'origine.
La partie Selected attribute :
Qui donne des statistiques sur l'attribut slectionn dans la partie Attributes (le nom de l'attribut, son type : numrique
ou texte, nombre d'occurences distinctes, le minimum et le maximum si c'est un attribut numrique, le nombre
d'occurences si c'est un attribut de type texte...).
Cette partie comporte aussi un graphe en rectangles composs de deux couleurs : le bleu (O: oui risque) et le
rouge (N : non risque).
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 10 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
On peut bien lire sur ce graphe qu'il y a deux tranches de revenus : en gros des revenus suprieurs ou infrieurs
339 ( = ( min + max)/2).
Pour les clients ayant un revenu compris entre 78 et 339 :
Un client sur 3 est risque (rectangle bleu occupant 1/3 de la surface comprise entre 78 et 339).
Deux clients sur 3 sont non risque (rectangle rouge occupant 2/3 de la surface comprise entre 78 et 339).
Pour les clients ayant un revenu compris entre 339 et 600 :
Trois clients sur 6 sont risque (rectangle bleu occupant 1/2 de la surface comprise entre 339 et 600).
Trois clients sur 6 sont non risque (rectangle rouge occupant 1/2 de la surface comprise entre 339 et 600).
Pour savoir la signification de chaque couleur, il suffit de slectionner l'attribut prdire (la
classe ARISQUE) dans la partie Attributes. Un graphe s'affiche dans la partie Selected
attribute, du genre :
On peut bien remarquer en haut dans la partie Selected attribute qu'il y a 4 occurences pour la valeur O de l'attribut
ARISQUE et 5 occurences pour la valeur N. Ces deux valeurs sont illustres par le graphe o l'on constate que la
couleur bleue a t assigne pour la valeur O et la couleur rouge pour la valeur N.
4.2 - Etablissement de l'arbre de dcision
Pour tablir l'arbre de dcision cliquer sur l'onglet Classify, choisir l'option Use training set de Test options comme
suit :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 11 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
La zone Test options permet de choisir de quelle faon l'valuation des performances du modle appris se fera.
L'option Use training set utilise l'ensemble d'entranement pour cette valuation.
L'option Supplied test set va utiliser un autre fichier.
Lorsque l'option Cross-validation est slectionne, l'ensemble d'apprentissage est coup en 10 (si Folds
vaut 10). L'algorithme va apprendre 10 fois sur 9 parties et le modle sera valu sur le dixime restant. Les
10 valuations sont alors combines.
Avec l'option Percentage split, c'est un pourcentage de l'ensemble d'apprentissage qui servira
l'apprentissage et l'autre l'valuation.
Ensuite, cliquer sur le bouton Choose de Classifier pour choisir un algorithme parmi ceux proposs par WEKA.
Dans mon cas je vais utiliser l'algorithme J48.
Dans la fentre qui s'ouvre, dvelopper le dossier trees et choisir l'algorithme J48 par exemple :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 12 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
Cliquer sur Start pour effectuer l'analyse.
Vous aurez un cran qui ressemble ceci :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 13 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
Dans la partie Classifier output vous avez des statistiques sur le fichier exploit, savoir le nombre d'instances
Total Number of Instances de votre fichier, le nombre d'instances correctement classifies Correctly Classified
Instances et incorrectement classifies Incorrectly Classified Instances et autres statistiques dcouvrir!
Sur le mme cran vous avez aussi la matrice de confusion : Confusion Matrix de cette analyse.
Pour afficher l'arbre de dcision, cliquer droit dans la partie Result list (right-click for options) :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 14 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
Lors de ce clique droit un menu d'options s'affiche comme suit :
Choisir l'option Visualize tree.
L'arbre de dcision s'affiche ressemblant ceci :
Pour centrer l'affichage de l'abre, cliquer droit quelque part dans la partie blanche de la fentre ouverte et jouer sur
les options affiches :
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 15 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
4.3 - Analyse de l'arbre rsultat
Dans cet exemple on peut analyser le rsultat de la manire suivante :
Premirement, j'ai a deux catgories principales de clients :
Des clients ayant un ge infrieur ou gal 24.
Des clients ayant un ge suprieur strictement 24.
L'arbre montre que les clients ayant un ge infrieur ou gal 24 sont tous des clients risque. Les clients ayant un
ge suprieur strictement 24 sont subdiviss en deux parties :
Des clients ayant un revenu infrieur ou gal 300.
Des clients ayant un revenu suprieur strictement 300.
L'arbre montre que les clients ayant un ge suprieur strictement 24 et un revenu infrieur ou gal 300 sont tous
des clients non risque. Les clients ayant un revenu suprieur strictement 300 sont subdiviss en deux parties :
Des clients ayant un ge infrieur ou gal 30.
Des clients ayant un ge suprieur strictement 30.
L'arbre montre que les clients ayant un revenu suprieur strictement 300 et un ge infrieur ou gal 30 sont tous
des clients non risque. Les clients ayant un revenu suprieur strictement 300 et un ge suprieur strictement
30 sont tous des clients risque.
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 16 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
V - Conclusion
Cet article vous a montr comment tablir un arbre de dcision sous WEKA partir d'un fichier CSV. Je suis toujours
entrain de rechercher comment tablir un arbre de dcision partir d'une base de donnes, je vous ferai part des
choses une fois la solution matrise.
Etablissement d'un arbre de dcision sous WEKA par Faisel Chabli (Accueil)
- 17 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://jaub.developpez.com/tutoriels/weka/weka/
VI - Remerciements
Un grand merci Adrien Artero pour ses retours et ses conseils. Je tiens remercier aussi Fleur-Anne.Blain pour
ses corrections.

Vous aimerez peut-être aussi