Vous êtes sur la page 1sur 32

Les algorithmes de

l’apprentissage
automatique

Rajae El Ouazzani

1
Chapitre : Les algorithmes de
l’apprentissage automatique

2
Algorithme 5: Les forêts aléatoires
(Random forest)

https://www.analyticsvidhya.com/blog/2021/06/understanding-random-forest/

3
Introduction
■ La forêt aléatoire (Random Forest) est un algorithme
d'apprentissage automatique supervisé, largement utilisé dans les
problèmes de classification et de régression.
■ L'une des caractéristiques les plus importantes de l'algorithme
Random Forest est qu'il peut gérer l'ensemble de données
contenant des variables catégorielles comme dans le cas de la
classification et des variables continues comme dans le cas de la
régression.
■ Il donne de meilleurs résultats pour les problèmes de
classification.

4
Plan
■ Présentation
■ Algorithme d’ensemble
■ Champs d’applications de la forêt aléatoire
■ Evaluation des modèles d’apprentissage
■ Les avantages et inconvénients des arbres de décision
■ Comment fonctionne l'algorithme Random Forest ?
■ Hyperparamètres importants

5
Présentation
■ La forêt aléatoire construit plusieurs arbres de décision sur les
différentes parties de l'ensemble de données (dataset) avec remise
et prend leur vote majoritaire pour la classification
(RandomForestClassifier()) et la moyenne pour la regression
(RandomForestRegressor()).
■ Ensemble aléatoire avec remise : des observations sont choisies
au hasard et peuvent figurer plusieurs fois dans l'échantillon.
■ Le schéma ci-après explique le fonctionnement de l'algorithme
Random Forest :

6
Présentation (Suite)

7
Algorithme d’ensemble
■ Le Random forest est un algorithme d’ensemble, et il fonctionne sur le
principe du Bagging.
■ Nous allons maintenant expliquer la technique d'ensemble
d’apprentissge (ensemble learning).
■ Un algorithme d’ensemble signifie simplement combiner plusieurs
modèles. Ainsi, une collection de modèles est utilisée pour faire des
prédictions plutôt qu’utilisé un modèle individuel.
■ L’ensemble utilise deux types de méthodes :
■ Bagging (Ensachage): Il crée des sous-ensemble d’apprentissage
différents à partir des données d’apprentissage globales et le
résultat final est basé sur le vote à la majorité. Par exemple,
l’algorithme Random Forest.
■ Boosting: Il combine les apprenants faibles et apprenants forts en
créant des modèles séquentiels tels que le modèle final a la plus
grande précision. Par exemple, ADA BOOST, XG BOOST
8
Algorithme d’ensemble (Suite)

9
Bagging (ensachage)
■ L'ensachage, également connu sous le nom d'agrégation bootstrap, est
la technique d'ensemble utilisée par la forêt aléatoire. L'ensachage
choisit un échantillon aléatoire dans l'ensemble de données. Par
conséquent, chaque modèle est généré à partir de certains échantillons
(échantillons bootstrap) fournis par les données d'origine, cette
operation est connue sous le nom d'échantillonnage de ligne. Cette
étape d'échantillonnage de lignes avec remise est appelée bootstrap.
■ Désormais, chaque modèle est entraîné indépendamment, ce qui
génère différents résultats.
■ Le résultat final est basé sur le vote à la majorité après avoir combiné
les résultats de tous les modèles. Cette étape qui consiste à combiner
tous les résultats et à générer une sortie basée sur le vote à la majorité
est connue sous le nom d'agrégation.

10
Bagging (Suite)

11
Hypothèse pour la forêt aléatoire
■ Étant donné que la forêt aléatoire utilise plusieurs arbres pour
prédire la classe de l'ensemble de données, il est possible que
certains arbres de décision puissent prédire la sortie correcte,
tandis que d'autres non. Mais ensemble, tous les arbres prédisent
la sortie correcte.
■ Par conséquent, il doit y avoir des valeurs réelles dans les
données d’apprentissage afin que le classifieur puisse prédire des
résultats précis plutôt qu'un résultat deviné.

12
Champs d’applications de la forêt
aléatoire
■ Il existe principalement quatre secteurs où la forêt aléatoire est
largement utilisée :
■ Dans le secteur bancaire pour détecter les clients les plus
susceptibles de rembourser leur dettes à temps. Elle est
également utilisé pour prédire qui utilisera plus fréquemment
les services d'une banque. Elle peut être utilisée même pour
détecter les frauds (fraudes de cartes par exemple).
■ Les négociants en bourse utilisent Random Forest pour
prédire le comportement futur d'une action. Il est utilisé par
les entreprises de vente au détail pour recommender des
produits (Marketing) et également prédire la satisfaction des
clients.

13
Champs d’applications de la forêt
aléatoire (Suite)
■ Etudier les schémas de combustion spontanée du charbon
afin de réduire les risques pour la sécurité dans les mines
de charbon.
■ Dans le domaine de la santé, Random Forest peut être
utilisé pour analyser les antécédents médicaux d'un patient
afin d'identifier des maladies. Identifier la bonne
combinaison de composants dans un médicament ou prédire
la sensibilité aux médicaments. Parfois, Random Forest est
même utilisé pour la biologie computationnelle et l'étude de
la génétique.

