Random Forests

Überwachtes Lernen in R: Regression

Nina Zumel and John Mount

Win-Vector, LCC

Random Forests

Mehrere unterschiedliche Entscheidungsbäume gemittelt

  • Reduziert Overfitting
  • Erhöht die Ausdruckskraft des Modells
  • Feinere Vorhersagen
Überwachtes Lernen in R: Regression

Ein Random-Forest-Modell bauen

  1. Bootstrap-Stichprobe aus den Trainingsdaten ziehen
  2. Für jede Stichprobe einen Baum wachsen lassen
    • An jedem Knoten die beste Variable zum Split wählen (aus einer zufälligen Teilmenge aller Variablen)
    • Fortsetzen, bis der Baum ausgewachsen ist
  3. Zum Bewerten einen Datenpunkt durch alle Bäume schicken und die Ergebnisse mitteln.
Überwachtes Lernen in R: Regression

Beispiel: Fahrradverleih-Daten

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

Überwachtes Lernen in R: Regression

Random Forests mit ranger()

model <- ranger(fmla, bikesJan, 
                num.trees = 500, 
                respect.unordered.factors = "order")
  • formula, data
  • num.trees (Standard 500) – nutze mindestens 200
  • mtry – Anzahl der Variablen, die an jedem Knoten ausprobiert werden
    • Standard: Quadratwurzel der Gesamtzahl der Variablen
  • respect.unordered.factors – empfohlen: auf "order" setzen
    • „sicheres" Hashing kategorialer Variablen
Überwachtes Lernen in R: Regression

Random Forests mit ranger()

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

Der Random-Forest-Algorithmus liefert Schätzungen der Out-of-Sample-Leistung.

Überwachtes Lernen in R: Regression

Vorhersagen mit einem ranger()-Modell

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

Eingaben für predict():

  • model
  • data

Vorhersagen findest du im Element predictions.

Überwachtes Lernen in R: Regression

Modell bewerten

RMSE berechnen:

bikesFeb %>% 
  mutate(residual = cnt - pred) %>%
  summarize(rmse = sqrt(mean(residual^2)))
      rmse
1 67.15169
Modell RMSE
Quasipoisson 69.3
Random Forests 67.15
Überwachtes Lernen in R: Regression

Modell bewerten

Überwachtes Lernen in R: Regression

Modell bewerten

Überwachtes Lernen in R: Regression

Lass uns üben!

Überwachtes Lernen in R: Regression

Preparing Video For Download...