Välkommen till kursen!

Maskininlärning med trädbaserade modeller i R

Sandro Raabe

Data Scientist

Kursöversikt

 

  • Kapitel 1: Klassificeringsträd
  • Kapitel 2: Regressionsträd, korsvalidering, bias-varians-avvägning
  • Kapitel 3: Hyperparameterjustering, bagging, random forests
  • Kapitel 4: Boostade träd
Maskininlärning med trädbaserade modeller i R

Beslutsträd är flödesscheman

Flödesschema för djurklassificering

1 https://aca.edu.au/resources/decision-trees-classifying-animals/decision-trees.pdf
Maskininlärning med trädbaserade modeller i R

Fördelar med trädbaserade modeller

  • Lätta att förklara och förstå
  • Kan fånga icke-linjära samband
  • Kräver ingen normalisering eller standardisering av numeriska särdrag
  • Ingen need att skapa dummyvariabler
  • Robusta mot extremvärden
  • Snabba för stora datamängder
Maskininlärning med trädbaserade modeller i R

Nackdelar med trädbaserade modeller

  • Svåra att tolka om de är stora, djupa eller ensemblade
  • Hög varians – komplexa träd är benägna att överanpassa
Maskininlärning med trädbaserade modeller i R

Skärmbild av tidymodels

Maskininlärning med trädbaserade modeller i R

Paketet tidymodels

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
Maskininlärning med trädbaserade modeller i R

Skapa ett beslutsträd

Specifikation / funktionell design

 1. Välj en modellklass

library(tidymodels)

decision_tree()
Decision Tree Model Specification (unknown)
Maskininlärning med trädbaserade modeller i R

Skapa ett beslutsträd

 2. Ange motorn som driver din modell

library(tidymodels)

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

Computational engine: rpart
Maskininlärning med trädbaserade modeller i R

Skapa ett beslutsträd

 3. Ange läget (klassificering eller regression)

library(tidymodels)

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

Computational engine: rpart
Maskininlärning med trädbaserade modeller i R

Från modellspecifikation till faktisk modell

Specifikationen är ett skelett och behöver träningsdata
library(tidymodels)
tree_spec <- decision_tree() %>% 
               set_engine("rpart") %>% 
               set_mode("classification")
# A model specification is fit using a formula to training data
tree_spec %>%           
  fit(formula = outcome ~ age + bmi,  
      data = diabetes)
parsnip model object
Fit time: 19 ms 
n = 652
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...