Upload
vantram
View
231
Download
0
Embed Size (px)
Citation preview
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 1/23- Bertrand LIAUDET
COURS DE DATA MINING 5 : MODELISATION SUPERVISEE
LES ARBRES DE DECISION EPF – 4/ 5ème année - Option Ingénierie d’Affaires et de Projets - Finance
Bertrand LIAUDET
9 : Modélisation supervisée - 1 : les arbres de décision 2
Présentation .....................................................................................................................2 Généralités 2
Vocabulaire des arbres 2
Arbre systématique et group by SQL 4
Exemple 4
Algorithme 7
L’algorithme de segmentation et de régression : CART................................................9 Principe 9
Algorithme 9
Technique 9
Exemple 10
Les règles de décision : si antécédent(s) alors conséquence .........................................15
Différences avec l’algorithme du C4.5..........................................................................16 Arbre de décision 16
Règles de décision 16
Comparaison entre les deux algorithmes 16
Exemples avec Clémentine............................................................................................17 Exemple 1 : le fichier des clients 17
Exemple 2 : le fichier d’attrition 20
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 2/23- Bertrand LIAUDET
9 : MODELISATION SUPERVISEE - 1 : LES ARBRES DE DECISION
Présentation
Généralités
• Technique intuitive et populaire.
• Comme pour toute modélisation supervisée de type « classement », la variable cible est catégorielle.
• Sa seule grande concurrente est la régression logistique, cette dernière méthode étant préférée dans la prédiction du risque en raison de sa robustesse.
• Méthode à la frontière entre technique descriptive et technique prédictive. C’est une classification hiérarchique supervisée.
Vocabulaire des arbres
Arbre, nœud, racine, feuille
• Un arbre est constitué de nœuds connectés entre eux par des branches.
• Un arbre de décision est constitué de nœuds de décision.
• Une branche entre deux nœuds est orientée : l’un des nœuds de la connexion est dit « nœud parent », et l’autre « nœud enfant ».
• Chaque nœud est connecté à un et un seul nœud parent, sauf le nœud racine qui n’a pas de parent.
• Chaque nœud peut être connecté à 0 ou n nœuds enfants.
• Les deux caractéristiques précédentes font qu’un arbre n’est pas un réseau (ou graphe).
• Un nœud qui n’a pas de parents est appelé « nœud racine » ou « racine ».
• Un nœud qui n’a pas de nœuds enfants est appelé « nœud feuille » ou « feuille ».
Exemple d’arbre binaire orienté
10
6 14
3 8 17
∅ ∅ ∅ ∅ ∅ ∅
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 3/23- Bertrand LIAUDET
Si on veut ajouter 11 dans cet arbre, on le place sous le 14, à gauche
10
6 14
3 8 11 17
∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅
Si on veut ajouter 13 dans cet arbre, on le place sous le 12, à droite :
Variable cible et variables prédictives
Comme toutes les méthodes supervisées, un arbre de décision travaille sur une variable cible avec plusieurs variables prédictives.
• Chaque nœud non-feuille correspond à une variable prédictive.
• Chaque nœud feuille correspond à la variable cible.
• Chaque branche correspond à une valeur pour la variable prédictive du nœud parent (ou un ensemble de valeurs).
Chemin, prédiction
Un chemin est un parcours du nœud racine jusqu’à un nœud feuille.
Chaque branche précise la valeur que prend la variable prédictive du nœud à l’origine de la branche.
Un chemin se termine par un nœud feuille qui précise la ou les valeurs prévues pour les enregistrements de la variable cible pour ce chemin particulier.
International
Vrai Faux
Vrai
Churn
∅ ∅
L’objectif est d’arriver autant que possible à des feuilles pures.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 4/23- Bertrand LIAUDET
Feuille pure
Un nœud feuille est pur si les valeurs de la variable cible sont les mêmes pour tous les enregistrements de ce nœud, autrement dit si le chemin (donc le n-uplet de valeurs pour le n-uplet de prédicteurs) détermine la valeur de la variable cible.
Arbre systématique et group by SQL
Fabriquer un arbre de décision systématique consiste à peu près à effectuer la commande SQL suivante :
Select variables prédictives, variable cible, count(*)
From table
Group by variables prédictives, variable cible
Il y a toutefois une nuance à souligner : sur le chemin, on peut retrouver plusieurs fois la même variable.
Exemple
Présentation des données
Soit le dictionnaire des variables suivant concernant un fichier de clients d’une banque :
N°
Nom de la variable
Signification de la variable Type de variable Autres caractéristiques
1 NumCli Un numéro de client Sans type Clé primaire
2 Eco Nous dit si le client a peu ou beaucoup d’économies (argent immédiatement disponible).
Booléen faible (--) et forte (+)
3 Cap Nous dit si le client a peu ou beaucoup de capital (biens immobiliers, etc.)
Booléen faible (--) et forte (+)
4 Rev Nous dit si le client a des revenus forts ou faibles. Booléen faible (--) et forte (+)
5 Ris Nous dit si le client a eu des comportements à risque ou pas (prêts non payés, découverts excessifs, découverts réguliers, etc.)
Booléen faible (--) et forte (+)
Parmi ces 4 attributs, on définit trois variables prédictives : économie, capital et revenu ; et une variable cible : risque.
Représentation SQL de l’arbre de décision systématique
L’arbre de décision systématique correspond à la commande SQL suivante :
Arbre =
Select Eco, Cap, Rev, Ris, count(*)
From Clients
Group by Eco, Cap, Rev, Ris
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 5/23- Bertrand LIAUDET
Le résultat de cette commande est le suivant :
Eco Cap Rev Ris Count(*)
+ + + + 3
+ + - + 2
+ - + - 3
+ - - - 1
- + + + 4
- + - - 2
- - + + 1
- - - - 3
Les effectifs donnés par le count(*) correspondent au nombre de clients qui ont les caractéristiques de la ligne.
Analyse de la pureté des feuilles
Pour savoir avoir une feuille pure, il faut que le triplet (Eco, Cap, Rev) soit unique.
C’est le cas dans le tableau précédent.
Représentation graphique de l’arbre de décision systématique
On représente maintenant la situation sous la forme d’un arbre systématique :
Eco
+ --
Cap Cap
+ -- + --
Rev Rev Rev Rev
+ -- + -- + -- + --
Ris ++ Ris ++ Ris -- Ris -- Ris ++ Ris -- Ris ++ Ris --
On peut constater que :
Règle 1 : (Eco +, Cap +) => Ris ++ quel que soit Rev
Règle 2 : (Eco +, Cap --) => Ris -- quel que soit Rev
Règle 3 : (Eco -, Rev +) => Ris ++ quel que soit Cap
Règle 4 : (Eco -, Rev --) => Ris -- quel que soit Cap
On peut donc remplacer l’arbre précédent par un arbre avec moins de branches et des branches plus courtes :
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 6/23- Bertrand LIAUDET
Eco
+ --
Cap Rev
+ -- + --
Ris ++ Ris -- Ris ++ Ris --
Exemple avec des feuilles non pures
Soit l’arbre de décision suivant :
Eco Cap Rev Ris Count(*)
+ + + + 3
+ + - + 2
+ + - - 3
+ - + - 3
+ - - - 1
- + + + 4
- + - - 2
- - + + 1
- - - - 3
L’analyse de la pureté des feuilles montre qu’on a deux feuilles non pures : les feuilles (+,+,-,+) et (+,+,-,-) ne sont donc pas des feuilles pures.
On peut dire que :
(Eco +, Cap +, Rev -) => Ris + avec un seuil de confiance de 40 %
(Eco +, Cap +, Rev -) => Ris - avec un seuil de confiance de 60 %
Application avec Clementine
Clementine permet de traduire le group by SQL :
• Clients : nœud « délimité » : la table des clients avec Cap, Eco, Rev, Ris comme attributs.
• Typer : pour typer en booléens les attributs
• Agréger : pour le group by de Eco, Cap, Rev et Ris
• Trier : pour trier par Eco, Cap, Rev et Ris
• Re-trier : pour mettre les attributs dans l’ordre : Eco, Cap, Rev et Ris
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 7/23- Bertrand LIAUDET
Algorithme
Les variables
La variable cible est catégorielle (comme pour toutes les classifications supervisées) : on aura donc une classification en n classes. Souvent n = 2 : la variable cible est booléenne.
Les prédicteurs peuvent être des variables catégorielles ou continues.
Objectif à atteindre
Le but d’un algorithme d’arbre de décision est de créer un ensemble de nœuds feuilles qui soient le plus pures possible avec des branches les plus courtes et les moins nombreuses possibles.
Problème de la construction d’un arbre : la scission
Deux problèmes vont intervenir pour construire l’arbre de décision :
• Le problème du nœud : quelle variable choisit-on à chaque nœud ?
• Le problème de la branche : quelles branches définit-on sous chaque nœud. Autrement dit quelles catégories choisit-on pour les prédicteurs ?
Ces deux problèmes seront finalement liés : c’est le problème de la scission.
Exemple
Dans l’exemple précédent, on a vu qu’on pouvait réduire le nombre et la longueur des branches.
L’algorithme devra résoudre deux problèmes : l’ordre des variables prédictives (pourquoi Eco, Cap puis Rev). Comment réduire la taille des branches ?
Principe
Pour chaque nœud, on choisit la variable qui, par ses catégories, sépare le mieux les individus en fonction des catégories de la variable cible. Le choix du nœud est donc fonction du choix des branches du nœud.
On réitère l’opération jusqu’à ce qu’elle ne soit plus possible ou plus souhaitable (selon des critères dépendant du type d’arbre).
Les feuilles ainsi construites sont toutes majoritairement constitués d’individus d’une seule classe.
La branche allant de la racine à une feuille constitue une règle de classement.
L’ensemble des règles constitue le modèle.
Les algorithmes existants : CART, C4.5, C5.0
Il existe plusieurs algorithmes pour fabriquer des arbres de décision.
Citons particulièrement :
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 8/23- Bertrand LIAUDET
• Le CART : méthode des arbres de segmentation et de régression (1984). Le CART fabrique des arbres binaires (toujours deux branches par nœuds non-feuilles). C’est un des algorithmes les plus performants et les plus répandus.
• L’algorithme C4.5 (1993). Le C4.5 fabrique des arbres qui ne sont pas nécessairement binaires (0 à n branches par nœud). L’algorithme C5.0 (1998) est un perfectionnement du C4.5.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 9/23- Bertrand LIAUDET
L’algorithme de segmentation et de régression : CAR T
Principe
Le CART est un algorithme qui utilise un arbre binaire.
Le principe est celui déjà vu : pour chaque nœud, on choisit la variable qui, par ses catégories (ses classes de valeurs), sépare le mieux les individus en fonction des catégories de la variable cible. Le choix du nœud est fonction du choix des branches du nœud.
Algorithme
Début
L’algorithme part de la racine de l’arbre.
Boucle de parcours de l’arbre
À chaque nœud de décision, l’algorithme fait une recherche exhaustive sur toutes les catégories de toutes les variables et mesure à chaque fois la valeur de la scission obtenu.
L’algorithme choisit la scission optimale.
Il n’y a qu’une scission par nœud puisque l’arbre est binaire.
Fin de boucle
Fin
Technique
Mesure de la qualité d’une scission
ϕ(st) = 2PGPD∑(i=1 à nbClasses) P(itG)-P(itD)
Avec:
• ϕ(st) : mesure de la qualité d’une scission au nœud t
La meilleure scission parmi toutes les scissions possibles au nœud t est celle qui a la plus grande valeur pour ϕ(st).
• PG : (nb enregistrements à tG) / nbTotal
• PD : (nb enregistrements à tD) / nbTotal
tG : nœud enfant gauche du nœud t
tD : nœud enfant droit du nœud t
nbTotal : nombre d’enregistrements dans tout l’ensemble d’apprentissage
• nbClasses : nombre de catégories de la variable cible
• P(itG) : (nb enregistrements pour la classe i à tG) / (nb enregistrements à t)
• P(itD) : (nb enregistrements pour la classe i à tD) / (nb enregistrements à t)
Le nombre d’enregistrement sur un nœud correspond au nombre d’enregistrements restants après les décisions déjà prises.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 10/23- Bertrand LIAUDET
Exemple
Présentation des données
On reprend les mêmes variables que dans l’exemple précédent concernant un fichier de clients d’une banque, mais avec des catégories différentes :
N°
Nom de la variable
Signification de la variable Type de variable Autres caractéristiques
1 NumCli Un numéro de client Sans type Clé primaire
2 Eco Nous dit si le client a peu ou beaucoup d’économies (argent immédiatement disponible).
Catégorielle Elevé, moyen, faible
3 Cap Nous dit si le client a peu ou beaucoup de capital (biens immobiliers, etc.)
Catégorielle Elevé, moyen, faible
4 Rev Nous dit si le client a des revenus forts ou faibles. Numérique Valeurs : 25, 50, 75 et 100
5 Ris Nous dit si le client a eu des comportements à risque ou pas (prêt non payés, découverts excessifs, découverts réguliers, etc.)
Booléen faible (--) et forte (+)
Les clients ont les valeurs de variables suivantes :
Client Eco Cap Rev Ris
1 Moyen Elevé 75 +
2 Faible Faible 50 -
3 Elevé Moyen 25 -
4 Moyen Moyen 50 +
5 Faible Moyen 100 +
6 Elevé Elevé 25 +
7 Faible Faible 25 -
8 Moyen Moyen 75 +
Déroulement de l’algorithme � 1er nœud - 1
On passe en revue tous les prédicteurs. Pour chaque prédicteur, on passe en revue toutes les catégories. Pour chaque catégorie, on fait deux classes : la classe correspondant à la catégorie (gauche) et la classe ne correspondant pas à la catégorie (droite).
Par exemple : si la racine concerne la variable « Eco » et que la scission vers le nœud gauche se fait sur le critère = Faible (première ligne du tableau ci-dessous), alors, il reste 3 enregistrements sur le nœud gauche, et donc 5 sur le nœud de droite.
Pour le revenu : on a une variable continue (non catégorielle). L’algorithme utilisera chaque valeur réelle comme limite possible entre deux classes de valeurs. L’analyste peut aussi choisir de catégoriser la variable.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 11/23- Bertrand LIAUDET
Pour chaque scission, on calcule le nombre d’enregistrements pour le nœud droit et pour le nœud gauche, ce qui permet de calculer PG, PD et 2 * PG * PD. (PG = nb enregistrements à G / nbTotal d’enregistrements).
Scission candi-date
Nœud enfant de gauche tG
Nb enregis-trements
G
PG Nœud enfant de droite tD
Nb enregis-trements
D
PD 2*PG*PD
1 Eco = Faible 3 0,375 Eco ∈ {Moyen, Elevé} 5 0,625 0,469
2 Eco = Moyen 3 0,375 Eco ∈ {Faible, Elevé} 5 0,625 0,469
3 Eco = Elevé 2 0,250 Eco ∈ {Faible, Moyen} 6 0,750 0,375
4 Cap = Faible 2 0,250 Cap ∈ {Moyen, Elevé} 6 0,750 0,375
5 Cap = Moyen 4 0,500 Cap ∈ {Faible, Elevé} 4 0,500 0,500
6 Cap = Elevé 2 0,250 Cap ∈ {Faible, Moyen} 6 0,750 0,375
7 Rev <= 25 3 0,375 Rev > 25 5 0,625 0,469
8 Rev <= 50 5 0,625 Rev > 50 3 0,375 0,469
9 Rev <= 75 7 0,875 Rev > 75 1 0,125 0,219
� 1er nœud - 2
Ensuite, toujours sur le même nœud, pour chaque scission candidate, on compte le nombre d’enregistrements pour chaque valeur possible de la variable cible (+ ou - pour le risque).
Ca nous permet de calculer P(itG) qui vaut ce nombre divisé par le nombre d’enregistrements pour la scission (Nb Ris / Nœud G) et (Nb Ris / Nœud D).
On peut ensuite calculer, pour chaque scission, la somme de la valeur absolue des différences entre P(itG) etP(itD) et finalement la valeur de la scission : ϕ(st).
La mesure de la qualité de la scission, ϕ(st), est enfin donnée par la multiplication de ∑ et de 2PGPD
Scission
Risque
Classe i Nb enr. Nœud
G Nb
Ris G P(itG) Nœud
D Nb Ris
D P(ItD) Abs(P(itG)-
P(itD) ) ∑ 2PGPD ϕ(st)
1 + 8 3 1 0,333 5 4 0,800 0,467 0,933 0,469 0,438
-- 8 2 0,667 1 0,200 0,467
2 + 8 3 3 1,000 5 2 0,400 0,600 1,200 0,469 0,563
-- 8 0 0,000 3 0,600 0,600
3 + 8 2 1 0,500 6 4 0,667 0,167 0,333 0,375 0,125
-- 8 1 0,500 2 0,333 0,167
4 + 8 2 0 0,000 6 5 0,833 0,833 1,667 0,375 0,625
-- 8 2 1,000 1 0,167 0,833
5 + 8 4 3 0,750 4 2 0,500 0,250 0,500 0,5 0,250
-- 8 1 0,250 2 0,500 0,250
6 + 8 2 2 1,000 6 3 0,500 0,500 1,000 0,375 0,375
-- 8 0 0,000 3 0,500 0,500
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 12/23- Bertrand LIAUDET
7 + 8 3 1 0,333 5 4 0,800 0,467 0,933 0,469 0,438
-- 8 2 0,667 1 0,200 0,467
8 + 8 5 2 0,400 3 3 1,000 0,600 1,200 0,469 0,563
-- 8 3 0,600 0 0,000 0,600
9 + 8 7 4 0,571 1 1 1,000 0,429 0,857 0,219 0,188
-- 8 3 0,429 0 0,000 0,429
Tableau des scissions de la racine
On voit que c’est la scission numéro 4 qui a la mesure de qualité la plus élevée.
L’algorithme du CART va donc choisir la 4ème scission. Ce qui produit :
un nœud enfant de gauche avec les enregistrements : {cli 2 ; cli 7
un nœud enfant de droite avec les enregistrements : {cli 1 ; cli 3 ; cli 4 ; cli 5 ; cli 6 ; cli 8}.
Nœud racine
cap=faible cap=moyen, élevé
{cli 2 ; cli 7} {cli 1 ; cli 3 ; cli 4 ; cli 5 ; cli 6 ; cli 8}.
� 2ème nœud
On peut ensuite appliquer le même calcul au nœud enfant de gauche {cli 2 ; cli 7}:
Scission Risque Nb enr. Nœud
G Nb
Ris G P(itG) Nœud
D Nb Ris
D P(itD) Abs(P(itG)-
P(itD) ) ∑ 2PGPD ϕ(st)
1 + 8 2 0 0,000 0 0 #DIV/0! #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 2 1,000 0 0 #DIV/0! #DIV/0!
2 + 8 0 0 #DIV/0! 2 2 1,000 #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 0 #DIV/0! 0 0 0,000 #DIV/0!
3 + 8 0 0 #DIV/0! 2 2 1,000 #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 0 #DIV/0! 0 0 0,000 #DIV/0!
4 + 8 2 0 0,000 0 0 #DIV/0! #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 2 1,000 0 0 #DIV/0! #DIV/0!
5 + 8 0 0 #DIV/0! 2 0 0,000 #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 0 #DIV/0! 0 2 1,000 #DIV/0!
6 + 8 0 0 #DIV/0! 2 0 0,000 #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 0 #DIV/0! 0 2 1,000 #DIV/0!
7 + 8 1 0 0,000 1 0 0,000 0,000 0,000 0,500 0,000
-- 8 0 1 1,000 0 1 1,000 0,000
8 + 8 2 0 0,000 0 0 #DIV/0! #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 2 1,000 0 0 #DIV/0! #DIV/0!
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 13/23- Bertrand LIAUDET
9 + 8 2 0 0,000 0 1 #DIV/0! #DIV/0! #DIV/0! 0,000 #DIV/0!
-- 8 0 2 1,000 0 -1 #DIV/0! #DIV/0!
Tableau des scissions du 2ème nœud
On n’obtiendra que des valeurs de qualité à 0 ou impossibles à calculer car le risque est le même pour les deux enregistrements de ce nœud : « -- ». On a donc un nœud feuille.
� 3ème nœud
On applique le calcul au nœud enfant de droite {cli 1 ; cli 3 ; cli 4 ; cli 5 ; cli 6 ; cli 8} :
Scission Risque Nb enr. Nœud
G Nb
Ris G P(itG) Nœud
D Nb Ris
D P(itD) Abs(P(itG)-
P(itD) ) ∑ 2PGPD ϕ(st)
1 + 8 1 1 1,000 5 4 0,800 0,000 0,400 0,278 0,111
-- 8 0 0 0,000 0 1 0,200 0,000 0,000 0,000 0,000
2 + 8 3 3 1,000 3 2 0,667 0,000 0,667 0,500 0,333
-- 8 0 0 0,000 0 1 0,333 0,000 0,000 0,000 0,000
3 + 8 2 1 0,500 4 4 1,000 0,000 1,000 0,444 0,444
-- 8 0 1 0,500 0 0 0,000 0,000 0,000 0,000 0,000
4 + 8 0 0 #DIV/0! 6 5 0,833 0,000 #DIV/0! 0,000 #DIV/0!
-- 8 0 0 #DIV/0! 0 1 0,167 0,000 0,000 0,000 0,000
5 + 8 4 3 0,750 2 2 1,000 0,000 0,500 0,444 0,222
-- 8 0 1 0,250 0 0 0,000 0,000 0,000 0,000 0,000
6 + 8 2 2 1,000 4 3 0,750 0,000 0,500 0,444 0,222
-- 8 0 0 0,000 0 1 0,250 0,000 0,000 0,000 0,000
7 + 8 2 1 0,500 4 4 1,000 0,000 1,000 0,444 0,444
-- 8 0 1 0,500 0 0 0,000 0,000 0,000 0,000 0,000
8 + 8 3 2 0,667 3 3 1,000 0,000 0,667 0,500 0,333
-- 8 0 1 0,333 0 0 0,000 0,000 0,000 0,000 0,000
9 + 8 5 4 0,800 1 1 1,000 0,000 0,400 0,278 0,111
-- 8 0 1 0,200 0 0 0,000 0,000 0,000 0,000 0,000
Tableau des scissions du 3ème nœud
C’est la 3ème scission (Économie = élevé) ou la 7ème (Revenu <= 25) qui donne la meilleure qualité (0,444). On choisit arbitrairement la première : la 3ème scission comme nouveau nœud.
On produit :
un nœud enfant de gauche {cli 3 ; cli 6}
un nœud enfant de droite {cli 1 ; cli 4 ; cli 5 ; cli 8}.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 14/23- Bertrand LIAUDET
Nœud racine
cap=faible cap=moyen, élevé
{cli 2 ; cli 7} {cli 1 ; cli 3 ; cli 4 ; cli 5 ; cli 6 ; cli 8}.
éco=élevé éco=faible, moyen
{cli 3 ; cli 6} {cli 1 ; cli 4 ; cli 5 ; cli 8}
� Nœuds restants : fin de l’algorithme
On applique le calcul au nœud enfant de gauche {cli 3 ; cli 6}. Il n’y a que deux scissions valides et elles ont la même qualité. De plus, elles sont finalement équivalentes. Qu’on prenne l’une ou l’autre, on se retrouve avec deux feuilles et un individu dans chaque feuille. On arrive donc à une feuille à gauche avec des capitaux élevés{cli 6}, et une feuille à droite avec des capitaux moyens {cli 3}.
On applique le calcul au nœud enfant de droite {cli 1 ; cli 4 ; cli 5 ; cli 8}. Tous les individus de cet ensemble ont la même valeur de risque : satisfaisant. De ce fait, les scissions valides valent toutes 0. On a affaire à une feuille.
Nœud racine
cap=faible cap=moyen, élevé
{cli 2 ; cli 7} {cli 1 ; cli 3 ; cli 4 ; cli 5 ; cli 6 ; cli 8}.
éco=élevé éco=faible, moyen
{cli 3 ; cli 6} {cli 1 ; cli 4 ; cli 5 ; cli 8}
cap=moyen cap=élevé
{cli 3} {cli 6}
Interprétation
L’algorithme a tendance à favoriser les scissions qui répartissent les enregistrements du nœud parent en à peu près autant d’enregistrements dans chacun des nœuds enfants et de telle sorte qu’une seule valeur de la variable cible soit représenté d’un côté, et une autre valeur de l’autre côté.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 15/23- Bertrand LIAUDET
En effet, pour que la qualité de la scission, ϕ(st) , soit le plus grand possible, il faut que ∑ et 2*PG*PD soient le plus grands possibles. � Maximisation de la ∑ : répartition sans mélange
Avec une variable cible est booléenne : nbClasses vaut 2.
Pour une scission donnée, si la tous les éléments du côté gauche ont la même valeur pour la variable cible (par exemple ris --), alors P(1tG) = 1, et P(2tG) = 0.
Si on a la même chose en inversé du côté droit, alors on aura Abs( P(itG)-P(itD) )=1.
La ∑ vaudra donc 2 : ce sera sa valeur maximum.
C’est donc quand on a une répartition sans mélange entre le nœud de droite et le nœud de gauche (tous les ris-- d’un côté et tous les ris++ de l’autre) que la ∑ est la plus grande. � Maximisation de 2*PG*PD : répartition équilibrée
Pour que PG*PD soit le plus grand possible, il faut que le nombre d’enregistrements du nœud de gauche (NG) * nombre d’enregistrements du nœud de droite (ND) soit le plus grand possible. Or NG = nombre total d’enregistrements du nœud (NT) - ND.
C’est donc quand ND = NG = NT/2 qu’on a le 2*PG*PD le plus grand possible.
C’est donc quand on a une répartition équilibrée entre le nœud de droite et le nœud de gauche que 2*PG*PD le plus grand.
A noter en conclusion la valeur maximum pour la qualité de la scission est donc de 1.
Les règles de décision : si antécédent(s) alors con séquence
Les arbres de décision permettent de construire des règles de décision.
Les règles de décision sont une représentation « lisible » de l’arbre de décision.
Il y a autant de règles de décision que de branches dans l’arbre de décision.
Les règles de décision apparaissent sous la forme de :
si antécédent alors conséquence
L’antécédent correspond à la branche de l’arbre.
La conséquence correspond à la feuille au bout de la branche.
N° Antécédent Conséquence Population Seuil de confiance
R1 Si capital = faible Mauvais risque 2/8 1,00
R2 Si capital = moyen ou élevé
Et Economie = faible ou moyen
Risque satisfaisant 4/8 1,00
R3 Si capital = moyen
Et Economie = élevé
Mauvais risque 1/8 1,00
R4 Si capital = élevé
Et Economie = élevé
Risque satisfaisant 1/8 1,00
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 16/23- Bertrand LIAUDET
Différences avec l’algorithme du C4.5
Arbre de décision
L’algorithme du C4.5 travaille sur des arbres n-aires.
De ce fait, il aboutira dans l’exemple traité à l’arbre suivant :
Nœud racine
cap=faible cap=moyen cap=élevé
{cli 2 ; cli 7}ris- {cli 3 ; cli 4 ; cli 5 ; cli 8} {cli 1 ; cli 6}ris +
éco=faible éco=moyen éco=élevé
{cli 5}ris+ {cli 4; cli 8} ris+ {cli 3} ris-
Règles de décision
Antécédent Conséquence Population Seuil de confiance
Ra Si capital = faible Mauvais risque 2/8 1,00
Rb Si capital = moyen
Et économie = faible ou moyen
Risque satisfaisant 3/8 1,00
Rc Si capital = moyen
Et économie = élevé
Mauvais risque 1/8 1,00
Rd Si capital = élevé Risque satisfaisant 2/8 1,00
Comparaison entre les deux algorithmes
Les deux règles produisant un mauvais risque sont les mêmes : R1 = Ra et R3 = Rc.
Par contre le C4.5 donne un résultat plus précis que le CART dans pour les règles produisant un risque satisfaisant.
En effet, Rd est plus précise que R4 : une seule condition permet de produire une règle à 100%.
Conclusion : le C4.5 est un algorithme plus complexe (arbre n-aire au lieu de binaire) mais qui donne des résultats plus précis.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 17/23- Bertrand LIAUDET
Exemples avec Clémentine
Exemple 1 : le fichier des clients
On repart du fichier des clients
Modèle Clémentine
Nœud « typer »
Arbre textuel
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 18/23- Bertrand LIAUDET
Arbre graphique
Avec la représentation graphique, on voit immédiatement qu’il y a 4 feuilles, et qu’elles sont toutes pures.
Il y a deux règles qui conduisent à 100 % de risque ++ et deux règles qui conduisent à 100% de risque --.
Modèle Clémentine des règles de décisions
Le modèle créé (nœud Clementine : « Ris ») produit un nouvel attribut : un attribut de risque calculé. Ainsi, pour tout nouveau client on pourra calculer son risque
A partir du modèle, on peut fabriquer le modèle des règles de décision (nœud Clementine : « Règle de décision »)
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 19/23- Bertrand LIAUDET
Règles de décisions
Il y a 5 règles de décision, 4 explicites, plus une par défaut.
C’est avec ces règles qu’on peut calculer le risque des nouveaux clients.
Arbre interactif
On peut paramétrer le nœud « Modélisation / Arbre C&RT » de Clementine en choisissant : « Arbre interactif ».
Cette option permet de choisir la variable racine de l’arbre. Les résultats seront moins bons en théorie que ce que propose l’algorithme par défaut, mais ça peut permettre des observations intéressantes.
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 20/23- Bertrand LIAUDET
Exemple 2 : le fichier d’attrition
On repart du fichier d’attrition
Nœud « typer »
Arbre textuel
Conso de jour en minutes <= 264.450 [ Mode : False. ] 3 122
Appels au service client <= 3.500 [ Mode : False. ] 2 871
International in [ "no" ] [ Mode : False. ] 2 604
Conso de jour en minutes <= 223.250 [ Mode : False. ] => False. (2 221; 0,973)
Conso de jour en minutes > 223.250 [ Mode : False. ] 383
Conso de soirée en minutes <= 259.800 [ Mode : False. ] => False. (332; 0,898)
Conso de soirée en minutes > 259.800 [ Mode : True. ]
=> True. (51; 0,667)
International in [ "yes" ] [ Mode : False. ] 267
Nb d’appels internationaux <= 2.500 [ Mode : True. ] => True. (51; 1,0)
Nb d’appels internationaux > 2.500 [ Mode : False. ] 216
Conso internationale en minutes <= 13.100 [ Mode : False. ] => False. (173; 0,96)
Conso internationale en minutes > 13.100 [ Mode : True. ]
=> True. (43; 1,0)
Appels au service client > 3.500 [ Mode : True. ] 251
Conso de jour en minutes <= 160.200 [ Mode : True. ] => True. (102; 0,873)
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 21/23- Bertrand LIAUDET
Conso de jour en minutes > 160.200 [ Mode : False. ] => False. (149; 0,745)
Conso de jour en minutes > 264.450 [ Mode : True. ] 211
Mail in [ "no" ] [ Mode : True. ] 158
Conso de soirée en minutes <= 187.750 [ Mode : False. ] => False. (57; 0,561)
Conso de soirée en minutes > 187.750 [ Mode : True. ] => True. (101; 0,95)
Mail in [ "yes" ] [ Mode : False. ] => False. (53; 0,887)
On voit les 5 cas pour lesquels il y a attrition.
2 des cas sont valables à 100%, 1 cas à 95%, 1 cas à 87% et 1 cas à 67%.
Arbre graphique
On ne présente ici que les 3 premiers nœuds de l’arbre
Règles de décisions
Les règles précisent le nombre d’individus concernés et l’indice de confiance de la règle. On ne présente que les règles conduisant à un churn vrai. � Règles pour True. - contient 5 règle(s)
Règle 1 pour True. (51; 0,667)
si Conso de jour en minutes <= 264.450
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 22/23- Bertrand LIAUDET
et Appels au service client <= 3.500
et International in [ "no" ]
et Conso de jour en minutes > 223.250
et Conso de soirée en minutes > 259.800
alors True.
Règle 2 pour True. (51; 1,0)
si Conso de jour en minutes <= 264.450
et Appels au service client <= 3.500
et International in [ "yes" ]
et Nb dappels internationaux <= 2.500
alors True.
Règle 3 pour True. (43; 1,0)
si Conso de jour en minutes <= 264.450
et Appels au service client <= 3.500
et International in [ "yes" ]
et Nb dappels internationaux > 2.500
et Conso internationale en minutes > 13.100
alors True.
Règle 4 pour True. (102; 0,873)
si Conso de jour en minutes <= 264.450
et Appels au service client > 3.500
et Conso de jour en minutes <= 160.200
alors True.
Règle 5 pour True. (101; 0,95)
si Conso de jour en minutes > 264.450
et Mail in [ "no" ]
et Conso de soirée en minutes > 187.750
alors True.
Remarquons que tous les individus à churn positif n’ont pas été pris en compte par les règles. On le constate en faisant la somme des individus concernés.
On peut aussi regarder les proportions de churn d’origine et de churn calculé par l’arbre de décision :
Churn d’origine
EPF - 4ème année - IAP - Cours de Data mining –5 : Arbres de décision - page 23/23- Bertrand LIAUDET
Churn calculé par l’arbre de décision
Bilan complet des règles de décision
Nombre d’individus %age / population totale
Indice de confiance
Sous totaux
94 19,5% 100 %
101 20,9% 95 %
102 21,1% 87 %
51 10,5% 67 %
348
72%
135 28,0% ? ? ? 135 28%
483 100% 483 100%
348 cas sur 483 ont été pris en compte, soit 72%.