Forêts aléatoires

Apprentissage supervisé en R : régression

Nina Zumel and John Mount

Win-Vector, LCC

Forêts aléatoires

Plusieurs arbres de décision variés, moyennés ensemble

  • Réduit le surapprentissage
  • Accroît l'expressivité du modèle
  • Prédictions plus fines
Apprentissage supervisé en R : régression

Construire un modèle de forêt aléatoire

  1. Tirer un échantillon bootstrap des données d'entraînement
  2. Pour chaque échantillon, faire croître un arbre
    • À chaque nœud, choisir la meilleure variable de scission (parmi un sous-ensemble aléatoire de toutes les variables)
    • Continuer jusqu'à ce que l'arbre soit complet
  3. Pour évaluer une donnée, la passer dans tous les arbres et moyenner les résultats.
Apprentissage supervisé en R : régression

Exemple : données de location de vélos

cnt ~ hr + holiday + workingday + 
  weathersit + temp + atemp + hum + windspeed

Apprentissage supervisé en R : régression

Forêts aléatoires avec ranger()

model <- ranger(fmla, bikesJan, 
                num.trees = 500, 
                respect.unordered.factors = "order")
  • formula, data
  • num.trees (par défaut 500) – utilisez au moins 200
  • mtry – nombre de variables testées à chaque nœud
    • par défaut : racine carrée du nombre total de variables
  • respect.unordered.factors – recommandé : "order"
    • hachage « sécuritaire » des variables catégorielles
Apprentissage supervisé en R : régression

Forêts aléatoires avec ranger()

model
Ranger result
...
OOB prediction error (MSE):       3103.623 
R squared (OOB):                  0.7837386

L'algorithme de forêt aléatoire fournit des estimations de performance hors échantillon.

Apprentissage supervisé en R : régression

Prédire avec un modèle ranger()

bikesFeb$pred <- predict(model, bikesFeb)$predictions

Entrées de predict() :

  • modèle
  • données

Les prédictions sont accessibles dans l'élément predictions.

Apprentissage supervisé en R : régression

Évaluer le modèle

Calculer la RMSE :

bikesFeb %>% 
  mutate(residual = cnt - pred) %>%
  summarize(rmse = sqrt(mean(residual^2)))
      rmse
1 67.15169
Modèle RMSE
Quasipoisson 69.3
Forêts aléatoires 67.15
Apprentissage supervisé en R : régression

Évaluer le modèle

Apprentissage supervisé en R : régression

Évaluer le modèle

Apprentissage supervisé en R : régression

Passons à la pratique !

Apprentissage supervisé en R : régression

Preparing Video For Download...