• Aucun résultat trouvé

Arbres de décision (AD)

N/A
N/A
Protected

Academic year: 2022

Partager "Arbres de décision (AD)"

Copied!
34
0
0

Texte intégral

(1)

Arbres de décision (AD)

(2)

Introduction

Un arbre est un graphe non orienté, acyclique et connexe. L’ensemble des nœuds se divise en trois catégories :

• Nœud racine (l’accès à l’arbre se fait par ce nœud),

• Nœuds internes : les nœuds qui ont des descendants (ou enfants), qui sont à leur tour des nœuds,

• Nœuds terminaux (ou feuilles) : nœuds qui n’ont pas de descendant.

Définition

(3)

Introduction

Origine: Les AD ont pris essentiellement leur essor dans le cadre des approches d'apprentissage automatique (machine learning) en Intelligence Artificielle.

- Particularités (de l'I.A. en général):

- Met l'accent sur sur la convivialité et l'intelligibilité (ou la lisibilité) des résultats

=> en classification supervisée: sortie de résultats sous la forme de règles logiques de classification: "SI tel ensemble de conditions sur telles variables est satisfait ALORS le cas appartient à telle classe ».

=> résultats plus facilement interprétables et donc exploitables

=> communication plus aisée avec les spécialistes du domaine traité.

- Ex d'algorithme: ID3 (Inductive Decision Tree) et son successeur C4.5, CART(Classification and Regression Tree), CHAID (Chi-Square Automatic InteractionDetection), QUEST (Quick, Unbiased, Efficient Statistical Trees).

3

(4)

Introduction

• Utilisées dans l’exploration de données et en informatique décisionnelle.

• Représentation hiérarchique de la structure des données sous forme des séquences de décisions (tests) en vue de la prédiction d’un résultat ou d’une classe.

• Chaque individu (ou observation), qui doit être attribué à une classe, est décrit par un ensemble de variables qui sont testées dans les nœuds de l’arbre.

Tests s’effectuent dans les nœuds internes et les décisions sont prise dans les nœuds feuille.

• Processus de décision = « descente » dans l’arbre: à chaque étape un attribut est testé et un sous-arbre est choisi, le parcours s’arrête dans une feuille (une décision est prise).

Utilisation

Types de problèmes adaptés

Comment répartir une population d’individus (e.g. clients, produits, utilisateurs, etc.) en groupes homogènes selon un ensemble de variables descriptives (e.g. âge, temps passé sur un site Web, etc.) et en fonction d’un objectif fixé (variable de sortie ; par exemple : chiffre d’affaires, probabilité de cliquer sur une publicité, etc.).

(5)

Introduction

5

Exemple: prêt bancaire

- Chaque individu est évalué sur un ensemble de variables testées dans les nœuds internes.

- Les décisions sont prises dans les feuilles.

(6)

Apprentissage avec les AD

• On considère un problème de classement.

• Chaque élément x de la base de données est représenté par un vecteur multidimensionnel correspondant à l’ensemble de ses variables descriptives.

• Chaque nœud interne de l’arbre correspond à un test fait sur une des variables : 

Variable catégorielle : génère une branche (un descendant) par valeur de l’attribut ;

Variable numérique : test par intervalles (tranches) de valeurs.

• Les feuilles de l’arbre spécifient les classes.

(x1, x2, . . . xn)

x1

(7)

Principe de construction

7

- Au départ, les points des la base d’apprentissage sont tous placés dans le nœud racine.

- Une des variables de description des points est la classe du point (la « vérité terrain ») ; cette variable est dite « variable cible ».

- La variable cible peut être catégorielle (problème de classement) ou valeur réelle (problème de régression).

- Chaque nœud est coupé (opération split) donnant naissance à plusieurs nœuds descendants.

- Un élément de la base d’apprentissage situé dans un nœud se retrouvera dans un seul de ses descendants.

- L’arbre est construit par partition récursive de la base d’apprentissage en fonction de la valeur de l’attribut testé à chaque itération (top-down induction).

- Le processus s’arrête quand les éléments d’un noeud ont la même valeur pour la variable cible (homogénéité).

(8)

Deux phases…

Phase 1: construction

Sur base d'un ensemble d'apprentissage, processus récursif de division (souvent binaire) de l’espace des données en sous-régions de + en + pures en terme de classes (estimé sur base d’un critère).

Dans le cas de données numériques 2 approches possibles: séparations parallèles aux axes et obliques.

=> décomposition du problème de classif. en une suite de tests (imbriqués) portant sur une variable (parallèle aux axes) ou une combinaison linéaire de plusieurs variables (oblique)

(9)

Deux phases…

Phase 1: construction

Exemple: arbre sur variables mixtes (X catégorielle, Y et Z numériques)

LINF2275 Arbre de Décision 4

=> règles de classifications sous forme d'arbres dont chaque extrémité (encore appelée "feuille") indique l'appartenance à une classe.

Ex: arbre sur variables mixtes (X catégorielle, Y et Z numériques)

=> La classification est réalisée en posant une suite de questions relatives à certaines propriétés du cas considéré.

Classe allouée à une feuille: déterminée sur base de la classification de l'ens.

d'apprentissage: classe majoritairement représentée parmi les exemples qui

"tombent" dans cette feuille.

Root

X=x2

X=x1 X=x3

Class 1

Class 1 Class 2 Class 3 Class 2

Z< z1 Z > z1 Y < y1 Y > y1 X ?

Z ? Y ?

Chaque "nœud" intermédiaire réalise un

test portant sur une variable dont le résultat indique la branche à suivre dans l'arbre.

Pour classer un nouveau cas : suivre le

chemin partant de la racine (nœud initial) à une feuille de l'arbre en effectuant les

différents tests à chaque nœud.

Chaque "nœud" intermédiaire réalise un test portant sur une variable dont le résultat indique la branche à suivre dans l'arbre.

Pour classer un nouveau cas: suivre le chemin partant de la racine (nœud initial) à une feuille de l'arbre en effectuant les différents tests à chaque nœud.

=> La classification est réalisée en posant une suite de questions relatives à certaines propriétés du cas considéré.

Classe allouée à une feuille: déterminée sur base de la classification de l'ens. d'apprentissage:

classe majoritairement représentée parmi les exemples qui "tombent" dans cette feuille.

9

(10)

Deux phases…

Phase 2: élagage ("pruning") :

- Supprimer les branches (parties terminales) peu représentatives pour garder de bonnes performances prédictives (généralisation)

=> nécessité d'un critère pour désigner les branches à élaguer.

Après élagage, les nouvelles feuilles sont labelisées sur base de la distribution des exemples d'apprentissage (classe majoritaire).

– Arbres parallèles aux axes versus obliques (données numériques)?

• suite de tests uni-variés;

• pas de problème de combinaison de var, d’échelle ... ;

• sélection de variables intégrée;

• rapidité

• génération de règles logiques simples de classification

Avantages Limites

• approximation par « escaliers » des surfaces de séparation

• les critères usuels de sélection de tests ne tiennent pas compte des densités de points dans l’espace des données (pour sélectionner une variable et sa valeur seuil).

(11)

Phase 2: élagage ("pruning") :

Processus: généralement de type "bottom-up" (du bas vers le haut: des extrémités vers la racine), basé sur une estimation du taux d'erreur de classification: un arbre est élagué à un certain nœud si le taux d'erreur estimé à ce nœud (en y allouant la classe majoritaire) est inférieur au taux d'erreur obtenu en considérant les sous-arbres terminaux.

Deux phases…

LINF2275 Arbre de Décision 12

Phase d'élagage d'un arbre:

Objectif: supprimer les parties de l'arbre qui ne semblent pas performantes pour prédire la classe de nouveaux cas

=> remplacées par un nœud terminal (associé à la classe majoritaire).

Processus: généralement de type "bottom-up" (du bas vers le haut: des extrémités vers la racine), basé sur une estimation du taux d'erreur de

classification: un arbre est élagué à un certain nœud si le taux d'erreur estimé à ce nœud (en y allouant la classe majoritaire) est inférieur au taux d'erreur

obtenu en considérant les sous-arbres terminaux.

T1

T5 T2

Classe A

T6

Classe C

Classe B

T3 Classe C

Classe B Classe A Classe C

3 branches élaguées:

taux d'erreur (estimé) en T6 < taux d'erreur (estimé) obtenus en

considérant les 3 feuilles.

classe majoritaire = B

11

(12)

Construction d’un arbre (parallèle aux axes)

Deux étapes à chaque nœud d'un arbre en construction (processus récursif):

1. Production d'une série de tests relatifs aux différentes variables (qualitatives ou quantitatives):

– pour les variables quantitatives (discrète ou continue): tests (généralement) binaires:

X ≤ ou > seuil (=> seuil à déterminer);

– pour les variables qualitatives: chacune des valeurs possibles est considérée comme une alternative (des sous- ensembles de valeurs peuvent aussi être considérés).

2. Sélection du meilleur test (au niveau considéré) d'après un certain critère dont l'objectif est de diminuer le plus possible le mélange des classes au sein de chaque sous-ensemble créé par les différentes alternatives du test.

Conditions d'arrêt: différentes possibilités (dépendent des algorithmes): Ex: pourcentage de cas appartenant à la classe majoritaire > seuil, ou nbre de cas dans une feuille < seuil, ou

combinaison des 2, …

(13)

Construction d’un arbre (parallèle aux axes)

Objectif général

Générer une séquence hiérarchique de tests, aussi courte que possible, qui divise successivement l'ensemble des données d'apprentissage en sous-ensembles disjoints, tels que des sous-groupes de cas appartenant à la même classe soient rapidement détectés.

=> stratégie de "diviser-pour-régner".

=> le critère de sélection (étape 2) est souvent basé sur la théorie de l'information, et notamment sur la notion d'entropie (mesure de l'hétérogénéité d'un mélange).

13

(14)

Construction d’un arbre (parallèle aux axes)

Exemple: critère du "Gain d'entropie" ou "Information mutuelle" (ID3, C4.5)

– Soit un ensemble E d'exemples divisés en classes ω

1

, ..., ω

k

, ..., ω

q

. L'entropie de la distribution des classes = quantité moyenne d'information (ici en bits => log

2

) nécessaire pour identifier la classe d'un exemple de E:

où P( ω

k

) est la probabilité a priori de la classe ω

k.

- Soit un test T (portant sur une variable X) ayant m alternatives possibles qui divisent E en m sous-ensembles E

j

, caractérisé par une entropie H(E

j

).

-L’entropie de la partition résultante, c'est-à-dire l'entropie conditionnelle de E étant donné T, est définie comme l'entropie moyenne des sous-ensembles:

H(E ) = ∑

k

P(ω

k

)log

2

(P(ω

k

))

H(E | T ) = ∑

j

P(E

j

)H(E

j

)

(15)

Construction d’un arbre (parallèle aux axes)

Le gain d’information apporté par le test T est donc:

En pratique, les probabilités a priori sont estimées par les fréquences relatives calculées sur les données d'apprentissage.

Propriétés:

– Gain(E, T) est maximum ⇔ H(E | T) est minimum

T minimise (en moyenne) le mélange des classes au sein des E

j

.

– Gain(E, T) ≈ 0 si T apporte peu d'information sur la classe (ex: une variable qualitative indépendante de la classe).

– Gain(E, T) est biaisé en faveur des tests ayant un grand nombre m d'alternatives.

=> Biais à rectifier => critère du Rapport des Gains

Gain(E, T) = H(E) − H(E|T)

15

(16)

Construction d’un arbre (parallèle aux axes)

=> H(T) = information potentielle générée en divisant un ensemble E en m sous- ensembles Ej.

=> R_Gain = proportion d'information générée par T et utile pour la classification.

Autre biais: Diviser par H(T) favorise les partitions de E ayant un fort déséquilibre de la répartition des cas entre les Ej: H(T) est maximum si la distribution est équirépartie (P(Ej) égaux) et diminue en fonction du déséquilibre.

=> rectification par une contrainte supplémentaire sur le Gain:

à chaque nœud, choisir le test T qui maximise R_Gain parmi ceux dont le Gain est suffisamment grand, c-à-d Gain moyen de tous les tests examinés.

Tous ces problèmes sont évités si on se limite aux tests binaires !!

Il existe de nombreux critères basés sur différentes mesures caractérisant l'efficacité d'un test T, dont les mesures statistique d'association entre 2 variables qualitatives (ex: mesure du χ2).

R_Gain ( T ) = Gain ( E, T ) / H ( T ) avec

H(T) =

k

P(Ej)log2(P(Ej))

(17)

Exemple

17

Données d’entrée : points dans un ”feature space” spécifi é par ses attributs variables catégorielles ou numériques

Cible : classe (classifi cation) ou valeur (régression)

(18)

Exemple

(19)

Production de règles de classification

Règle:

"SI ... (partie conditionnelle) ... ALORS ... (partie conclusive) ...".

Production d'un système de règles de classification à partir d'un arbre:

via l'ensemble des chemins partant de la racine de l'arbre à chacune des feuilles.

Chaque chemin = une règle:

– partie conditionnelle = conjonction ("ET" logique) des tests rencontrés, – partie conclusive = classe associée à la feuille de l'arbre.

Propriétés du système initial: (comme l'arbre) exhaustivité (couvre toutes les possibilités) et exclusivité mutuelle des règles (=> assure une partition de l'espace).

Phase de simplification (élagage): (basée sur le gain en taux d'erreur) – élimination de certains tests de la partie conditionnelle d'une règle, – élimination d'une règle entière.

19

(20)

Production de règles de classification

Conséquences de la simplification:

Perte possible des propriétés d'exhaustivité et d'exclusivité.

=> Ordonnancement des règles finales suivant un ordre de priorité (défini suivant le taux d'erreur estimé):

=> Système final ordonné où la première règle qui couvre un cas (partie conditionnelle satisfaite) est alors choisie comme opérationnelle:

SI "règle 1"

SINON "règle 2"

SINON "règle 3"

...

SINON classe par défaut (la plus fréquemment observée parmi les cas d'apprentissage non couverts par les règles précédentes).

(21)

Implémentation : ID3 ( Iterative Dichotomiser 3)

21

- L’algorithme commence par le placement de tous les exemples d’apprentissage dans la racine.

- Ensuite, chaque nœud est coupé sur un des attributs restants (qui n’a pas encore été testé).

- Le choix de cet attribut se fait à travers une mesure d’homogénéité par rapport à la variable cible.

- On suppose que la variable cible a m valeurs distinctes (les étiquettes de classe). Pour un nœud S (interne ou feuille) on calcule son entropie par rapport à la cible comme suit :

1) Partitionner S sur les valeurs de la cible en m groupes :

2) Calculer , la probabilité qu’un élément de S se retrouve dans ( ou est la cardinalice de l’ensemble ).

3) est l’entropie de S.

mesure l’écart de la distribution de la variable cible par rapport à la distribution uniforme:

- = 0 si S est homogène (tous les éléments sont dans la même classe : sauf une.

- = max si : toutes les proba. sont égales, les ont la même taille C1, . . . , Cm

pi, i = 1...m Ci

pi ≈ |Ci|/|S| |Ci| Ci H(S) = − ∑m

i=1

pilog(pi) H(S)

H(S) pi = 1

H(S) p1 = ⋯ = pn = 1/m Ci

(22)

Implémentation : ID3 ( Iterative Dichotomiser 3)

- Pour calculer le gain d’information dans un nœud interne S sur l’attribut a :

- Partitionner S sur les val. de l’attribut a en k sous-groupes: (k: nbr de val. distinctes) - : la probabilité qu’un élément de S appartient à ( )

- Calculer le gain d’information sur l’attribut a.

- Avec ces précisions, l”algorithme ID3 commence par la racine. Ensuite pour le nœud S en train d’être testé :

1) Calculer le gain d’information pour chaque attribut pas encore utilisé, 2) Choisir l’attribut a de gain d’information maximal,

