Random Forest

Maschinelles Lernen mit baumbasierten Modellen in R

Sandro Raabe

Data Scientist

Random Forest

  • Geeignet für hochdimensionale Daten
  • Einfach zu verwenden
  • Gute Performance out of the box
  • In vielen Paketen implementiert: ranger, randomForest
  • tidymodels-Schnittstelle zu diesen Paketen: rand_forest() (im Paket parsnip)
Maschinelles Lernen mit baumbasierten Modellen in R

Idee

  • Grundidee (wie bei Bagging): Bäume auf Bootstrap-Stichproben trainieren
  • Unterschied: zufällige Prädiktoren pro Baum $\rightarrow$ Random Forest
Maschinelles Lernen mit baumbasierten Modellen in R

Intuition

Skizze Random Forest

Maschinelles Lernen mit baumbasierten Modellen in R

Coding: Random-Forest-Modell spezifizieren

  • Funktionsname: rand_forest()

Hyperparameter:

  • mtry: Prädiktoren je Knoten, Standard:
    $$\left\lfloor\sqrt\text{num predictors}\right\rfloor$$
  • trees: Anzahl der Bäume im Wald
  • min_n: kleinste erlaubte Knotengröße
rand_forest(

mtry = 4,
trees = 500,
min_n = 10) %>%
# Set the mode set_mode("classification") %>%
# Use engine ranger or randomForest set_engine("ranger")
Maschinelles Lernen mit baumbasierten Modellen in R

Coding: Random-Forest-Modell spezifizieren

spec <- rand_forest(trees = 100) %>%

set_mode("classification") %>%
set_engine("ranger")
Random-Forest-Modellspezifikation

(Klassifikation)
Wichtigste Argumente: trees = 100
Rechen-Engine: ranger
Maschinelles Lernen mit baumbasierten Modellen in R

Einen Wald trainieren

spec %>% fit(still_customer ~ ., data = customers_train)
parsnip Modellobjekt

Fit-Zeit:  631ms 
Ranger-Ergebnis

Anzahl der Bäume:                 100 
Stichprobengröße:                 9116 
Anzahl unabhängiger Variablen:    19 
Mtry:                              4 
Ziel-Knotengröße:                 10
Maschinelles Lernen mit baumbasierten Modellen in R

Variablenwichtigkeit

rand_forest(mode = "classification") %>%
    set_engine("ranger", importance = "impurity") %>%

fit(still_customer ~ ., data = customers_train) %>%
vip::vip()

VIP-Plot

Maschinelles Lernen mit baumbasierten Modellen in R

Lass uns einen Random Forest pflanzen!

Maschinelles Lernen mit baumbasierten Modellen in R

Preparing Video For Download...