Random forest

Maskininlärning med trädbaserade modeller i R

Sandro Raabe

Data Scientist

Random forest

  • Passar för högdimensionell data
  • Enkel att använda
  • Bra prestanda direkt ur lådan
  • Implementerad i flera paket: ranger, randomForest
  • tidymodels-gränssnitt till dessa paket: rand_forest() (ingår i paketet parsnip)
Maskininlärning med trädbaserade modeller i R

Idé

  • Grundidé (identisk med bagging): träna träd på bootstrap-urval
  • Avgörande skillnad: slumpmässiga prediktorer mellan träden $\rightarrow$ random forest
Maskininlärning med trädbaserade modeller i R

Intuition

skiss över random forest

Maskininlärning med trädbaserade modeller i R

Kod: Specificera en random forest-modell

  • Funktionsnamn: rand_forest()

Hyperparametrar:

  • mtry: prediktorer per nod, standard:
    $$\left\lfloor\sqrt\text{num predictors}\right\rfloor$$
  • trees: antal träd i skogen
  • min_n: minsta tillåtna nodstorlek
rand_forest(

mtry = 4,
trees = 500,
min_n = 10) %>%
# Set the mode set_mode("classification") %>%
# Use engine ranger or randomForest set_engine("ranger")
Maskininlärning med trädbaserade modeller i R

Kod: Specificera en random forest-modell

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

set_mode("classification") %>%
set_engine("ranger")
Random Forest Model Specification

(classification)
Main Arguments: trees = 100
Computational engine: ranger
Maskininlärning med trädbaserade modeller i R

Träna en skog

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

Fit time:  631ms 
Ranger result

Number of trees:                  100 
Sample size:                      9116 
Number of independent variables:  19 
Mtry:                             4 
Target node size:                 10
Maskininlärning med trädbaserade modeller i R

Variabelviktighet

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

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

vip-diagram

Maskininlärning med trädbaserade modeller i R

Nu kör vi en övning!

Maskininlärning med trädbaserade modeller i R

Preparing Video For Download...