Mesurer la performance en validation croisée

Machine Learning dans le tidyverse

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

Mesurer la performance

Machine Learning dans le tidyverse

Mesurer la performance - Vérité

Machine Learning dans le tidyverse

Mesurer la performance - Vérité

Machine Learning dans le tidyverse

Mesurer la performance - Vérité

Machine Learning dans le tidyverse

Mesurer la performance - Prédiction

Machine Learning dans le tidyverse

Mesurer la performance - Prédiction

Machine Learning dans le tidyverse

Mesurer la performance - Prédiction

Machine Learning dans le tidyverse

Mesurer la performance

Machine Learning dans le tidyverse

Erreur absolue moyenne

Machine Learning dans le tidyverse

Ingrédients pour mesurer la performance

1) Valeurs réelles de life_expectancy
2) Valeurs prédites de life_expectancy
3) Une métrique pour comparer 1) et 2)

Machine Learning dans le tidyverse

1) Extraire les valeurs réelles

cv_prep_lm <- cv_models_lm %>% 
  mutate(validate_actual = map(validate, ~.x$life_expectancy))
Machine Learning dans le tidyverse

Les fonctions predict() et map2()

predict(model, data)
map2(.x = model, .y = data, .f = ~predict(.x, .y))
Machine Learning dans le tidyverse

2) Préparer les valeurs prédites

cv_prep_lm <- cv_eval_lm %>% 
  mutate(validate_actual = map(validate, ~.x$life_expectancy),
         validate_predicted = map2(model, validate, ~predict(.x, .y)))
Machine Learning dans le tidyverse

3) Calculer le MAE

library(Metrics)
cv_eval_lm <- cv_prep_lm %>% 
  mutate(validate_mae = map2_dbl(validate_actual, validate_predicted, 
                                ~mae(actual = .x, predicted = .y)))

cv_eval_lm
#  5-fold cross-validation 
# A tibble: 5 x 8
splits       id    train validate model validate_a. validate_p validate_mae
<S3: rsplit> Fold1 <tib. <tib.   <S3.   <dbl.       <dbl.       1.47
<S3: rsplit> Fold2 <tib. <tib.   <S3.   <dbl.       <dbl.       1.51
<S3: rsplit> Fold3 <tib. <tib.   <S3.   <dbl.       <dbl.       1.44
<S3: rsplit> Fold4 <tib. <tib.   <S3.   <dbl.       <dbl.       1.48
<S3: rsplit> Fold5 <tib. <tib.   <S3.   <dbl.       <dbl.       1.68
Machine Learning dans le tidyverse

Passons à la pratique !

Machine Learning dans le tidyverse

Preparing Video For Download...