Welkom bij de cursus!

Machine Learning met boomgebaseerde modellen in R

Sandro Raabe

Data Scientist

Cursusoverzicht

 

  • Hoofdstuk 1: Classificatiebomen
  • Hoofdstuk 2: Regressiebomen, cross-validatie, bias-variantie
  • Hoofdstuk 3: Hyperparametertuning, bagging, random forests
  • Hoofdstuk 4: Boosted bomen
Machine Learning met boomgebaseerde modellen in R

Beslisbomen zijn flowcharts

animal_flowchart

1 https://aca.edu.au/resources/decision-trees-classifying-animals/decision-trees.pdf
Machine Learning met boomgebaseerde modellen in R

Voordelen van boommodellen

  • Makkelijk uit te leggen en te snappen
  • Leggen niet-lineaire relaties vast
  • Geen normalisatie of standaardisatie nodig voor numerieke features
  • Geen dummy-indicatorvariabelen nodig
  • Robuust tegen outliers
  • Snel voor grote datasets
Machine Learning met boomgebaseerde modellen in R

Nadelen van boommodellen

  • Moeilijk te interpreteren als ze groot, diep of geënsembled zijn
  • Hoge variantie; complexe bomen overfitten snel
Machine Learning met boomgebaseerde modellen in R

tidymodels_screenshot

Machine Learning met boomgebaseerde modellen in R

De tidymodels-package

library(tidymodels)
-- Attaching packages -------------------- tidymodels 0.1.4 --
v parsnip   0.2.1      v rsample   0.1.1 
v dplyr     1.0.9      v tibble    3.1.7 
v yardstick 0.0.9      v tune      0.1.6
Machine Learning met boomgebaseerde modellen in R

Maak een beslisboom

Specificatie / functioneel ontwerp

 1. Kies een modelklasse

library(tidymodels)

decision_tree()
Decision Tree Model Specification (unknown)
Machine Learning met boomgebaseerde modellen in R

Maak een beslisboom

 2. Stel de engine in die je model aanstuurt

library(tidymodels)

decision_tree() %>% 
    set_engine("rpart")
Decision Tree Model Specification (unknown)

Computational engine: rpart
Machine Learning met boomgebaseerde modellen in R

Maak een beslisboom

 3. Stel de modus in (classificatie of regressie)

library(tidymodels)

decision_tree() %>% 
     set_engine("rpart") %>% 
     set_mode("classification")
Decision Tree Model Specification (classification)

Computational engine: rpart
Machine Learning met boomgebaseerde modellen in R

Van modelspecificatie naar echt model

Specificatie is een skelet en moet getraind worden op data
library(tidymodels)
tree_spec <- decision_tree() %>% 
               set_engine("rpart") %>% 
               set_mode("classification")
# Een modelspecificatie wordt gefit met een formule op trainingsdata
tree_spec %>%           
  fit(formula = outcome ~ age + bmi,  
      data = diabetes)
parsnip model object
Fit time: 19 ms 
n = 652
Machine Learning met boomgebaseerde modellen in R

Laten we een model bouwen!

Machine Learning met boomgebaseerde modellen in R

Preparing Video For Download...