3) Créer un test (décision) sur cet attribut dans le nœud S et générer les sous-nœuds correspondant à la partition sur l’attribut choisi a,

4) Récurrence sur les nœuds qui viennent d’être crées.

S1, . . . , Sk

pi Si pi ≈ |Si|/|S|

GI(S; a) = H(S) − ∑k

i=1

piH(Si)

S1, . . . Sk

(23)

Implémentation : ID3 ( Iterative Dichotomiser 3)

23

- Sortie de la récursivité :

- Tous les éléments de S sont dans la même classe (H(S)=0) : S devient nœud feuille, - Pas d’attributs non utilisés : nœud feuille sur le classe majoritaire,

- S=∅ : nœud feuille sur le classe majoritaire du parent (ce cas est nécessaire pour le classement de nouveaux échantillons).

Exemple: Classification d’un ensemble de jours (J1, …, J14) en deux catégories : « Adapté pour jouer au golf », et « Pas adapté ».

(24)

Exemple ID3

1 , . . . ,

| |/| | ( ; ) = ( ) P

1=1 ( )

(25)

25

Exemple ID3

(26)

Exemple ID3

(27)

27

Exemple ID3

(28)

Exemple ID3

(29)

29

Exemple ID3

(30)

Exemple ID3

(31)

31

