Willkommen im Kurs!

Maschinelles Lernen mit baumbasierten Modellen in R

Sandro Raabe

Data Scientist

Kursüberblick

 

  • Kapitel 1: Klassifikationsbäume
  • Kapitel 2: Regressionsbäume, Cross-Validation, Bias-Variance-Trade-off
  • Kapitel 3: Hyperparameter-Tuning, Bagging, Random Forests
  • Kapitel 4: Gradient Boosted Trees
Maschinelles Lernen mit baumbasierten Modellen in R

Entscheidungsbäume sind Flussdiagramme

animal_flowchart

1 https://aca.edu.au/resources/decision-trees-classifying-animals/decision-trees.pdf
Maschinelles Lernen mit baumbasierten Modellen in R

Vorteile baumbasierter Modelle

  • Einfach zu erklären und zu verstehen
  • Erfassen nichtlineare Zusammenhänge
  • Keine Normalisierung oder Standardisierung numerischer Merkmale nötig
  • Keine Dummy-Variablen erforderlich
  • Robust gegenüber Ausreißern
  • Schnell bei großen Datensätzen
Maschinelles Lernen mit baumbasierten Modellen in R

Nachteile baumbasierter Modelle

  • Schwer zu interpretieren, wenn groß, tief oder als Ensemble
  • Hohe Varianz: komplexe Bäume neigen zu Overfitting
Maschinelles Lernen mit baumbasierten Modellen in R

tidymodels_screenshot

Maschinelles Lernen mit baumbasierten Modellen in R

Das Paket 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
Maschinelles Lernen mit baumbasierten Modellen in R

Einen Entscheidungsbaum erstellen

Spezifikation / funktionales Design

 1. Wähle eine Modellklasse

library(tidymodels)

decision_tree()
Decision Tree Model Specification (unknown)
Maschinelles Lernen mit baumbasierten Modellen in R

Einen Entscheidungsbaum erstellen

 2. Lege die Engine fest, die dein Modell ausführt

library(tidymodels)

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

Computational engine: rpart
Maschinelles Lernen mit baumbasierten Modellen in R

Einen Entscheidungsbaum erstellen

 3. Lege den Modus fest (Klassifikation oder Regression)

library(tidymodels)

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

Computational engine: rpart
Maschinelles Lernen mit baumbasierten Modellen in R

Von der Modellspezifikation zum echten Modell

Die Spezifikation ist ein Gerüst und braucht Trainingsdaten
library(tidymodels)
tree_spec <- decision_tree() %>% 
               set_engine("rpart") %>% 
               set_mode("classification")
# Eine Modellspezifikation wird mit einer Formel auf Trainingsdaten gefittet
tree_spec %>%           
  fit(formula = outcome ~ age + bmi,  
      data = diabetes)
parsnip model object
Fit time: 19 ms 
n = 652
Maschinelles Lernen mit baumbasierten Modellen in R

Lass uns ein Modell bauen!

Maschinelles Lernen mit baumbasierten Modellen in R

Preparing Video For Download...