Vous êtes sur la page 1sur 47

Arbre de décision

pour la classification
Sofia Ben Jebara & Amel Ben Azza

Avril 2020

1 1
Introduction

•  Une des techniques de classification les plus


utilisées
•  Suite de règles à arbre
•  Méthode récursive basée sur ‘diviser-pour-régner’
•  Précision de classification: concurrente avec
d'autres méthodes, et très efficace
•  C4.5 et CART: parmi ‘top 10’

2 2
Structure d’un arbre de décision sur
un exemple (1)
Aide au diagnostic d’une maladie selon des
symptômes
•  SymptômesàAttributs:
–  Douleur ∈ {abdomen, gorge, poitrine, aucune}ànominale
–  Fièvre ∈ {oui, non} à booléenne
–  Toux ∈ {oui, non} àbooléenne
•  Classes: {appendicite, rhume, mal de gorge,
refroidissement, rien}
•  Données: attributs et classes de plusieurs personnes

3 3
Structure d’un arbre de décision
sur un exemple (2)

•  Nœud = Test sur un attribut


•  Branche pour chaque valeur possible de l’attribut testé
•  Feuilles: classe de l’objetàterminaison des chemins
•  Chaque chemin de la racine à une feuille est une règle
4 4
Avantages et intérêts d’un arbre de décision

