衡量交叉验证性能

Tidyverse 中的机器学习

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

性能评估

Tidyverse 中的机器学习

性能评估——真实值

Tidyverse 中的机器学习

性能评估——真实值

Tidyverse 中的机器学习

性能评估——真实值

Tidyverse 中的机器学习

性能评估——预测

Tidyverse 中的机器学习

性能评估——预测

Tidyverse 中的机器学习

性能评估——预测

Tidyverse 中的机器学习

性能评估

Tidyverse 中的机器学习

平均绝对误差(MAE)

Tidyverse 中的机器学习

性能评估的要素

1) 实际的 life_expectancy
2) 预测的 life_expectancy
3) 比较 1) 与 2) 的度量

Tidyverse 中的机器学习

1) 提取实际值

cv_prep_lm <- cv_models_lm %>% 
  mutate(validate_actual = map(validate, ~.x$life_expectancy))
Tidyverse 中的机器学习

predict() 与 map2() 函数

predict(model, data)
map2(.x = model, .y = data, .f = ~predict(.x, .y))
Tidyverse 中的机器学习

2) 准备预测值

cv_prep_lm <- cv_eval_lm %>% 
  mutate(validate_actual = map(validate, ~.x$life_expectancy),
         validate_predicted = map2(model, validate, ~predict(.x, .y)))
Tidyverse 中的机器学习

3) 计算 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
Tidyverse 中的机器学习

¡Vamos a practicar!

Tidyverse 中的机器学习

Preparing Video For Download...