Arbres de décision et Random Forest
Objectif du chapitre
Les deux derniers chapitres ont présenté les notions de base des algorithmes de régression linéaire et de régression logistique. Ce chapitre va aborder les arbres de décision et les algorithmes de type Random Forest.
Les arbres de décision permettent de découper un ensemble d’observations en groupes homogènes en se basant sur des règles sur les variables descriptives des observations.
Les algorithmes Random Forest permettent d’étendre les notions d’arbres de décision afin de construire des modèles prédictifs plus stables.
Parmi les algorithmes les plus connus pour la construction d’arbres de décision, on peut citer CART (Classification and Regression Tree) qui a été introduit par Leo Breiman dans la première moitié des années 80. Les algorithmes de forêts aléatoires ont été introduits, quant à eux, au tout début des années 2000.
En plus de leur efficacité, les algorithmes de Random Forest et les arbres de décision sont très faciles à comprendre et très intuitifs.
L’objectif de ce chapitre est d’introduire les concepts de base des arbres de décision et des algorithmes Random Forest sans entrer dans les détails. Un exemple d’application d’un algorithme Random Forest sera également...
Construction d’un arbre de décision
Les algorithmes Random Forest sont fortement basés sur les arbres de décision. C’est pour cette raison que cette section montre, sur un exemple, le schéma général de construction d’un arbre de décision.
Soit un ensemble d’observations, représentées par les carrés et les triangles de la figure 5-1 ci-après, constituant la base d’apprentissage. Ces observations sont définies dans un espace à deux dimensions.

Figure 5-1 : exemple d’un jeu de données défini dans un espace à 2 dimensions
Pour construire un arbre de décision destiné à prédire si une nouvelle observation est un carré ou un triangle, on procède comme suit :
-
La construction d’un arbre de décision commence par poser le nœud racine. Pour notre exemple, le nœud racine peut être représenté comme suit :

Figure...
Random Forest
Comme mentionné au début de ce chapitre, l’objectif ici c’est d’introduire les notions de base des arbres de décision et de Random Forest sans trop entrer dans les détails. L’objectif principal est de comprendre le fonctionnement général de ces algorithmes et de les appliquer à un exemple concret afin de s’exercer sur l’environnement Azure ML.
Sans perdre en généralité, l’algorithme Random Forest propose de construire plusieurs arbres de décision à partir d’un ensemble d’échantillons tirés de façon aléatoire à partir de la base d’apprentissage. Ainsi, pour chaque échantillon tiré de la base d’apprentissage, un arbre de décision sera construit. Le nombre d’arbres à construire est un des paramètres les plus importants de l’algorithme Random Forest.
Une fois que ces arbres de décision sont construits, pour prédire la classe d’une nouvelle observation, l’algorithme Random Forest interroge chacun des arbres de décision, et c’est le résultat majoritaire qui l’emportera.
Exemple de Random Forest dans Azure ML
Cette section montre comment appliquer un algorithme de Random Forest sur un jeu de données issu du site https://archive.ics.uci.edu/ml/datasets/spambase.
Il s’agit dans cet exemple de construire un modèle pour prédire si un e-mail est un spam ou pas. La base d’apprentissage est constituée d’un jeu de données défini par 4601 observations, et chaque observation correspond à un e-mail défini par 58 variables. Ces variables sont définies comme suit :
-
Les 48 premières variables sont des variables numériques continues définies dans l’intervalle [1,100]. Chaque variable indique le taux de présence d’un mot. Ce taux est calculé comme suit :
Un mot est une suite de caractères alphanumériques limités par un caractère non alphanumérique ou par le caractère de fin de chaine de caractères.
-
Six variables numériques continues définies dans l’intervalle [0,100]. Chaque variable indique le taux de présence d’un caractère. Ce taux est calculé comme suit :
-
Une variable numérique continue définie dans l’intervalle [1,...] qui indique la moyenne des longueurs des mots écrits en lettres majuscules.
-
Une variable numérique discrète définie dans l’intervalle [1,...] qui indique la longueur du mot le plus long écrit en lettres majuscules.
-
Une variable numérique discrète définie dans l’intervalle [1,...] qui indique la somme des lettres majuscule d’un l’e-mail.
-
Une variable nominale qui est égale à la valeur 1 lorsque l’e-mail est un spam et égale à 0 lorsque l’e-mail n’est pas un spam.
Sur les 4601 e-mails de cette base d’apprentissage, 1813 sont des spams. Pour construire un modèle prédictif sur cette base d’apprentissage, veuillez suivre les étapes ci-après :...
Conclusion
Ce chapitre a abordé les notions de base autour des arbres de décision et des algorithmes Random Forest. Une application de Random Forest a été réalisée dans Azure ML pour la détection des e-mails indésirables.