Académique Documents
Professionnel Documents
Culture Documents
Frdric Santos
CNRS, UMR 5199 PACEA
Courriel : frederic.santos@u-bordeaux.fr
27 mars 2015
Contenu du document
1.
2.
3.
4.
Principe gnral . . . .
Exemple introductif . .
Donnes . . . . . . . .
Construction de larbre
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
3
3
4.1. Mesure de la puret des feuilles, 3 (Entropie probabiliste, 3. Indice de Gini, 4). 4.2.
Algorithme de construction, 5.
5. lagage de larbre . . . . . . . . . . . . . . . . . . . . . . . . .
6. Gestion des donnes manquantes . . . . . . . . . . . . . . . . . .
5
6
6.1. Solutions lmentaires, 6. 6.2. Solution propose par CART, 6. 6.3. Dautres
approches probabilistes, 6.
. . . . . . . . . . . . . . . . . . . . . . .
1. Principe gnral
Les arbres de dcision constituent une mthode rcente et efficace dexploration de donnes, en
vue de la prdiction dune variable qualitative laide de variables de tout type (qualitatives et/ou
quantitatives). Cette flexibilit constitue un avantage par rapport certains outils de classification,
prvus pour des prdicteurs dun seul et mme type.
Il sagit dune mthode itrative, dite de partitionnement rcursif des donnes. En effet, la
mthode construit des classes dindividus, les plus homognes possible, en posant une succession
de questions binaires (de type oui/non) sur les attributs de chaque individu.
Contrairement beaucoup doutils de classification (rgression logistique, SVM, etc.), les arbres
de dcision sont extrmement intuitifs et fournissent une reprsentation graphique, parlante et
facile lire, dun protocole de classification des individus. Cette reprsentation graphique est sous
forme dun arbre constitu de feuilles terminales (les classes dindividus) obtenues en suivant un
chemin le long des nuds, chaque nud correspondant une question binaire utilisant une variable
du jeu de donnes.
Les arbres de dcision permettent donc, dualement, didentifier trs rapidement les variables
les plus discriminantes dun jeu de donnes, en fonction de leur prsence parfois rpte le long
des nuds.
Un raffinement de la mthode consiste construire plusieurs arbres afin dobtenir une fort
alatoire disposant dun plus fort pouvoir discriminant [Bre01]. Cette mthode ne sera pas traite
dans ce document, mais le package R randomForest [LW02], bien document, permet de raliser
de telles analyses. Les arbres de dcision et les forts alatoires, frquemment employs en mdecine [KTK08, MSR 11], sont des outils trs efficaces pour de nombreuses problmatiques en
anthropologie biologique [CHSD13, Lac13].
1
Exemple introductif
2. Exemple introductif
Un arbre de dcision, cherchant la relation entre une variable (qualitative) dintrt Y et divers
prdicteurs X1 , X2 , , Xp , peut rpondre deux objectifs :
Exploration : comprendre la structure dun jeu de donnes, comprendre les relations entre
diffrentes variables, voir les variables les plus discriminantes dun jeu de donnes.
Prdiction : laide des rgles de dcision cres par larbre, pouvoir prdire la valeur dun
nouvel individu (i.e., laffecter la classe la plus probable de Y en fonction des scores quil
obtient sur les variables prdictives X1 , X2 , , Xp ).
Un jeu de donnes (fictif) recense le rsultat (Admis / Ajourn) de 39 tudiants lissue dune
L2 de mathmatiques dans une petite universit. Les variables tudies sont :
Sexe : le sexe de la personne (F : femme, M : homme) ;
Vit_Parents : variable binaire indiquant si ltudiant vit chez ses parents ;
Taux_Presence : pourcentage de prsence de ltudiant en CM et TD durant lanne ;
Mention_Bac : variable ordinale, chelonne de 0 (sans mention) 3 (Trs Bien), donnant
la mention obtenue par ltudiant son baccalaurat ;
Boursier : variable binaire indiquant si ltudiant bnficie dune bourse sur critres sociaux ;
Salari : variable binaire indiquant si ltudiant dispose dun emploi temps partiel, sur
ses journes de cours ou ses week-ends.
Un traitement basique du jeu de donnes par arbre de dcision avec R produit la figure suivante :
La lecture en est intuitive, en oprant une srie de dichotomies partant de la racine de larbre
(situe en haut du graphique). Larbre donne une srie de rgles de classification conditionnelles :
le critre le plus discriminant parmi les variables tudies est la mention au baccalaurat :
les tudiants auteurs dun bon parcours au lyce (mention Bien ou Trs Bien) russissent
gnralement leur L2 de mathmatiques ;
pour les tudiants nayant pas obtenu une telle mention par le pass (et seulement pour
eux), le fait dtre salari conduit chouer en L2 ;
et enfin, pour les tudiants sans bonne mention au bac et non salaris, le critre discriminant
est le taux de prsence en cours.
27 mars 2015
Sur la figure 1, les feuilles terminales (donnant la classe daffectation dun individu) sont
indiques par des rectangles, et la racine et les nuds intermdiaires sont encercls. La rgle
de dcision associe une feuille est le chemin parcouru pour arriver cette feuille.
3. Donnes
Un arbre de dcision construit avec lalgorithme CART peut fonctionner avec tous types de
variables : qualitatives, ordinales et quantitatives continues. Il sagit dune grande force de cette
mthode, qui permet de crer des rgles de dcision mixant tous types dinformation, ce qui est
particulirement utile en anthropologie biologique. On pourra ainsi prdire le sexe dun individu
en tenant compte de relevs mtriques, de lobservation de caractres biologiques discrets, ainsi
que de relevs archologiques indiquant la prsence de mobilier.
4. Construction de larbre
4.1. Mesure de la puret des feuilles. Le choix des questions les plus discriminantes afin de construire les nuds de larbre peut se faire selon plusieurs critres : lalgorithme
CART utilise lindice de Gini, tandis que lalgorithme C4.5 utilise lentropie probabiliste. Ces deux
outils mathmatiques visent valuer la puret de chaque feuille : lorsque lon se situe un
nud donn de larbre, le but est de crer deux feuilles qui soient plus homognes que le nud qui
les prcde. Il faut donc disposer dun moyen de mesurer cette homognit, ou puret . Grce
cela, chaque nud, le split est construit de manire maximiser le gain dinformation apport
par une question donne sur la connaissance de la variable rponse.
4.1.1. Entropie probabiliste. Lentropie probabiliste est une fonction mathmatique cre
par Claude Shannon en 1948, pour des questions initialement lies la thorie du signal. La
prsentation ci-dessous est fortement inspire de [PB07].
Dfinition 1 (Entropie dune variable alatoire discrte). Soit X une variable alatoire discrte, prenant n valeurs x1 , , xn de probabilits dobtention respectives p1 , , pn . On appelle
entropie de X, gnralement note H pX q, la quantit
Hb p X q
pi logb ppi q
i 1
Construction de larbre
Imaginons dsormais que vos collgues sont encore plus tordus et ont cach vos cls dans un des
tiroirs de lune des K armoires dun btiment. Chacune des K armoires dispose de ni tiroirs (pour
i P J1, KK), et on notera n n1 nK le nombre total de tiroirs, toutes armoires confondues,
dans lesquels peuvent se trouver vos cls. Pour les cacher, vos collgues ont tout dabord choisi
alatoirement une armoire en fonction du nombre de tiroirs quelle contenait : comme le jeu les
amusera bien plus si larmoire comporte beaucoup de tiroirs, ils se sont fix pour rgle de choisir
larmoire i (pour i P J1, KK) avec probabilit pi ni {n.
Si vos collgues vous rvlent, un moment donn, que vos cls se trouvent dans larmoire i0 ,
alors il suffira comme prcdemment de poser log2 pni0 q questions pour les situer. En revanche, si
vous ne savez pas dans quelle armoire chercher, la meilleure stratgie est alors de visiter alatoirement les armoires en leur donnant les mmes probabilits pi que celles choisies par les farceurs ;
on retrouvera alors les cls aprs avoir pos en moyenne un nombre de questions gal
K
pi log2 pni q
i 1
cest--dire la moyenne sur les K armoires du nombre de questions poser par armoire, pondre
par les probabilits associes chacune dentre elles.
Se pose maintenant une question : laquelle des deux situations suivantes est la plus avantageuse,
en termes de nombre de questions poser ?
(i) Cls caches dans un des n tiroirs dune armoire de faon quiprobable
(ii) Cls caches dans un des ni tiroirs dune des K armoires, sachant que n1
que larmoire a t choisie alatoirement avec probabilit pi ni {n
nK
n et
Autrement dit, est-il avantageux que les n endroits o chercher soient regroups en K sousensembles auxquels sont rattachs des poids ppi q1iK ? Pour le savoir, il suffit de comparer le
nombre de questions poser dans les cas (i) et (ii), en calculant leur diffrence que lon notera :
log2 pnq
pi log2 pn pi q
i 1
i 1
log2 ppi qq
i 1
27 mars 2015
5. lagage de larbre
Un objectif important pour toutes les mthodes de classification est dviter le sur-ajustement
(overfitting), cest--dire une capacit dcrire exagrment bien le jeu de donnes dapprentissage tout en ayant de faibles capacits de gnralisation ou de prdiction pour dautres jeux
de donnes. Dans un tel cas, le modle construit sur-apprend les diffrences entre les classes dindividus propres ce jeu de donnes : ceci se produit gnralement cause dun problme de
dimensionnement, se traduisant ici par la prsence dun trop grand nombre de feuilles terminales
dans larbre de dcision. Les premiers splits sont gnralement les plus importants et les moins
dpendants de lchantillon, tandis que les suivants dcrivent des particularits plus subtiles, pouvant tre propres lchantillon dont on dispose. Il est donc souhaitable, afin de garder un niveau
correct de gnralit, dlaguer larbre construit.
On procde classiquement par validation croise : le jeu de donnes est divis en sous-ensembles,
jouant tour tour le rle dchantillon dapprentissage puis de validation. Par exemple, si le jeu
de donnes est divis en 3 sous-ensemble, les deux premiers peuvent dans un premier temps servir
construire larbre, dont on calculera un taux derreur de prdiction en utilisant le troisime jeu
de donnes. Dans un second temps, les deux derniers joueront le rle dapprentissage tandis que
le premier servira de jeu de validation, etc. Un taux derreur de prdiction global peut alors tre
calcul en runissant les scores obtenus pour chaque sous-ensemble 2 .
Un taux derreur de prdiction par validation croise est calcul par R pour diffrentes tailles
de larbre (i.e., diffrents nombres de feuilles terminales) : larbre est alors laguer au niveau
offrant lerreur minimale.
2. Une stratgie judicieuse est celle du leave-one-out cross-validation (LOOCV) : sur les n individus du jeu de
donnes, chaque individu est tour tour pris seul pour la validation alors que larbre a t appris sur les n 1
autres individus.
27 mars 2015
Les commandes suivantes permettent dafficher larbre de dcision sous forme graphique :
> plot(arbre, uniform=TRUE, margin=0.1, main="Arbre de dcision")
> text(arbre, fancy=TRUE, use.n=TRUE, pretty=0, all=TRUE)
La commande plot ne trace que larmature de larbre, et la commande text y ajoute les
tiquettes textuelles (dans les nuds intermdiaires et les feuilles terminales). Ces deux commandes
possdent de trs nombreuses options graphiques pour personnaliser lapparence esthtique de
larbre : consulter laide de ces fonctions 4 pour trouver les rglages correspondant le mieux votre
got. Ici, les paramtres pris par ces deux commandes ne sont donns qu titre dexemple et nont
quune importance cosmtique. Lexcution des commandes prcdentes permet lobtention de la
figure 2.
ce stade, on peut souhaiter laguer larbre de dcision. Pour cela, il est conseill dexcuter la
commande plotcp(arbre) pour dterminer la taille optimale (ou printcp(arbre) pour obtenir
le mme rsultat mais sous la forme dun tableau et non dun graphique) : cf. figure 3.
On y constate que lerreur de prdiction commise en validation croise est minimale si size of
tree = 2, cest--dire si larbre ne comporte que deux feuilles terminales. Larbre correspondant
a une complexit cp = 0.059 : cest de cette faon que lon va indiquer R la taille darbre
souhaite, grce la commande suivante.
> arbre2 = rpart(Kyphosis ., cp=0.059, data=kyphosis)
On demande alors laffichage de cet arbre lagu, reprsent en figure 4. Son taux final de mauvais classement (en apprentissage) est gal 56 66 88 11 0.172, soit 17.2% environ. Cette erreur
est celle obtenue sur les donnes ayant servi la construction de larbre : cest donc probablement
une vision optimiste de la performance relle de cette arbre qui fonctionnera sans doute moins
bien sur des donnes inconnues. Quelques lignes de code permettent destimer rapidement le taux
derreur de prdiction en utilisant encore une fois une procdure de validation croise : consulter
[CGH 12] pour plus dinformation.
4. Par exemple en excutant les commandes help(plot.rpart) et help(text.rpart)
27 mars 2015
Dsormais, larbre de dcision lagu fournit la rgle de dcision optimale (au vu des variables
prdictives dont on dispose) pour prdire la variable Kyphosis. On peut tre conduit appliquer
ultrieurement cette rgle sur de nouveaux enfants qui vont tre oprs, de manire estimer
avant lopration leur risque de dvelopper une cyphose. On construit arbitrairement un tableau
de donnes correspondant trois enfants sur le point dtre oprs :
> inco = data.frame(c(60,30,90), c(1,2,3), c(5,12,16))
> colnames(inco) = c("Age", "Number", "Start")
Lobjet R inco est alors le data frame suivant 5 :
1
2
3
La prdiction de la variable Kyphosis pour ces trois individus sopre alors par la commande
predict (dont le premier argument est le nom du modle utilis, et le second, newdata, est le
nom du data frame contenant les nouveaux individus) :
> predict(arbre2, newdata=inco, type="class")
1
present
2
absent
3
absent
Selon le modle, seul le premier enfant semble devoir dvelopper une cyphose lissue de son
intervention chirurgicale. Pour obtenir les probabilits associes aux modalits absent et present
pour chaque individu, il suffit de retirer largument type="class".
5. Il est capital que le data frame contenant les individus prdire soit calqu sur celui ayant servi la construction de larbre : mmes noms de colonnes (casse incluse), mmes types de variables, etc. En particulier, si lune des
variables prdictives est un facteur, on ne doit pas introduire chez les nouveaux individus un niveau de facteur qui
tait inconnu ou absent lors de lapprentissage de la rgle de dcision.
10
Rfrences
Rfrences
[Bre01]
[CGH 12] Pierre-Andr Cornillon, Arnaud Guyader, Franois Husson et al. : Statistiques
avec R. Presses Universitaires de Rennes, 3e dition, 2012.
[CHSD13] Louise Corron, Jean-Bernard Huchet, Frdric Santos et Olivier Dutour : Palopathologie, pseudo-pathologie et taphonomie : Etude pluridisciplinaire et classification de modifications osto-archologiques de restes humains, 2013. Poster prsent
au Groupe des Palopathologistes de Langue Franaise (GPLF), 1213 avril, Toulon,
France.
[Haw08]
Lamis Hawarah : Une approche probabiliste pour le classement dobjets incompltement connus dans un arbre de dcision. Thse de doctorat, Universit de Grenoble I,
2008.
[KTK08]
Imran Kurt, Mevlut Ture et A. Turhan Kurum : Comparing performances of logistic regression, classification and regression tree, and neural networks for predicting
coronary artery disease. Expert Systems with Applications, 34(1):366374, 2008.
[Lac13]
[LW02]
[MSR 11] Joao Maroco, Dina Silva, Ana Rodrigues et al. : Data mining methods in the prediction of dementia : A real-data comparison of the accuracy, sensitivity and specificity
of linear discriminant analysis, logistic regression, neural networks, support vector machines, classification trees and random forests. BMC Research Notes, 4(1):299, 2011.
[PB07]
[TAR13]