Random Forest

Stéphane Yanan

Yves Legris

Le 20 Novembre 2016

Plan

  1. Contexte de l'étude
  2. Le problème posé en terme de fouille de données ainsi que les objectifs visés
  3. La structure de donnée
  4. Données d'apprentissages et de tests
  5. Description de l'algorithme
  6. L'analyse comparative
  7. Résultats obtenus
  8. Conclusion

1. Contexte de l'étude

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)

Historique & référence

Les forêts aléatoires consistent à faire tourner en parallèle un grand nombre d’arbres de décisions construits aléatoirement, avant de les moyenner.

Une forêt (Forest)= un ensemble d'arbres

Aléatoire (Random) = Choix au hasard d'un sous arbre

1. Contexte de l'étude

En termes statistiques, si les arbres sont décorrélés, cela permet de réduire la variance des prévisions.

Explication

Bagging ou Random Forests : utiliser le hasard pour améliorer les performances d’algorithmes de «faibles» performances. C’est applicable à différents algorithmes et RF est un aménagement spécifique à CART.

1. Contexte de l'étude

Explication

3 choses importantes concernant Random Forest :

Out Of Bag (OOB) estimate error

Le nombre d'arbre (number of trees)

Le nombre de variable testés à chaque division (mtry)

Le but du jeu est d’obtenir l’OOB le plus petit possible. Pour minimiser cette valeur, on peut régler deux éléments : le nombre d’arbres construits par l’algorithme (ntree) et le nombre de variables testées à chaque division (mtry).

1. Contexte de l'étude

Explication

Ici, on voit que plus le nombre d'arbre est grand, plus l'OOB diminue

2. Objectifs visés

Performant pour la prédiction

Objectif : obtenir des arbres les plus décorrélés possible, de façon à ce qu'ils soient indépendants

A utiliser lors d'un grand nombre de variable explicative, ou dans les grandes dimensions (ex : bio-puces, signaux, images ...)

2. Problèmes rencontrés

Ne pas utiliser pour implémenter des règles de décision

Effet boite noire, comme pour les réseaux de neuronnes

3. Structure de donnée utilisée

Ensemble de données choisi : IRIS

150 exemples de critères observé sur 3 espèces différentes

Chaque exemple est composé de 4 attributs

Fichier iris.arff

@ATTRIBUTE sepallength    REAL
@ATTRIBUTE sepalwidth     REAL
@ATTRIBUTE petallength     REAL
@ATTRIBUTE petalwidth    REAL
@ATTRIBUTE class     {Iris-setosa,Iris-versicolor,Iris-virginica}

3. Données d'apprentissages et de tests

Échantillon de donnée d'apprentissage

Statistique de nos valeurs

3 espèces différentes :

Setosa (en bleu)

Versicolor (en rouge)

Virginica (en turquoise)

Cross-validation : 10

3. Données d'apprentissages et de tests

3. Données d'apprentissages et de tests

Résultat obtenu

Temps : 0.07 secondes - Taux d'erreur : 4.67% (7)

3. Données d'apprentissages et de tests

La moyenne des True Positive, correspond au positive correctement prédit, est de 0.953

La moyenne des False Positive, correspond au négative prédit à tort comme des classes positives est de 0.023

La Precision est de 0.953, (c’est une détermination de l’exactitude, c’est le rapport des cas positifs prédits qui étaient exacts au nombre total de cas positifs prédits).

Détails par classe

3. Description détaillée de l'algorithme

ArbreDecision(T)
    si "condition d'arret"
        retourner feuille(T)
    sinon
        choisir le "meilleur" attribut parmi un sous ensemble choisi aléatoirement
        pour chaque valeur v de l'attribut i
            T[v] = {(x, y) de T tels que x_i = v}
            t[v] = ArbreDecision(T[v])
        fin pour
        retourner noeud(i, {v -> t[v]})
    fin si

             Échantillonage des attributs :

On tire uniformément au hasard un sous-ensemble A′ ⊂ A de taille m′ ≤ m (pour la régression, les auteurs suggèrent m′ ≈ m/3) dont on choisira le meilleur attribut. L’objectif de cette opération est de décorréler les arbres produits, la corrélation entre les prédicteurs réduisant les gains potentiels en précision dus au bagging.

             Critère d’arrêt :

Les arbres construits sont aussi profonds que possible, i.e. le critère d’arrêt est une condition forte (|Tf| < 10, | Yf| = 1, ...), dans les limites d’un temps de calcul raisonnable. Ainsi, un prédicteur apprendra toutes les relations entre les données à sa portée, le surapprentissage et la sensibilité au bruit qui en résultent étant compensés par le bagging.

1

1

2

2

4. Analyse Comparative

Comparaison avec l'algorithme J48

Temps : 0.01 secondes - Taux d'erreur : 4% (6)

Résultat obtenu

5. Résultats obtenus

6. Conclusion

Les résultats montrent que l'algorithme Random Forest prend plus de temps pour classer les données et nous donne moins de précision.

L’algorithme J48 nous offre une meilleure précision avec une légère augmentation du temps pour la classification.

Le taux d’erreur est plus élevé avec l’algorithme RandomForest comparer à J48.

De plus l’algorithme J48 nous donne la possibilité de générer un arbre ce qui n’est pas possible avec le RandomForest sous l'environnement Weka.

Random Forest

By claw

Random Forest

  • 840