Bienvenue dans le cours !

Machine Learning avec des modèles arborescents en R

Sandro Raabe

Data Scientist

Aperçu du cours

 

  • Chapitre 1 : Arbres de classification
  • Chapitre 2 : Arbres de régression, validation croisée, compromis biais-variance
  • Chapitre 3 : Réglage d'hyperparamètres, ensachage, forêts aléatoires
  • Chapitre 4 : Arbres améliorés (boosting)
Machine Learning avec des modèles arborescents en R

Les arbres de décision sont des organigrammes

organigramme_d'animaux

1 https://aca.edu.au/resources/decision-trees-classifying-animals/decision-trees.pdf
Machine Learning avec des modèles arborescents en R

Avantages des modèles à base d'arbres

  • Faciles à expliquer et à comprendre
  • Peuvent saisir des relations non linéaires
  • Aucune normalisation ou standardisation requise pour les variables numériques
  • Pas besoin de créer des variables indicatrices fictives
  • Robustes aux valeurs aberrantes
  • Rapides sur de grands ensembles de données
Machine Learning avec des modèles arborescents en R

Inconvénients des modèles à base d'arbres

  • Difficiles à interpréter s'ils sont grands, profonds ou en ensemble
  • Forte variance : les arbres complexes surajustent facilement
Machine Learning avec des modèles arborescents en R

capture_tidymodels

Machine Learning avec des modèles arborescents en R

Le paquet 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 avec des modèles arborescents en R

Créer un arbre de décision

Spécification / conception fonctionnelle

 1. Choisir une classe de modèle

library(tidymodels)

decision_tree()
Decision Tree Model Specification (unknown)
Machine Learning avec des modèles arborescents en R

Créer un arbre de décision

 2. Définir le moteur qui exécute votre modèle

library(tidymodels)

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

Computational engine: rpart
Machine Learning avec des modèles arborescents en R

Créer un arbre de décision

 3. Définir le mode (classification ou régression)

library(tidymodels)

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

Computational engine: rpart
Machine Learning avec des modèles arborescents en R

De la spécification au modèle entraîné

La spécification est un squelette ; elle doit être entraînée avec des données
library(tidymodels)
tree_spec <- decision_tree() %>% 
               set_engine("rpart") %>% 
               set_mode("classification")
# Une spécification de modèle est ajustée avec une formule et des données d'entraînement
tree_spec %>%           
  fit(formula = outcome ~ age + bmi,  
      data = diabetes)
parsnip model object
Fit time: 19 ms 
n = 652
Machine Learning avec des modèles arborescents en R

Créons un modèle !

Machine Learning avec des modèles arborescents en R

Preparing Video For Download...