14
Evaluation des modèles
d’apprentissage

15
Overfitting Vs Underfitting
■ Overfitting (Sur-ajustement): lorsque le modèle (classifieur)
produit de bonnes performances sur les données d'apprentissage,
et une mauvaise généralisation sur les données de test.
■ Underfitting (Sous-ajustement) : lorsque le modèle (classifieur)
produit une mauvaise performance sur les données
d'apprentissage et une mauvaise généralisation sur les données de
test.

16
Variance
■ La variance spécifit la quantité de variation dans la prédiction si
les différentes données d'apprentissage étaient utilisées. En
termes simples, la variance indique à quel point une variable
aléatoire est différente de sa valeur attendue.
■ Idéalement, un modèle ne devrait pas trop varier d'un ensemble
de données d'apprentissage à un autre. Les erreurs de variance
sont soit de faible variance, soit de forte variance.
■ Une faible variance signifie qu'il y a une petite variation
dans la prédiction de la fonction cible avec des changements
dans l'ensemble de données d'apprentissage.
■ Une variance élevée montre une grande variation dans la
prédiction de la fonction cible avec des changements dans
l'ensemble de données d'apprentissage.

https://www.javatpoint.com/bias-and-variance-in-machine-learning 17
Variance (Suite)
■ Un modèle qui montre une variance élevée apprend beaucoup et
fonctionne bien avec l'ensemble de données d'apprentissage, et
ne se généralise pas bien avec l'ensemble de données invisible.
En conséquence, un tel modèle donne de bons résultats avec
l'ensemble de données d'apprentissage mais affiche des taux
d'erreur élevés sur l'ensemble de données de test.
■ Étant donné que, avec une variance élevée, le modèle apprend
trop de l'ensemble de données, cela conduit à un surajustement
(overfitting) du modèle.

https://www.javatpoint.com/bias-and-variance-in-machine-learning 18
Biais (Bias)
■ Lors de la réalisation de prédictions, une différence se produit entre les
valeurs de prédiction faites par le modèle et les valeurs réelles/valeurs
attendues, et cette différence est connue sous le nom d'erreurs de biais ou
d'erreurs dues au biais.
■ Cela peut être défini comme une incapacité des algorithmes d'apprentissage
automatique à capturer la véritable relation entre les points de données.
■ Un modèle a soit :
■ Faible biais : Un modèle à faible biais fera moins d'hypothèses sur la
forme de la fonction cible.
■ Biais élevé : Un modèle avec un biais élevé fait plus d'hypothèses et le
modèle devient incapable de capturer les caractéristiques importantes de
notre ensemble de données. Un modèle à biais élevé ne peut pas non plus
bien fonctionner sur de nouvelles données.
■ Il y’a un compromis (Trade-off) entre la variance et le biais: l'augmentation du
biais diminue la variance, et l'augmentation de la variance diminue le biais.

https://www.javatpoint.com/bias-and-variance-in-machine-learning 19
Biais (Suite)
■ Plus l'algorithme est simple, plus le biais qu'il est susceptible
d'introduire est élevé. Alors qu'un algorithme non linéaire a
souvent un faible biais.
■ Quelques exemples d'algorithmes d'apprentissage automatique à
faible biais sont les arbres de décision, les k-plus proches voisins
et les machines à vecteurs de support.
■ Dans le même temps, un algorithme à fort biais est la régression
linéaire, l'analyse discriminante linéaire et la régression logistique.

https://www.javatpoint.com/bias-and-variance-in-machine-learning 20
Avantages et inconvénients de la forêt
aléatoire

21
Avantages et inconvénients de la forêt
aléatoire
■ Les avantages:
■ Elle surmonte le problème de surajustement (Overfitting) en faisant la
moyenne ou en combinant les résultats des différents arbres de
décision.
■ Les forêts aléatoires fonctionnent mieux pour une large gamme
d'éléments de données qu'un seul arbre de décision.
■ La forêt aléatoire a moins de variance que l'arbre de décision unique.
■ Les forêts aléatoires sont très flexibles et possèdent une très grande
précision.
■ La mise à l'échelle des données ne nécessite pas d'algorithme de forêt
aléatoire. Il maintient une bonne précision même après avoir fourni
des données sans mise à l'échelle.
■ Les algorithmes Random Forest conservent une bonne précision
même si une grande partie des données est manquante.

22
Avantages et inconvénients de la forêt
aléatoire
■ Les inconvénients
■ La complexité est le principal inconvénient des algorithmes de
forêt aléatoire.
■ La construction de forêts aléatoires est beaucoup plus difficile et
prend beaucoup de temps que les arbres de décision.
■ Plus de ressources de calcul sont nécessaires pour implémenter
l'algorithme Random Forest.
■ C'est moins intuitif dans le cas où nous avons une grande
collection d'arbres de décision.
■ Le processus de prédiction utilisant des forêts aléatoires prend
beaucoup de temps par rapport à d'autres algorithmes.

