Benvenutə al corso!

Machine Learning con modelli ad albero in R

Sandro Raabe

Data Scientist

Panoramica del corso

  • Capitolo 1: Alberi di classificazione
  • Capitolo 2: Alberi di regressione, cross-validation, bias–variance trade-off
  • Capitolo 3: Tuning degli iperparametri, bagging, random forest
  • Capitolo 4: Boosted tree
Machine Learning con modelli ad albero in R

Gli alberi decisionali sono flowchart

diagramma_animali

1 https://aca.edu.au/resources/decision-trees-classifying-animals/decision-trees.pdf
Machine Learning con modelli ad albero in R

Vantaggi dei modelli ad albero

  • Facili da spiegare e capire
  • Catturano relazioni non lineari
  • Non richiedono normalizzazione o standardizzazione delle variabili numeriche
  • Niente variabili dummy
  • Robusti agli outlier
  • Veloci su dataset grandi
Machine Learning con modelli ad albero in R

Svantaggi dei modelli ad albero

  • Difficili da interpretare se grandi, profondi o in ensemble
  • Alta varianza: gli alberi complessi overfittano facilmente
Machine Learning con modelli ad albero in R

screenshot_tidymodels

Machine Learning con modelli ad albero in R

Il pacchetto 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
Machine Learning con modelli ad albero in R

Crea un albero decisionale

Specifica / progettazione funzionale
  1. Scegli una classe di modello
library(tidymodels)

decision_tree()
Decision Tree Model Specification (unknown)
Machine Learning con modelli ad albero in R

Crea un albero decisionale

  1. Imposta il motore che esegue il modello
library(tidymodels)

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

Computational engine: rpart
Machine Learning con modelli ad albero in R

Crea un albero decisionale

  1. Imposta la modalità (classification o regression)
library(tidymodels)

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

Computational engine: rpart
Machine Learning con modelli ad albero in R

Da specifica a modello reale

La specifica è uno scheletro: serve addestrarla con dati
library(tidymodels)
tree_spec <- decision_tree() %>% 
               set_engine("rpart") %>% 
               set_mode("classification")
# Una specifica di modello si adatta con una formula ai dati di training
tree_spec %>%           
  fit(formula = outcome ~ age + bmi,  
      data = diabetes)
parsnip model object
Fit time: 19 ms 
n = 652
Machine Learning con modelli ad albero in R

Costruiamo un modello!

Machine Learning con modelli ad albero in R

Preparing Video For Download...