Vous êtes sur la page 1sur 10

Arbres de dcision

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.

7. Mise en uvre avec R

. . . . . . . . . . . . . . . . . . . . . . .

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 :

Figure 1. Arbre de dcision pour ltude sur la russite des tudiants

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

o b dsigne la base du logarithme (trs souvent, b  2).


Lentropie est souvent dcrite comme une mesure du dsordre : elle est nulle lorsque nous
connaissons tout des valeurs produites produites par X typiquement, si X est dterministe et
ne renvoie quune seule valeur x0 quoiquil arrive et elle est maximale (positive) lorsque X est
uniformment rpartie c.--d., pi  1{n pour tout i.
Le concept dentropie peut assez bien se traduire intuitivement au moins dans le cas discret.
tant donn que lentropie mesure le dsordre, considrons justement un cas concret de dsordre :
vos collgues vous font une bonne blague et cachent vos cls dans un des n tiroirs que lon
numrotera de 1 n de larmoire de la caftria. Afin de savoir o se trouvent vos cls, une
stratgie basique peut tre de poser n fois vos collgues la question : sont-elles dans ce tiroirl ? . Linconvnient est bien sr que si n est grand, vous risquez probablement de vous lasser
et eux aussi.
Une stratgie plus efficace peut tre de procder par dichotomie. Si n est une puissance de 2,
cest--dire sil existe p P N tel que n  2p , il vous suffira tout dabord de demander si vos cls se
trouvent dans un tiroir compris entre 1 et n{2. Si la rponse est oui, on repose la question avec
1 et n{4, et ainsi de suite. Au total, seules p  log2 pnq questions auront t poses, ce qui est
nettement plus rapide que dans le cas prcdent 1 . On retiendra donc que le nombre de questions
ncessaires pour localiser les cls parmi les n tiroirs est log2 pnq.
1. Si n nest pas une puissance de 2, un simple arrondi la plus proche puissance de 2 (suprieure) rglera le
problme et la stratgie de dichotomie fonctionnera tout autant

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 pni q  log2 pnq 

pi log2 pn  pi q

i 1

i 1

 log2 pnq  pi plog2 pnq


i1


K

pi log2 ppi q 0

log2 ppi qq

i 1

Ainsi, 0 et la situation (ii) est plus avantageuse : reprsente lconomie de questions


ralise en sachant (en probabilit) dans quelle armoire se situe la cl. Lentropie est prcisment ,
et atteint son maximum lorsque p1      pK  1{K, cest--dire dans le cas dune distribution
uniforme. Elle reprsente un indice de dsordre associ la distribution de probabilit ppi q1iK .
4.1.2. Indice de Gini. Lindice (ou coefficient) de Gini est une mesure, comprise entre 0 et
1, de la dispersion dune distribution. Il est trs souvent utilis en conomie ou en sociologie afin
de mesurer les ingalits sociales au sein dun pays. Dans ce contexte, plus le coefficient est proche
de 1 et plus la socit est ingalitaire.
On ne sattardera pas ici sur les dtails techniques concernant le coefficient de Gini, que lon
peut trouver par exemple dans [Bre01]. Il est nanmoins important de comprendre lanalogie avec
lentropie probabiliste : comme cette dernire, lindice de Gini a pour but dvaluer la puret de
chaque feuille, et de permettre la cration de feuilles aussi homognes (donc galitaires ) que
possible.

27 mars 2015

4.2. Algorithme de construction. Larbre de dcision prsent titre dexemple en


figure 1 illustre le principe de construction dun arbre : celui du partitionnement rcursif. Les
individus sont tout dabord spars en deux sous-ensembles, puis chacun de ces sous-ensembles est
son tour spar, etc. Progressivement, les individus de lensemble dapprentissage sont diviss
en utilisant des questions poses laide des variables du jeu de donnes. Comme nonc
prcdemment, ces questions sont choisies de manire maximiser lhomognit des feuilles,
cest--dire maximiser linformation apporte par les rponses.
On peut virtuellement continuer construire larbre jusqu obtenir autant de feuilles que
dindividus dans le jeu de donnes : chacune dentre elles exprimerait alors la particularit dun
des individus. Bien entendu, cela naurait aucun intrt scientifique, et il sagit donc de trouver
des critres darrt. Il y a plusieurs faons darrter le partitionnement rcursif un stade donn :
obliger les feuilles terminales contenir un nombre minimal dindividus (ds que R atteint
une tape o une division supplmentaire entranerait lobtention de feuilles plus petites
que le seuil dsir, le processus sarrte) ;
obliger larbre ne pas contenir plus dun certain nombre de feuilles ;
interrompre le processus lorsquune division supplmentaire namliorerait pas la qualit
discriminante de larbre.
Lalgorithme de construction dun arbre est alors le suivant :
(i) La situation actuelle vrifie-t-elle un critre darrt ? Si oui, on sarrte ici.
(ii) Si aucun critre darrt nest vrifi :
(a) Parmi toutes les variables du jeu de donnes, trouver celle permettant de poser la
question conduisant un gain dinformation maximal.
(b) Partitionner les individus en fonction de la question trouve, crer le nud correspondant sur larbre.
(c) Recommencer lalgorithme en partant du nud nouvellement cr.

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.

Gestion des donnes manquantes

6. Gestion des donnes manquantes


Les arbres de dcision sont trs utiles dans le cas de donnes fortement lacunaires cas convenant mal aux mthodes discriminantes classiques telles que la rgression logistique ou lanalyse
discriminante linaire.
Les donnes manquantes posent plusieurs problmes pour construire un arbre de dcision.
Imaginons que lon dispose dune variable possdant quelques donnes manquantes, mais
permettant de poser une question extrmement discriminante. Si lon choisit cette variable
pour procder un split, de quel ct du split doit-on envoyer les individus pour lesquels
cette variable nest pas renseigne ? Ou alors, est-il raisonnable dter ces individus du jeu
de donnes ?
Imaginons quun arbre de dcision est construit grce un jeu de donnes ne possdant
aucune valeur manquante. En revanche, on souhaite utiliser cet arbre pour classer de nouveaux individus inconnus qui, eux, possdent des valeurs non observes. Comment faire
pour leur appliquer la rgle de dcision ?
6.1. Solutions lmentaires. Bien entendu, les mthodes rustiques communes
toutes les mthodes multivaries peuvent sappliquer. La plus simple est de supprimer les individus
ayant trop de valeurs manquantes. Si les valeurs manquantes sont rares et le nombre dindividu
important, il suffit de supprimer les individus ayant au moins une valeur manquante : on se retrouve
alors avec un jeu de donnes complet, et de taille suffisante. Cette solution est videmment carter
si le nombre dindividus est faible et le nombre de valeurs manquantes est important. Dualement,
supprimer les variables ayant trop de valeurs manquantes peut tre une approche ncessaire
pour les mthodes multivaries classiques, mais nest pas pertinent pour CART.
De manire gnrale, les solutions visant agir directement sur le jeu de donnes en amont de
lanalyse ce qui est la dmarche classique pour procder une rgression logistique par exemple
nont ici que peu dintrt, puisque CART possde sa propre solution au problme des donnes
manquantes.
6.2. Solution propose par CART. CART utilise une procdure de surrogate splits
(cest, comme on le verra, la terminologie utilise dans les rsultats renvoys par R), ou variablessubstituts, pour saffranchir du problme des valeurs manquantes. Cette procdure permet notamment de classer de nouveaux individus inconnus, mme lorsquils possdent des valeurs manquantes
pour les variables apparaissant sur larbre de dcision.
Lide est plutt simple : lorsquon choisit un split bas sur une certaine variable Z du jeu
de donnes, on opre une partition des individus en deux groupes en fonction des valeurs quils
prennent pour cette variable Z. Or, il se peut quune autre variable Z 1 du jeu de donnes permette
de dfinir un split donnant sensiblement la mme partition, i.e. les deux mmes groupes. Il se
peut mme quune troisime variable Z 2 permette de dfinir une autre partition restant encore
relativement proche de celle obtenue grce Z. On dit alors que les variables Z 1 et Z 2 sont des
variables-substituts Z.
Ainsi, si un individu 3 arrive un nud o intervient une variable Z qui correspond chez
lui une donne manquante, on lenvoie alors droite ou gauche en fonction des valeurs quil
obtient sur la variable-substitut Z 1 ou dfaut la variable Z 2 si Z 1 est galement une donne
manquante chez lui, et ainsi de suite.
6.3. Dautres approches probabilistes. Il existe encore beaucoup dautres approches
pour le traitement des donnes manquantes dans un arbre de dcision, et ce sujet constitue un
sujet de recherche trs actif en statistique thorique. Pour un aperu de quelques autres mthodes
modernes et efficaces, on pourra consulter [Haw08].
3. Cet individu peut aussi bien appartenir au jeu de donnes dapprentissage qu un ensemble dindividus
inconnus que lon souhaite dterminer !

27 mars 2015

7. Mise en uvre avec R


Pour lheure, il nexiste pas de fonction ou de package offrant une interface graphique pour
raliser des arbres de dcision avec R. Heureusement, les commandes sont relativement simples, et
il suffit de trois cinq lignes de code pour construire et afficher un arbre de dcision, avec tous les
diagnostics ncessaires son lagage. La prsente section part du principe que le lecteur est plus
ou moins familier avec R mme si quelques principes de base seront rappels. Si ce nest pas le
cas, on consultera avec profit [CGH 12].
Le package rpart [TAR13] est ddi aux arbres de dcision. Sur un ordinateur connect
Internet, installer ce package en tapant dans une console R la commande suivante :
install.packages("rpart", dep=TRUE)
Ensuite, chaque ouverture dune session R, ce package devra comme dhabitude tre charg grce
la commande library(rpart).
Pour servir de support tout ce qui suit, on utilisera un jeu de donnes de dmonstration inclus
dans le package rpart : kyphosis. Pour le charger, excuter la commande data(kyphosis)ou
passer par le menu Donnes > Donnes dans les paquets > Lire des donnes depuis un paquet
attach de linterface R Commander. Visualiser et obtenir un rsum de ce jeu de donnes :
la variable Kyphosis indique si lenfant a subi une dformation de la colonne vertbrale
aprs une opration chirurgicale ;
la variable Age donne lge de lenfant (en mois) ;
la variable Number indique le nombre de vertbres concernes par lopration ;
la variable Start indique le numro de la premire vertbre opre.
On peut par exemple se demander si lge de lenfant, le nombre de vertbres opres et la
position des vertbres opres permettent dvaluer le risque de survenue dune cyphose lissue
de lopration. Pour cela, on va construire un modle darbre de dcision grce la commande
suivante :
> arbre = rpart(Kyphosis  ., method="class", minsplit=20, xval=81, data=kyphosis)
Quelques explications :
arbre est le nom choisi pour lobjet R qui contiendra les rsultats ;
rpart est le nom de la commande permettant de crer un arbre de dcision ;
la dfinition du modle passe par Kyphosis  . , qui est une formule R. La tilde signifie
est expliquer en fonction de : on met donc gauche de la tilde la variable que lon
souhaite expliquer (ici, Kyphosis) et droite les variables explicatives spares par des +.
Ici, on a mis un point droite : cela signifie tout le reste . On aurait donc tout aussi bien
pu crire : Kyphosis  Age + Number + Start, le modle aurait t quivalent... mais
beaucoup plus long crire ;
method = "class" est ici un argument totalement optionnel, mais il permet de rappeler
R que la variable expliquer est qualitative (cest une scurit supplmentaire) ;
minsplit=20 signifie quil faut au moins 20 individus dans un nud pour tenter un split ;
largument xval permet de rgler la stratgie de validation croise : on y indique le nombre
de portions du jeu de donnes crer pour effectuer la validation croise. Par exemple,
xval = 2 signifiera quon divisera le jeu de donnes en deux parties gales : lune correspondant un jeu dapprentissage, lautre un jeu de validation. Ici, largument xval = 81
correspond la stratgie classique de leave-one-out (LOOCV), puisquil y a 81 individus
dans le jeu de donnes ;
enfin, largument data=kyphosis permet dindiquer le nom du jeu de donnes utiliser.
On peut obtenir un rsum textuel des splits construits en tapant arbre, mais les rsultats
affichs sont peu lisibles, en particulier si larbre construit est de grande taille. En revanche, la commande summary(arbre) possde un intrt si lon dsire connatre les variables-substituts intervenant chaque nud : elles sont indiques sont lappellation surrogate. Le nombre de variablessubstituts rechercher pour chaque nud peut tre dfini grce largument maxsurrogate de
la commande rpart (consulter laide de la commande pour plus dinformations).

Mise en uvre avec R

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.

Figure 2. Arbre de dcision pour la prdiction de la variable Kyphosis

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

Figure 3. Erreur commise en validation croise en fonction de la taille de larbre

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

Age Number Start


60
1
5
30
2
12
90
3
16

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

Figure 4. Arbre de dcision lagu pour la prdiction de la variable Kyphosis

Rfrences
[Bre01]

Leo Breiman : Random forests. Machine Learning, 45(1):532, 2001.

[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]

Aliz Lacoste Jeanson : Minralisation des dents permanentes comme indicateur


de la maturit sexuelle chez les filles : tude prliminaire, 2013. Mmoire de Master 2,
Universit de Bordeaux.

[LW02]

Andy Liaw et Matthew Wiener : Classification and regression by randomforest. R


News, 2(3):1822, 2002.

[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]

ric Parent et Jacques Bernier : Le raisonnement baysien. Springer-Verlag France,


2007.

[TAR13]

Terry Therneau, Beth Atkinson et Brian Ripley : rpart : Recursive Partitioning,


2013. R package version 4.1-3.

Vous aimerez peut-être aussi