Las losowy

Uczenie maszynowe z modelami drzewiastymi w R

Sandro Raabe

Data Scientist

Las losowy

  • Odpowiedni do danych wysokowymiarowych
  • Łatwy w użyciu
  • Dobra wydajność bez dodatkowego dostrajania
  • Dostępny w różnych pakietach: ranger, randomForest
  • Interfejs tidymodels: rand_forest() (pakiet parsnip)
Uczenie maszynowe z modelami drzewiastymi w R

Idea

  • Podstawowa idea (jak w baggingu): drzewa trenowane na próbkach bootstrap
  • Kluczowa różnica: losowe predyktory w każdym drzewie $\rightarrow$ losowy las
Uczenie maszynowe z modelami drzewiastymi w R

Intuicja

Schemat lasu losowego

Uczenie maszynowe z modelami drzewiastymi w R

Kod: Specyfikacja modelu lasu losowego

  • Nazwa funkcji: rand_forest()

Hiperparametry:

  • mtry: predyktory rozważane w każdym węźle, domyślnie:
    $$\left\lfloor\sqrt\text{num predictors}\right\rfloor$$
  • trees: liczba drzew w lesie
  • min_n: minimalna liczba obserwacji w węźle
rand_forest(

mtry = 4,
trees = 500,
min_n = 10) %>%
# Set the mode set_mode("classification") %>%
# Use engine ranger or randomForest set_engine("ranger")
Uczenie maszynowe z modelami drzewiastymi w R

Kod: Specyfikacja modelu lasu losowego

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

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

(classification)
Main Arguments: trees = 100
Computational engine: ranger
Uczenie maszynowe z modelami drzewiastymi w R

Trenowanie lasu

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
Uczenie maszynowe z modelami drzewiastymi w R

Ważność zmiennych

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

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

Wykres ważności zmiennych

Uczenie maszynowe z modelami drzewiastymi w R

Posadźmy las losowy!

Uczenie maszynowe z modelami drzewiastymi w R

Preparing Video For Download...