23
Comment fonctionne l'algorithme
Random Forest ?

24
Comment fonctionne l'algorithme
Random Forest ?
■ Random Forest fonctionne en deux phases, la première consiste à créer
la forêt aléatoire en combinant N arbres de décision, et la seconde
consiste à faire des prédictions pour chaque arbre créé dans la première
phase.
■ Le processus de travail peut être expliqué dans les étapes et le
diagramme ci-dessous :
■ Étape 1 : Sélectionner un nombre N d’arbres de décision ayant un
nombre k de descripteurs (k << m) avec m, le nombre total des
descripteurs.
■ Étape 2 : Des arbres de décision individuels sont construits pour
chaque ensemble aléatoire.
■ Étape 3 : Chaque arbre de décision générera une sortie.
■ Étape 4 : Le résultat final est considéré sur la base du vote à la
majorité (classification) ou de la Moyenne (régression).

25
Comment fonctionne l'algorithme
Random Forest ? (Suite)
■ Le fonctionnement de l'algorithme peut être mieux compris par
l'exemple ci-dessous :
■ Supposons qu'il existe un ensemble de données contenant plusieurs
images de fruits. Ainsi, cet ensemble de données est donné au
classificateur de forêt aléatoire. L'ensemble de données est divisé en
sous-ensembles et attribué à chaque arbre de décision. Pendant la
phase d’apprentissage, chaque arbre de décision produit un résultat de
prédiction, et lorsqu'un nouveau point de données se produit, alors sur
la base de la majorité des résultats, le classificateur Random Forest
prédit la décision finale.

26
Comment fonctionne l'algorithme
Random Forest ? (Suite)

27
Caractéristiques importantes de la forêt
aléatoire
■ Diversité: Tous les attributs/variables/caractéristiques ne sont pas
pris en compte lors de la création d'un arbre individuel, chaque arbre
est différent.
■ Immunisé contre la malédiction de la dimensionnalité: Étant
donné que chaque arbre ne considère pas toutes les caractéristiques,
l'espace des caractéristiques est réduit.
■ Parallélisation: Chaque arbre est créé indépendamment à partir de
différentes données et attributs. Cela signifie que nous pouvons utiliser
pleinement le processeur pour créer des forêts aléatoires.
■ Séparation Train-Test: Dans une forêt aléatoire, nous n'avons pas à
séparer les données pour le train et le test car il y aura toujours 30%
des données qui ne seront pas vues par l'arbre de décision.
■ Stabilité: La stabilité survient parce que le résultat est basé sur le vote
à la majorité/la moyenne.

28
Différence entre l'arbre de décision et la forêt
aléatoire
■ La forêt aléatoire est une collection d'arbres de decision et pourtant, il y
a beaucoup de différences dans leurs comportements.

Arbres de décision Forêt aléatoire


1. Les arbres de décision souffrent 1. Les forêts aléatoires sont créées à partir de
normalement du problème de surajustement sous-ensembles de données et le résultat final
s'ils sont autorisés à se développer sans aucun est basé sur le classement moyen ou
contrôle. majoritaire et, par conséquent, le problème de
surajustement est pris en charge.
2. Un seul arbre de décision est plus rapide en 2. Il est relativement plus lent.
calcul.
3. Lorsqu'un ensemble de données avec des 3. La forêt aléatoire sélectionne au hasard des
caractéristiques est pris en entrée par un arbre observations, construit des arbres de décision
de décision, il formulera un ensemble de et le résultat majoritaire (moyen) est pris.
règles pour faire la prédiction.

29
Hyperparamètres importants

30
Hyperparamètres importants
■ Les hyperparamètres sont utilisés dans les forêts aléatoires pour
améliorer les performances et la puissance prédictive des modèles ou
pour rendre le modèle plus rapide.
■ Les hyperparamètres suivants augmentent le pouvoir prédictif :
■ n_estimators: nombre d'arbres que l'algorithme construit avant de
faire la moyenne des prédictions.
■ max_features: nombre maximal de descripteurs que la forêt
aléatoire considère comme fractionnant d’un nœud.
■ mini_sample_leaf: détermine le nombre minimum de feuilles
requises pour diviser un nœud interne.

31
Hyperparamètres importants (Suite)
■ Les hyperparamètres suivants augmentent la vitesse :
■ n_jobs: indique au moteur combien de processeurs il est autorisé à
utiliser. Si la valeur est 1, il ne peut utiliser qu'un seul processeur,
mais si la valeur est -1, il n'y a pas de limite.
■ random_state: contrôle le caractère aléatoire de l'échantillon. Le
modèle produira toujours les mêmes résultats s'il a une valeur
définie d'état aléatoire et s'il a reçu les mêmes hyperparamètres et
les mêmes données d'apprentissage.
■ oob_score: OOB signifie hors du sac. Il s'agit d'une méthode de
validation croisée de forêt aléatoire. Dans ce cas, un tiers de
l'échantillon n'est pas utilisé pour l’apprentissage des données, mais
plutôt utilisé pour évaluer ses performances (test). Ces échantillons
sont appelés échantillons hors sac.

32

Vous aimerez peut-être aussi