Exemple ID3

( ) = 0

= ;

(32)

Arbre de régression: (méthode CART)

LINF2275 Arbre de Décision 20

Arbre de régression (méthode CART)

=> Variable à expliquer (Y ) numérique (continue ou discrète).

Principe: déterminer (par segmentation récursive) dans l'espace des

variables descriptives (indépendantes) X

j

des régions où la valeur de Y est homogène (variance faible).

=> Dans chacune de ces régions R

i

, une bonne valeur prédictive de Y est sa moyenne (calculée sur l'ensemble d'apprentissage), et une évaluation de l'erreur est donnée par la variance (calculée sur l'ensemble d'apprentissage) (cf. notions de régression):

Dans le cas de données numériques, possibilité (comme en classification) de construire des arbres parallèles ou obliques (par combinaisons linéaires des X

j

) aux axes.

2

2

( ˆ )

# e 1

quadratiqu erreur

et

# ) 1

ˆ (

y R y

s

R y R

Y E y

i j i

j

i j

R j

j i

R Y

R j

j i

i j

=

=

=

=

x x

x

x

Variable à expliquer (Y ) numérique (continue ou discrète).

Principe: déterminer (par segmentation récursive) dans l'espace des variables descriptives (indépendantes) Xj des régions où la valeur de Y est homogène (variance faible).

=> Dans chacune de ces régions Ri, une bonne valeur prédictive de Y est sa moyenne (calculée sur l'ensemble d'apprentissage), et une évaluation de l'erreur est donnée par la variance (calculée sur l'ensemble d’apprentissage):

