Random forest

Machine Learning met boomgebaseerde modellen in R

Sandro Raabe

Data Scientist

Random forest

  • Geschikt voor hoog-dimensionale data
  • Makkelijk te gebruiken
  • Goede prestaties out-of-the-box
  • Beschikbaar in meerdere packages: ranger, randomForest
  • tidymodels-interface: rand_forest() (in package parsnip)
Machine Learning met boomgebaseerde modellen in R

Idee

  • Basisidee (zoals bagging): train bomen op bootstrap-steekproeven
  • Belangrijk verschil: willekeurige voorspellers per boom $\rightarrow$ willekeurig bos
Machine Learning met boomgebaseerde modellen in R

Intuïtie

schets random forest

Machine Learning met boomgebaseerde modellen in R

Coderen: specificeer een random-forestmodel

  • Functienaam: rand_forest()

Hyperparameters:

  • mtry: voorspellers per knoop, standaard:
    $$\left\lfloor\sqrt\text{num predictors}\right\rfloor$$
  • trees: aantal bomen in het bos
  • min_n: minimale knoopgrootte
rand_forest(

mtry = 4,
trees = 500,
min_n = 10) %>%
# Set the mode set_mode("classification") %>%
# Use engine ranger or randomForest set_engine("ranger")
Machine Learning met boomgebaseerde modellen in R

Coderen: specificeer een random-forestmodel

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

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

(classification)
Belangrijkste argumenten: trees = 100
Reken-engine: ranger
Machine Learning met boomgebaseerde modellen in R

Een forest trainen

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

Traintijd: 631 ms 
Ranger-resultaat

Aantal trees:                    100 
Steekproefgrootte:               9116 
Aantal onafhankelijke variabelen: 19 
Mtry:                            4 
Doel-knoopgrootte:               10
Machine Learning met boomgebaseerde modellen in R

Variabelebelang

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

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

vip-plot

Machine Learning met boomgebaseerde modellen in R

Laten we een random forest planten!

Machine Learning met boomgebaseerde modellen in R

Preparing Video For Download...