Arbres de décisions et forêts aléatoires.
Transcript of Arbres de décisions et forêts aléatoires.
![Page 1: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/1.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbres de décisions et forêts aléatoires.
Pierre Gaillard
7 janvier 2013
![Page 2: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/2.jpg)
Introduction Arbre de décision Forêts aléatoires
Plan
1 Arbre de décision
2 Les forêts aléatoires
![Page 3: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/3.jpg)
Introduction Arbre de décision Forêts aléatoires
Introduction
![Page 4: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/4.jpg)
Introduction Arbre de décision Forêts aléatoires
Introduction
Jeu de données (ex : n emails)n observationsp variables décrivant ces observations
Variable cible à prévoir, Y .ex : spam / non spam
Variables explicatives, X1, . . . ,Xp.ex : proportions de majuscules, présence de certains mots(remove,free,...), de certains caractère ($, !,...)
![Page 5: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/5.jpg)
Introduction Arbre de décision Forêts aléatoires
Idées
Arbre de décisions. Découper l’espace des variables explicatives engroupes homogènes.
Forêts aléatoires. Construire aléatoirement de nombreux arbres etmoyenne.
![Page 6: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/6.jpg)
Introduction Arbre de décision Forêts aléatoires
I. Les arbres de décision
![Page 7: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/7.jpg)
Introduction Arbre de décision Forêts aléatoires
Historique et références
Méthode introduite par Leo Breiman en 1984.
Il existe de nombreuses variantes : CART (Clas-sification and regression trees), C4.5, CHAID,ID3
Package R : tree, rpart.
Références :Breiman L. and al (1984) Classification and Regression Trees.
![Page 8: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/8.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de régression
Ensemble d’entraînement (Xt ,Yt)t∈S0 indépendantes etidentiquement distribuées.
ObjectifExpliquer Yt en fonction des variables contextuelles Xt .
![Page 9: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/9.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de régression
Ensemble d’entraînement (Xt ,Yt)t∈S0 indépendantes etidentiquement distribuées.
ObjectifExpliquer Yt en fonction des variables contextuelles Xt .
![Page 10: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/10.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de régression
Ensemble d’entraînement (Xt ,Yt)t∈S0 indépendantes etidentiquement distribuées.
ObjectifExpliquer Yt en fonction des variables contextuelles Xt .
![Page 11: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/11.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de régression
Ensemble d’entraînement (Xt ,Yt)t∈S0 indépendantes etidentiquement distribuées.
ObjectifExpliquer Yt en fonction des variables contextuelles Xt .
![Page 12: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/12.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de régression
Ensemble d’entraînement (Xt ,Yt)t∈S0 indépendantes etidentiquement distribuées.
ObjectifExpliquer Yt en fonction des variables contextuelles Xt .
![Page 13: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/13.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de régression
Ensemble d’entraînement (Xt ,Yt)t∈S0 indépendantes etidentiquement distribuées.
ObjectifExpliquer Yt en fonction des variables contextuelles Xt .
![Page 14: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/14.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de régression
Ensemble d’entraînement (Xt ,Yt)t∈S0 indépendantes etidentiquement distribuées.
ObjectifExpliquer Yt en fonction des variables contextuelles Xt .
![Page 15: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/15.jpg)
Introduction Arbre de décision Forêts aléatoires
Exemple numérique : prévision de la qualité de l’air
Relevé quotidien de la qualité de l’air (concentration d’ozone) àNew York de mai à septembre 1973.
Jeu de données. 154 observations, 6 variables explicatives.
Variables explicatives. Vitesse moyenne du vent, températuremaximale, jour de la semaine, mois de l’année, ensoleillement.
Références. Sous R. Jeu de données airquality.
![Page 16: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/16.jpg)
Introduction Arbre de décision Forêts aléatoires
Exemple : prévision de la qualité de l’air
![Page 17: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/17.jpg)
Introduction Arbre de décision Forêts aléatoires
Construction de l’arbre
Nous devons répondre aux trois questions suivantes :Comment choisir la variable à segmenter parmis les variablesexplicatives disponibles ?Lorsque la variable est continue, comment déterminer le seuilde coupe ?Comment déterminer la bonne taille de l’arbre ?
![Page 18: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/18.jpg)
Introduction Arbre de décision Forêts aléatoires
Choisir la variable et trouver la bonne coupe
Le choix de la variable explicative j où couper, et de la coupecorrespondante τ partitionne les données en deux ensembles :
E−j ,τ = {i ∈ {1, . . . , n} tq Xi ,j 6 τ}
E+j ,τ = {i ∈ {1, . . . , n} tq. Xi ,j > τ}
Exemple : prévision de la qualité de l’airOn peut décider de couper selon que la température est supérieureou inférieure à 30oC.
![Page 19: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/19.jpg)
Introduction Arbre de décision Forêts aléatoires
Choisir la variable et trouver la bonne coupe
Le choix de la variable explicative j où couper, et de la coupecorrespondante τ partitionne les données en deux ensembles :
E−j ,τ = {i ∈ {1, . . . , n} tq Xi ,j 6 τ}
E+j ,τ = {i ∈ {1, . . . , n} tq. Xi ,j > τ}
Idée. Obtenir deux groupes les plus homogènes possible pour lavariable à prévoir Y . On minimise leur variance :
(j?, τ?) = argminj ,τ
{Var(E−j ,τ ) + Var(E+
j ,τ )}
où Var(E ) = miny∈R∑
i∈E (Yi − y)2
![Page 20: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/20.jpg)
Introduction Arbre de décision Forêts aléatoires
Choisir la variable et trouver la bonne coupe
Le choix de la variable explicative j où couper, et de la coupecorrespondante τ partitionne les données en deux ensembles :
E−j ,τ = {i ∈ {1, . . . , n} tq Xi ,j 6 τ}
E+j ,τ = {i ∈ {1, . . . , n} tq. Xi ,j > τ}
Exemple : prévision de la qualité de l’airOn décide de couper selon que la température est supérieure ouinférieure à 30oC, si les données qui ont une température inférieureà 30oC ont une qualité de l’air similaire (de même pour cellesupérieures).
![Page 21: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/21.jpg)
Introduction Arbre de décision Forêts aléatoires
Trouver la bonne coupe pour une variable catégorique
Pour des variables catégoriques non ordonnée, on ne peut pastrouver de seuil τ , pour diviser les données facilement en deuxensenbles.
Exemple : prévision de la qualité de l’airOn peut avoir une variable renseignant si le temps est ensoleillé,nuageux, pluvieux, ou neigeux.
Si la variable prend ses valeurs dans un ensemble de k catégories, ily a 2k−1 − 1 partitions correspondantes. C’est trop !
Solution. Ordonner les catégories suivant la moyenne des Yi leurappartenant.
![Page 22: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/22.jpg)
Introduction Arbre de décision Forêts aléatoires
À quel point doit on laisser l’arbre grandir ?
Un arbre trop grand risque de suraprendre les données.Un trop petit risque de ne pas capter leur structure.
La taille optimal est un paramètre à calibrer sur les données.
Solutions :Descendre tant que la variance au sein des feuilles décroit plusqu’un certain seuil.Vision à trop court terme : une mauvaise coupe peut parfoismener à de très bonnes coupes.Élagage. On fait grandir l’arbre au maximum puis on supprimeles noeuds inintéressants.
![Page 23: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/23.jpg)
Introduction Arbre de décision Forêts aléatoires
Avantage-Inconvénients
AvantagesFacilement interprétable. Rapide.
InconvénientsInstabilité ! ! L’élagage n’est pas toujours facile.
![Page 24: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/24.jpg)
Introduction Arbre de décision Forêts aléatoires
Exemple numérique : prévision de la qualité de l’air
Relevé quotidien de la qualité de l’air (concentration d’ozone) àNew York de mai à septembre 1973.
Jeu de données. 154 observations, 6 variables explicatives.
Variables explicatives. Vitesse moyenne du vent, températuremaximale, jour de la semaine, mois de l’année, ensoleillement.
Références. Sous R. Jeu de données airquality.
![Page 25: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/25.jpg)
Introduction Arbre de décision Forêts aléatoires
Exemple numérique. Code RPrévision de la qualité de l’air
# Chargement de la librarylibrary("tree")
# Chargement des donnéesdata(airquality)
# Construction de l’arbreozone.tr <- tree(Ozone ., data=airquality)
![Page 26: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/26.jpg)
Introduction Arbre de décision Forêts aléatoires
La classification
La variable à expliquer prend ses valeurs dans un ensemble decatégories.
Exemples.Détection de spam. Reconnaissance d’objet, de races d’animaux, devariétés de plantes à partir de mesures,...
![Page 27: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/27.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de classification. Détection de spams
![Page 28: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/28.jpg)
Introduction Arbre de décision Forêts aléatoires
Arbre de classification
Différences avec l’arbre de régression :au lieu de prévoir comme la moyenne des éléments de lafeuille, on prévoit comme la majorité.le critère de variance pour sélectionner la variable et la coupeest légèrement différents.
?
![Page 29: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/29.jpg)
Introduction Arbre de décision Forêts aléatoires
Exemple numérique. Détection de spams
Jeu de données contenant 2788 emails et 1813 spams en anglais.Variables contextuelles disponibles :
word_freq_... : 48 réels donnant le pourcentage de certainsmots dans l’email (ex : word_freq_free)char_freq_... : 6 réels donnant le pourcentage de certainscaractères (ex : $, !,...)capital_run_length_average : durée moyenne de suite demajuscules consécutives.capital_run_length_longest : durée de la plus grandesuites de majuscules consécutives.capital_run_length_total : hombre total de majuscules.
![Page 30: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/30.jpg)
Introduction Arbre de décision Forêts aléatoires
II. Les forêts aléatoires
![Page 31: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/31.jpg)
Introduction Arbre de décision Forêts aléatoires
Historique et références
Méthode introduite par Leo Breiman en 2001.
Idées plus anciennes : Bagging (1996), arbres dedécisions CART (1984)
Preuves de convergences récentes (2006,2008)
Un site web utile :http://www.stat.berkeley.edu/∼breiman/RandomForests
![Page 32: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/32.jpg)
Introduction Arbre de décision Forêts aléatoires
Forêts aléatoires
Les forêts aléatoires consistent à faire tourner en parallèle un grandnombre (≈ 400) d’arbres de décisions construits aléatoirement,avant de les moyenner.
En termes statistiques, si les arbres sont décorrélés, cela permet deréduire la variance des prévisions.
prévoit 24.7+23.32 = 24
![Page 33: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/33.jpg)
Introduction Arbre de décision Forêts aléatoires
Forêts aléatoires
Intuition : si K arbres sont identiquement distribués, de varianceσ2, avec un coefficient de corrélation deux à deux ρ, la variance deleur moyenne est alors
σ̄2 =1K
(Kσ2 + K (K − 1)ρσ2) = ρσ2 +1− ρK
σ2
prévoit 24.7+23.32 = 24
![Page 34: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/34.jpg)
Introduction Arbre de décision Forêts aléatoires
Créer des arbres peu corrélés
Bootstrapping. Plutôt qu’utiliser toutes les données pour construireles arbres. On choisit pour chaque arbre aléatoirement unsous-ensemble des données (ex : 1 donnée sur 5).
Choix aléatoire de la variable explicative à couper.
À la différence des arbres Cart, on ne fait pas d’élagage.
![Page 35: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/35.jpg)
Introduction Arbre de décision Forêts aléatoires
Une notion importante : la proximité
Intuition : Tomber souvent dans les même feuilles des arbres →expliquer la sortie Y de façon similaire.
![Page 36: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/36.jpg)
Introduction Arbre de décision Forêts aléatoires
Une notion importante : la proximité
Intuition : Tomber souvent dans les même feuilles des arbres →expliquer la sortie Y de façon similaire.
prox(Xt ,Xs) =1K
K∑k=1
1 Xt et Xs tombent dans lamême feuille dans l’arbre k
.
![Page 37: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/37.jpg)
Introduction Arbre de décision Forêts aléatoires
La notion de proximité
Intuition : Tomber souvent dans les même feuilles des arbres →expliquer la sortie Y de façon similaire.
prox(Xt ,Xs) =1K
K∑k=1
1 Xt et Xs tombent dans lamême feuille dans l’arbre k
.
![Page 38: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/38.jpg)
Introduction Arbre de décision Forêts aléatoires
La notion de proximité
Intuition : Tomber souvent dans les même feuilles des arbres →expliquer la sortie Y de façon similaire.
On prédit ensuite par exemple par
argmina∈R
∑Xs∈Et
prox(Xt ,Xs) (Ys − a)2 .
![Page 39: Arbres de décisions et forêts aléatoires.](https://reader031.fdocument.pub/reader031/viewer/2022032613/586e162a1a28ab3f528bd1d8/html5/thumbnails/39.jpg)
Introduction Arbre de décision Forêts aléatoires
Exemple numérique. Code RPrévision de la qualité de l’air
# Chargement de la librarylibrary("randomForest")
# Chargement des donnéesdata(airquality)
# Construction de l’arbreozone.rf <- randomForest(Ozone ., data=airquality, mtry=3,
importance=TRUE, na.action=na.omit)