Dans le cas de données numériques, possibilité (comme en classification) de construire des arbres parallèles ou obliques (combinaisons linéaires des Xj) aux axes.

(33)

Arbre de régression

Construction de l’arbre

– Même processus que pour la classification, mais avec un critère de sélection basé sur la variance résiduelle de Y dans les segments descendants (qui doit être plus faible que dans le nœud précédant).

Soit un ens. de données E (de cardinal N) séparé en 2 sous-ensembles E

1

et E

2

par un test sur une variable X

j

.

Variance de Y dans

Variance résiduelle après division de E=

=> choix du test qui produit le minimum de variance résiduelle ! Arrêt de la construction lorsque la variance ne diminue plus.

Valeur de Y associée à un nœud = valeur moyenne de Y dans ce nœud (sur base des données d'apprentissage) => E ( Y E )

E = S

Y|E2

N

1

N S

Y|E2 1

+ N

2

N S

Y|E2 2

LINF2275 Arbre de Décision 21

Xj < a Xj > a E (N)

E1 (N1) E2 (N2)

Soit un ens. de données E (d'effectif N) séparé en 2 sous-ensembles E1 et E2 par un test sur une variable Xj.

Variance de Y dans E =

Variance résiduelle après division de E:

=> choix du test qui produit le minimum de variance résiduelle !

Arrêt de la construction lorsque plus (ou peu) de diminution de variance.

Valeur de Y associée à un nœud = valeur moyenne de Y dans ce nœud (sur base des données d'apprentissage) => .

2 2 1 2

2

1 Y E

E

Y s

s N

N N

N +

Construction d'un arbre de régression:

Même processus que pour la classification, mais avec un critère de sélection basé sur la variance résiduelle de Y dans les segments descendants (qui doit être plus faible que dans le nœud précédant).

2 E

s

Y

) (Y E E

(34)

Arbre de régression

Mesure d’erreur

– Chaque feuille de l'arbre concerne sous-ens. de données Fi (d'effectif Ni)

=> erreur quadratique par feuille Erreur totale associée à un arbre:

Calculée sur l'ensemble d'apprentissage: C = mesure d'adéquation ("fitting") du modèle aux données.

=> = % de variance totale non-expliquée par le modèle Y

=> équivalent à l'expression (1 – R2) de la régression linéaire multiple

Elagage de l'arbre: comme en classification sur base d'une estimation de l'erreur en prédiction.

= SY|F2 i

C = 1N

i

NiSY|F2 i (avec N = ∑

i

Ni)

C/SY2

Références

Documents relatifs

- Pour ce faire, vous avez une liberté totale d’action concernant l'esthétique de votre production mais le plan à adopter est quant-à lui imposé avec quatre parties à faire

- Troisième étape : Un rapporteur est désigné pour chaque groupe, un ordre de prise de parole est indiqué par le professeur et il y a restitution du travail de groupe. Le

Il est question à travers cette étude de faire un diaporama de la gouvernance de la forêt Boucher dans la ville de Gatineau, en s’intéressant particulièrement

Répondre à la problématique : &#34;Quelle doit être la dimension de chaque carré découpé pour que le volume de la boite soit

En excluant tout à tour chaque nœud de cet ensemble pour obtenir un système à nœuds, on obtient à chaque fois une configuration qui, appliquée au système, va changer la parité

On

Dans Scikit-learn c’est la classe sklearn.tree.DecisionTreeClassifier qui permet de faire une classification multi-classe sur un base de données.. Cette classe a besoin

En participant au Concours, un Participant renonce à rechercher la responsabilité du Commanditaire, de ses dirigeants, de ses employés, de ses partenaires, de ses fournisseurs, de