•  Intérêts
–  Facilement interprétable
–  Adapté aux attriburs qualitatifs et nominaux
–  Possibilité d’exploitation des attributs quantitatifs
–  Bon fonctionnement (pour un nombre gérable
d’attributs
•  Inconvénients
–  Parfois non interprétable
–  Lent et instable pendant l’apprentissage
5 5
Arbre de décision converti en règles

6 6
Résultat unique (1)?
Age Travail Maison Solde Crédit
•  Non Jeune Non Non Moyen Non
•  Exemple: Jeune Non Non Excellent Non
Jeune Oui Non Bon Oui
obtenir un crédit
Jeune Oui Oui Bon Oui
bancaire selon les Jeune Non Non Moyen Non
attributs: Moyen Non Non Moyen Non

-âge, Moyen Non Non Bon Non


Moyen Oui Oui Bon Oui
-avoir un travail, Moyen Non Oui Excellent Oui
-avoir une Moyen Non Oui Excellent Oui
maison, Vieux Non Oui Excellent Oui
Vieux Non Oui Bon Oui
-solde bancaire
Vieux Oui Non Bon Oui
Vieux Oui Non Excellent 7 Oui
7
Vieux Non Non Moyen Non
Résultat unique (2)?
•  Résultat 1:
Age

moyen
Travail Maison Solde

bon
•  Résultat 2: Nous voulons un arbre
Maison plus petit et un arbre
précis facile à
comprendre et à
Travail améliorer
8 8
Méthode ID3 (Iterative Dichotomiser 3):
utilisation de la théorie de l’information
•  Idée:
A chaque étape, à chaque point de choix dans l’arbre,
on va calculer une fonction objective de coût
•  Fonction coût: gain d’information
L’attribut avec le plus grand gain d’information est
sélectionné
•  Finalité:
–  Tous les attributs sont considérés
–  Il n’est plus possible d’obtenir de gain d’information
plus grand
–  Le maximum de pureté a été atteint
–  L’arbre a atteint une hauteur maximum
9 9
Entropie pour la classification

•  Entropie élevée
–  Cas où l’information provient d'une distribution
uniforme
–  Histogramme plat
–  Chaque valeur de l’information est peu prévisible
•  Entropie faible
–  Cas où l’information est issu d'une distribution variée
(sommets et vallées)
–  Histogramme a de nombreux hauts et bas
–  Certaines valeurs sont plus prévisibles que d’autres

10 10
Définition importante: entropie de la
sortie pour une jeu de données
•  Probabilités
Pr(cj) : probabilité de la classe j
= nombre d’occurrences de j / nombre total
d’occurrences
•  Entropie de la sortie D
card (C ) card (C )
entropie(D) = − ∑ Pr(c j )log 2 Pr(c j ), ∑ Pr(c j ) = 1
j=1 j=1

•  Cas simple: 2 classes positif et négatif


entropie(D) = − Pr( positif )log 2 Pr( positif ) − Pr(négatif )log 2 Pr(négatif )
Pr( positif ) + Pr(négatif ) = 1
11 11
Notion de pureté vs entropie
•  D contient 50% de données de la classe 1 et 50% de la classe 2
entropie(D) = −0.5 log 2 (0.5) − 0.5 log 2 (0.5) = 1
Histogramme plat à données impuresàentropie=1
•  D contient 20% de données de la classe 1 et 80% de la classe 2
entropie(D) = −0.2 log 2 (0.2) − 0.8 log 2 (0.8) = 0.722
•  D contient 100% de données de la classe 1 et 0% de la classe 2
entropie(D) = −1.log 2 (1) − 0 log 2 (0) = 0
Un seul pic dans l’histogrammeà données pures àentropie=0
•  Interprétation:
À mesure que les données deviennent de plus en plus pures
(appartiennent à la même classe), la valeur d'entropie devient de
plus en plus petite
12 12
Définition importante: entropie de
la sortie pour un attribut
•  Un attribut Ai prend k valeurs possibles
•  Pour chaque valeur de k , La sortie D est partitionné
en v=card(C) sous partitions D1 (k), D2(k),…Dv(k)
•  On calcule entropyA (D j ) à partir des
i
probabilités de chaque sous partition
•  Entropie de la sortie
k
pour un attribut Ai:
entropyAi (D) = ∑ Pr(D j ) × entropyAi (D j )
•  Gain d’information
j=1
d’un attribut Ai

gain(D, Ai ) = entropie(D) − entropieAi (D)


13 13
Exemple: obtenir un crédit (1)
Age Travail Maison Solde Crédit
Jeune Non Non Moyen Non
Jeune Non Non Excellent Non
Jeune Oui Non Bon Oui
Jeune Oui Oui Bon Oui
Jeune Non Non Moyen Non
Moyen Non Non Moyen Non
Moyen Non Non Bon Non
Moyen Oui Oui Bon Oui
Moyen Non Oui Excellent Oui
Moyen Non Oui Excellent Oui
Vieux Non Oui Excellent Oui
Vieux Non Oui Bon Oui
Vieux Oui Non Bon Oui
Vieux Oui Non Excellent Oui
Vieux Non Non Moyen Non 14 14
Exemple: obtenir un crédit (2)
•  Probabilités des attributs

Attributs

Age Travail Maison Moyenne


solde
Pr(jeune)=5/15 Pr(oui)=5/15 Pr(oui)=6/15 Pr(moyen)=4/15

Pr(moyen)=5/15 Pr(non)=10/15 Pr(non)=9/15 Pr(bon)=6/15

Pr(vieux)=5/15 Pr(excellent)=5/15

15 15
Exemple: obtenir un crédit (3)
•  Entropies Age Crédit
•  EntropieAi(Dj) pour Ai=Age Jeune Non
et Dj {jeune, moyen, vieux} Jeune Non
Jeune Oui
Sortie EntropieAi (Dj)
Jeune Oui
Oui No
n Jeune Non
Jeune 2 3 EntropieAge(jeune)=-2/5log2(2/5)-3/5log2(3/5)
=0.971 Moyen Non
Moyen 3 2 EntropieAge(moyen)=-3/5log2(3/5)-2/5log2(2/5) Moyen Non
=0.971 Moyen Oui
Vieux 4 1 EntropieAge(vieux)=-4/5log2(4/5)-4/5log2(4/5) Moyen Oui
=0.722 Moyen Oui
EntropieAge(D)
entropyAge (D) = Pr( jeune) × entropyAge (D jeune ) + Pr(moyen) × entropyAge (Dmoyen ) + Pr(vieux) × entropy
Vieux Age (Dvieux )
Oui
5 5 5 Vieux Oui
= × 0.971+ × 0.971+ × 0.722 = 0.888
15 15 15 16
Vieux Oui16
Vieux Oui
Exemple: obtenir un crédit (4): choix
du sommet de l’arbre Maison Crédit
Non Non
•  Un autre attribut: maison Non Non
6 9 Non Oui
entropieMaison (D) = × entropie(Doui ) + × entropie(Dnon )
15 15
6 9 Oui Oui
= ×0+ × 0.918 = 0.551
15 15
Non Non
•  Gain Non Non

Gain(D, age) = 0.971 − 0.888 = 0.083


Non Non
Gain(D, maison) = 0.971 − 0.551 = 0.420 Oui Oui
Gain(D, travail ) = 0.971 − 0.647 = 0.324 Oui Oui
Gain(D, solde) = 0.971 − 0.608 = 0.363 Oui Oui
Oui Oui
•  Maison est l’attribut ayant le plus grand Oui Oui
gainàsommet Non Oui
Non
17 Oui
17
Non Non
Exemple: obtenir un crédit (4) :
Arborescence
Maison

Décision? Décision?
06/06 qui ont une maison 03/09 qui n’ont pas de maison
ont pu obtenir un crédit
ont pu obtenir un crédit

Arrêt
On continue avec les autres
18 18
attributs
Exemple: obtenir un crédit (5):
(Nouvelles données
Age Travail Solde Crédit
Age Travail Maison Solde Crédit
Jeune Non Non Moyen Non Jeune Non Moyen Non
Jeune Non Non Excellent Non Jeune Non Excellent Non
Jeune Oui Non Bon Oui
Jeune Oui Oui Bon Oui Jeune Oui Bon Oui
Jeune Non Non Moyen Non Jeune Non Moyen Non
Moyen Non Non Moyen Non Moyen Non Moyen Non
Moyen Non Non Bon Non
Moyen Non Bon Non
Moyen Oui Oui Bon Oui
Moyen Non Oui Excellent Oui
Vieux Oui Bon Oui
Moyen Non Oui Excellent Oui
Vieux Oui Excellent Oui
Vieux Non Oui Excellent Oui
Vieux Non Oui Bon Oui Vieux Non 19
Moyen 19
Non
Vieux Oui Non Bon Oui
Exemple: obtenir un crédit (6):
Suite des étapes
•  On considère un nœud
•  On sélectionne un attribut pour ce nœud
•  On crée une branche pour chaque valeur de cet
attribut
•  Pour chaque branche, on regarde la pureté de la classe
obtenue
•  On décide si on termine la branche ou non
•  Si on ne termine pas, le processus est répété

20 20
Exemple: obtenir un crédit (7):
Suite de l’arborescence
•  Même démarche avec les nouvelles données (en
nombre de 9 et 3 attributs)
•  Résultat final
Maison

Travail

•  Remarque: les attributs d’âge et de moyenne de soldes


sont inutiles pour la méthode basée sur l’entropie
21 21
Problèmes de ID3
•  Solution globale non garantie (optimum local)

•  Risque d’Over-fitting: bonnes performances


avec les données utilisées pour créer l’arbre
mais mauvaise généralisation avec d’autres
données

•  Pas efficace pour des données numériques


continues
22 22
Algorithme C4.5
•  C4.5 : extension de ID3
•  Le critère de division est le gain d’information
normalisé maximal (différence d’entropie avant et
après la division)
•  Chaque attribut peut avoir un poids (coût)
•  Traitement de variables continues en cherchant
des seuils qui maximisent le gain d’information
•  Étape d’élagage (couper certaines branches) après
création pour remplacer des branches inutiles par
des feuilles

23 23
CART: Classification And Regression Trees

•  Fonctionne aussi pour des attributs aux valeurs


continues
•  cherche tous les attributs et tous les seuils pour
trouver celui qui donne la meilleure
homogénéité du découpage
•  Se base sur l’indice GINI=
card (C )
GINI = 1 − ∑ Pr(c j )2
j=1

24 24
Extension aux données numériques

•  Il est possible de traiter les numériques en les


transformant en nominaux (ou ordinaux) par
discrétisation
•  Possibilité d’utilisation du seuillage

25 25
Exercice
Reprendre l’exemple précédent en utilisant
l’approche CART
•  Restructuration des données
Travail Sortie
Age Sortie Maison Sortie
Oui Non
Oui Non Oui Non
Oui 5 0
Jeune 2 3 Oui 6 0
Non 4 6
Moyen 3 2 Non 3 6
Vieux 4 1
Solde Sortie
Oui Non
Moyen 0 4
Bon 5 1
Excellent 4 1
26 26
Autres exemples
Désabonnement à un opérateur téléphonique
Facture Sortie: quitter
Client Genre std
moyenne (DT) le service
1 >70 1 0 1
2 >70 1 1 1
3 60-70 1 0 0
4 <60 1 0 0
5 <60 0 0 0
6 <60 0 1 1
7 60-70 0 1 0
8 >70 1 0 1
9 >70 0 0 0
10 <60 0 0 0
11 >70 0 1 0
27 27
12 60-70 1 1 0
13 60-70 0 0 0
Démonstration sur MATLAB (1)

Évaluation de l'acceptance d'un modèle de


voiture selon les attribut suivants:
•  buying (prix d’achat)
•  maint (prix de maintenance)
•  doors (nombre de portes)
•  persons (nombre de personnes à transporter)
•  lug_boot (taille du coffre à bagages)
•  safety (sécurité)

28 28
Démonstration sur MATLAB (2)

•  Catégories d’attributs
–  buying: v-high, high, med, low
–  maint : v-high, high, med, low
–  doors: 2, 3, 4, 5-more
–  Persons: 2, 4, more
–  lug_boot : small, med, big
–  Safety: low, med, high

29 29
Démonstration sur MATLAB (3)
•  Nombre de données: 1728
Buying Maint Doors Persons Lug_boot Safety Class
vhigh vhigh 2 2 small low unacc
vhigh vhigh 2 2 small med unacc
vhigh vhigh 2 2 small high unacc
vhigh vhigh 2 2 med low unacc

•  Code MATLAB:
–  Data=readtable('car.xlsx');
–  car_tree = fitctree(Data(:,1:4),Data(:,7));
–  view(car_tree,'Mode','graph')
30 30
Démonstration sur MATLAB (4)

buying: v-high, high, med, low Persons: 2, 4, more


maint : v-high, high, med, low lug_boot : small, med, big
doors: 2, 3, 4, 5-more Safety: low, 31
med, high
31
Classification supervisée
par l’algorithme kNN

Mme Sofia Ben Jebara, Mme Amel Benazza

1 1
Chaîne de résolution d’un problème ML

Acquisition Pré- Calcul ML


traitement d’attributs

Sources Données Bloc Données Modèle


brutes optionnel brutes ou
prétraitées
ou attributs

Variables

2 2
Calcul d’attributs

• Objectif
– Représenter les mesures brutes de manière compacte par
des attributs/descripteurs (features)
• Expertise du domaine des mesures exigée
• Propriétés attendues de bonnes caractéristiques
– Informatives pertinentes
– Non redondantes
– Faciliter la tâche d’apprentissage
– Améliorer la capacité de généralisation et d’interprétabilité

3 3
Variables

•Par convention, le terme générique variables désignera


– les mesures brutes, acquises
– les mesures prétraitées
–ou les caractéristiques (features) définies à partir des mesures
•Dimension = nombre de variables = p
•Taille de l’échantillon = nombre d’observations, d’instances = n
• Données : matrice n × p de variables quantitatives ou n vecteurs de
dimension p

4 4
La classification en général (1)

•Recherche d’une typologie ou segmentation => partition ou répartition


des individus en Nc classes homogènes ou catégories

•Donc, affecter tout individu X (vecteur de p variables) à une des Nc


classes

• Formellement, définir une fonction C d’étiquettage/classification

C: p [1,Nc] Règle de décision


X Y

étiquette, label
5 5
La classification en général (2)

• Règle de décision frontières de séparation entre les n donnés


d’apprentissage
• Plusieurs frontières possibles => plusieurs méthodes possibles
• Une fois frontière déterminée, phase test classer une nouvelle donnée

Individu-test X (hors de l’ensemble d’apprentissage) à classer

6 6
La classification supervisée

• Une règle de décision en partant de quoi ?


Mode supervisé : un ensemble de n vecteurs X1,…,Xn déjà étiquetés
=> données d’apprentissage annotées (ou vérité-terrain, ground
truth)

•Formellement, ensemble de couples ={(X1, Y1),…,(Xn, Yn)}



– Xi vecteur de variables de dimension p (exemples ou instances)
– Yi vrai label de Xi de étiquette d’appartenance à une classe de
l’instance Xi

7 7
Méthodes de classifications supervisées

• k-plus proches voisins (ou k-nearest neighbors ou k-NN)

• Classifieur bayésien naïf (naive Bayesian classifier)

• Séparateurs à Vastes Marges (Support Vector Margin ou SVM)

• Classification par réseaux de neurones (Artificial Neural Networks)

• Classification par réseaux profonds de neurone (Deep Neural Networks)

8 8
Algorithme k-NN

Phase d’apprentissage
Stockage des individus et de leurs étiquettes pour l’ensemble
d’apprentissage
=> Apprentissage paresseux (lazy training) !
Phase de test d’un individu test X
1. Choix d’un entier k
2. Choix d’une distance d entre les individus
3. Calcul les n distances d(Xi, X) pour i=1, …, n
4. Retenir les k vecteurs d’apprentissage X(1) , …, X(k) les plus
proches selon d
5. Affecter à X l'étiquette qui est la plus fréquente parmi
les k observations les plus proches (vote majoritaire)
6. Si régression, affecter en sortie la moyenne des k observations
les plus proches 9 9
Illustration

p=2 , Nc =2 k=3 => majorité des


3-plus proches
voisins dans B
=>classe B

k=6 => classe A

Résultats dépendent
de la structure des
données
d’apprentissage et de
k

10 10
Sec.14.3
Propriétés (1)

• Distance :
– Si variables continues, distance de Mahanalobis
– Si variables discrètes, distance de Hamming
– …
• Facile à implementer
• Coût calculatoire élevé pendant le test (calcul de n
distances/requête)
– o(p) calcul d’une distance
– o(np) pour trouver un plus proche voisin
– o(knp) pour trouver k plus proche voisin
• Pas d’apprentissage à proprement parler pour trouver un modèle
• S’adapte facilement quand le nombre Nc de classes augmente

11 11
Sec.14.3
Propriétés (2)

• Robuste au bruit dans les données d’apprentissage :


Si k=1 => affectation à la classe de l’observation la plus proche de X mais pb si
plus proche voisin bruité

Vecteur à classer

Tous les vecteurs de la zone Tous les vecteurs de la zone


ombrée en bleu affectés ombrée en bleu affectés
incorrectement à correctement à
12 12
la classe bleue la classe rouge
Sec.14.3
Propriétés (3)

Une autre illustration

Observations aberrantes

13 13
Sec.14.3
Choix du paramètre k

• k impair pour éviter les ambigüités (souvent, 3 ou 5)


• Règle empirique k=sqrt(n)
• Augmenter k positif mais si k trop élevé perte de la localisation de l’information

14 14
Sec.14.3
Ajustement de k par validation croisée (1)

• Possibilité d’ajuster k par validation croisée (cross-validation)


Pour chaque valeur de k candidate
– Diviser aléatoirement les observations d’entraînement en L sous-
ensembles
– Premier sous-ensemble pour le test et les L -1 autres à
l’entraînement
– Calculer l’erreur de classification (ou régression)
– Répéter la procédure sur le 2ème, .., L-ème sous-ensemble
– Moyenne les erreurs de classification (ou régression) pour la valeur
courante de k
– Recommencer pour la valeur suivante de k
Retenir la valeur de k donnant la classification (regression) la plus
précise
15 15
Sec.14.3
Ajustement de k par validation croisée (1)

Illustration de la validation croisée (L=5)

16 16