Algorithme de forêt aléatoire | Une carte pour ne pas se perdre “Forêt aléatoire”

Partager sur Facebook
Partager sur Twitter
Partager sur lié
Partager sur télégramme
Partager sur WhatsApp

Contenu

Cet article a été publié dans le cadre du Blogathon sur la science des données.

L'algorithme Random Forest est sans aucun doute l'un des algorithmes les plus populaires parmi les data scientists.. Fonctionne très bien sur les problèmes de classification et de régression. Random Forest est connu comme une technique d'ensemble car il s'agit d'une collection d'arbres de décision multiples.

Quel était l'objectif principal de l'utilisation de plusieurs arbres de décision?

L'utilisation d'un seul arbre de décision présente plusieurs inconvénients. Lorsque nous utilisons un seul arbre de décision pour résoudre un énoncé de problème, on retrouve une situation de faible biais et de forte variance. C'est-à-dire, l'arbre va capturer toutes les informations sur les données d'entraînement, ainsi que le bruit. Par conséquent, le modèle développé à l'aide de l'algorithme d'arbre de décision fonctionnera bien avec les données d'apprentissage, mais il fonctionnera mal lorsqu'il sera évalué sur les données de test (données inconnues). Le surapprentissage est la condition d'avoir un faible biais et une variance élevée.

Arbre de décision -----> Sur-réglage ————–> faible écart variance élevée

Random Forest utilise plusieurs arbres de décision pour éviter ce problème présent dans l'algorithme d'arbre de décision.

Mais, Comment Random Forest résout le problème du surapprentissage?

L'algorithme Random Forest n'utilise pas toutes les données d'entraînement lors de l'entraînement du modèle, comme on le voit sur le schéma ci-dessous. À sa place, exemples de lignes et de colonnes avec répétition. Cela signifie que chaque arbre ne peut être formé qu'avec un nombre limité de lignes et de colonnes avec des données répétitives. Dans le schéma suivant, données d'entraînement 1 sont utilisés pour entraîner l'arbre de décision 1, et les données d'apprentissage n sont utilisées pour former l'arbre de décision n. Cependant, puisque chaque arbre est créé à sa pleine profondeur et a la propriété de surajustement, Comment éviter ce problème?

Puisque l'algorithme ne dépend pas du résultat d'un arbre de décision particulier. Vous obtiendrez d'abord les résultats de tous les arbres de décision, puis donnerez le résultat final en fonction du type d'énoncé du problème. Par exemple; si le type d'énoncé du problème est la classification, le vote à la majorité serait utilisé. supposons que nous classons “Oui” Oui “non” avec 10 des arbres, et 6 les arbres trient “Oui” Oui 4 ils classent “non”, la réponse finale sera “Oui” en utilisant le vote à la majorité. Et si notre sortie était une variable continue? Dans ce cas, le résultat final serait la moyenne ou la médiane de la production de tous les arbres.

Problème de classement -> Vote à la majorité

Problème de régression -> Médias / Médian

68449algorithme-forêt-aléatoire-8787580
https://images.app.goo.gl/pwKrDydww8ReJbXf8

Le modèle effectue un échantillonnage de lignes. Cependant, L'échantillonnage des caractéristiques doit être effectué en fonction du type d'énoncé du problème.

  • Si le type d'énoncé du problème est “classification”.

Le nombre total de fonctionnalités / colonnes aléatoires sélectionnées = p ^ ½ ou la racine carrée de p,

où p est le nombre total de Indépendant les attributs / caractéristiques présentes dans les données.

  • Si le type d'énoncé du problème est “régression”.

Le nombre total de colonnes aléatoires sélectionnées = p / 3.

Random Forest évite le surapprentissage avec: –

1) Exécution d'un échantillonnage de lignes et de caractéristiques.

2) Connecter tous les arbres de décision en parallèle.

Pourquoi est-elle connue sous le nom de technique d'agrégation Bootstrap?

La forêt aléatoire est un type de technique d'ensemble, aussi connu sous le nom agrégation bootstrap O harpillera.

Le processus d'échantillonnage de différentes lignes et caractéristiques des données d'apprentissage avec répétition pour construire chaque modèle d'arbre de décision est connu sous le nom d'amorçage., comme le montre le schéma suivant.

L'agrégation est le processus consistant à prendre tous les résultats de chaque arbre de décision et à les combiner pour produire un résultat final en utilisant des votes majoritaires ou des valeurs moyennes., selon le type d'énoncé du problème.

676411_getsujk2zxb3jj5rhkdq0w-5885513
https://images.app.goo.gl/mpTaAhPvx964iPnw7

Forêt aléatoire utilisant R

une bibliothèque(caOutils)

une bibliothèque(au hasardForêt)

Nous devons installer les caTools des bibliothèques’ y'aléatoireForêt’ et activez-les à l'aide de la fonction bibliothèque ()

Nous avons utilisé l'ensemble de données d'authentification des billets de banque et l'avons stocké dans la variable « données ». Nous allons vérifier la structure des données à l'aide de la fonction str ().

Les données <- lire.csv ('bank_note_data.csv', en-tête = T)
str (Les données)

37687capture d

Maintenant, nous allons diviser nos données en parties de test et d'entraînement. 80% pour la formation et 20% tester le modèle.

des graines (123)
diviser <- échantillon.split (Les données, SplitRatio = 0.8)
former <- sous-ensemble (Les données, diviser == T)
test <- sous-ensemble (Les données, division == F)

Après avoir divisé les données, nous allons construire notre modèle en utilisant la fonction randomForest (). Ici 'ntree’ est l'hyperparamètre. ce qui doit être ajusté. Dans ce cas, est sélectionné comme 500.

modèle_aléatoire <- forêt_aléatoire (Classe ~., données = train, essai = 2, ntree = 500)

Prédiction de la précision du modèle sur les données de test à l'aide de la fonction de prédiction ().

évaluer <- prédire (modèle_aléatoire, test)

Évaluer la précision du modèle à l'aide de la matrice de confusion.

confusionMatrice (tableau (évaluer, test $ Classer))

68636capture d

Le modèle donne une précision de 98,91% dans les données d'essai. Cela garantit que Random Forest fait un travail fantastique..

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.