cours de data mining 5 -...

23
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

Upload: vantram

Post on 13-Sep-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Page 2: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

∅ ∅ ∅ ∅ ∅ ∅

Page 3: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Mail

Vrai

Churn

∅ ∅

L’objectif est d’arriver autant que possible à des feuilles pures.

Page 4: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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 :

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

Page 5: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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 :

Page 6: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Page 7: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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 :

Page 8: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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.

Page 9: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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.

Page 10: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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 :

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.

Page 11: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Page 12: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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!

Page 13: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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}.

Page 14: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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é.

Page 15: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Page 16: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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.

Page 17: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Page 18: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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 »)

Page 19: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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.

Page 20: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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)

Page 21: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Page 22: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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

Page 23: COURS DE DATA MINING 5 - bliaudet.free.frbliaudet.free.fr/IMG/pdf/Cours_de_data_mining_5-Arbres_de_decision... · EPF - 4 ème année - IAP - Cours de Data mining –5 : Arbres de

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%.