Modélisation avec tidymodels en R
David Svancer
Data Scientist
Carte thermique avec autoplot()
autoplot()type à 'heatmap'
conf_mat(leads_results, truth = purchased, estimate = .pred_class) %>%autoplot(type = 'heatmap')

Mosaïque avec autoplot()
type à 'mosaic'
conf_mat(leads_results,
truth = purchased,
estimate = .pred_class) %>%
autoplot(type = 'mosaic')

Mosaïque avec autoplot()
type à 'mosaic'conf_mat(leads_results,
truth = purchased,
estimate = .pred_class) %>%
autoplot(type = 'mosaic')

Le seuil de probabilité par défaut en classification binaire est 0,5
leads_results
.pred_yes est supérieure ou égale à 0,5, alors .pred_class est défini à 'yes' par la fonction predict() de tidymodelsleads_results
# A tibble: 332 x 4
purchased .pred_class .pred_yes .pred_no
<fct> <fct> <dbl> <dbl>
1 no no 0.134 0.866
2 yes yes 0.729 0.271
3 no no 0.133 0.867
4 no no 0.0916 0.908
5 yes yes 0.598 0.402
6 no no 0.128 0.872
7 yes no 0.112 0.888
8 no no 0.169 0.831
9 no no 0.158 0.842
10 yes yes 0.520 0.480
# ... with 322 more rows
Comment un modèle de classification se comporte-t-il selon divers seuils ?
.pred_yes des résultats du jeu de test
| seuil | spécificité | sensibilité |
|---|---|---|
| 0 | 0 | 1 |
| 0.11 | 0.01 | 0.98 |
| 0.15 | 0.05 | 0.97 |
| ... | ... | ... |
| 0.84 | 0.89 | 0.08 |
| 0.87 | 0.94 | 0.02 |
| 0.91 | 0.99 | 0 |
| 1 | 1 | 0 |
Courbe ROC (receiver operating characteristic)
Courbe ROC (receiver operating characteristic)

La performance optimale se situe au point (0, 1)
La performance optimale se situe au point (0, 1)
Faible performance

L'aire sous la courbe ROC (ROC AUC) résume en un seul nombre l'information de la courbe ROC d'un modèle de classification
Interprétation utile comme note de performance

La fonction roc_curve()
truth avec les catégories réelles de l'issue.pred_yes dans le tibble leads_results
.pred_yesleads_results %>%
roc_curve(truth = purchased, .pred_yes)
# A tibble: 331 x 3
.threshold specificity sensitivity
<dbl> <dbl> <dbl>
1 -Inf 0 1
2 0.0871 0 1
3 0.0888 0.00472 1
4 0.0893 0.00943 1
5 0.0896 0.0142 1
6 0.0902 0.0142 0.992
7 0.0916 0.0142 0.983
8 0.0944 0.0189 0.983
# ... with 323 more rows
Transmettre le résultat de roc_curve() à autoplot() produit un tracé de courbe ROC
leads_results %>%
roc_curve(truth = purchased, .pred_yes) %>%
autoplot()

La fonction roc_auc() de yardstick calcule la ROC AUC
truthroc_auc(leads_results,
truth = purchased,
.pred_yes)
# A tibble: 1 x 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 roc_auc binary 0.763
Modélisation avec tidymodels en R