Evaluarea performanței modelului

Modelare cu tidymodels în R

David Svancer

Data Scientist

Intrare pentru funcțiile yardstick

Toate funcțiile yardstick necesită un tibble cu rezultatele modelului

  • Coloană cu valorile reale ale variabilei de ieșire
    • hwy pentru datele mpg
  • Coloană cu predicțiile modelului
    • .pred
mpg_test_results
# A tibble: 57 x 3
     hwy   cty .pred
   <int> <int> <dbl>
 1    29    18  25.0
 2    31    20  27.7
 3    27    18  25.0
 4    26    18  25.0
 5    25    16  22.3
# ... with 47 more rows
Modelare cu tidymodels în R

Eroarea pătratică medie (RMSE)

RMSE estimează eroarea medie de predicție

  • Calculat cu funcția rmse() din yardstick
    • Primește un tibble cu rezultatele modelului
    • truth este coloana cu valorile reale
    • estimate este coloana cu valorile prezise
mpg_test_results %>% 
  rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.93
Modelare cu tidymodels în R

Metrica R pătrat

Măsoară corelația la pătrat între valorile reale și cele prezise

  • Numit și coeficient de determinare
  • Variază între 0 și 1
    • Când toate predicțiile coincid cu valorile reale, R pătrat este 1
  • Calculat cu funcția rsq() din yardstick
mpg_test_results %>% 
  rsq(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rsq     standard       0.904
Modelare cu tidymodels în R

Grafice R pătrat

Vizualizarea metricii R pătrat

  • Predicțiile modelului față de valorile reale
  • Linia y = x
    • Reprezintă R pătrat = 1
  • Utilizată pentru identificarea problemelor de performanță
    • Tipare neliniare
    • Zone cu predicții slabe

Grafic R pătrat pentru modelul mpg

Modelare cu tidymodels în R

Reprezentarea grafică a R pătrat

Crearea graficelor R pătrat cu ggplot2

  • Tibble cu rezultatele modelului
  • geom_point()
  • geom_abline()
  • coord_obs_pred()
ggplot(mpg_test_results, aes(x = hwy, y = .pred)) +

geom_point() +
geom_abline(color = 'blue', linetype = 2) +
coord_obs_pred() + labs(title = 'R-Squared Plot', y = 'Predicted Highway MPG', x = 'Actual Highway MPG')

Grafic R pătrat pentru modelul mpg

Modelare cu tidymodels în R

Simplificarea antrenării modelului

Funcția last_fit()

  • Primește specificația modelului, formula și obiectul de împărțire a datelor
  • Realizează următoarele:
    1. Creează seturile de antrenare și testare
    2. Antrenează modelul pe datele de antrenare
    3. Calculează metrici și predicții pe datele de testare
    4. Returnează un obiect cu toate rezultatele
lm_last_fit <- lm_model %>% 
  last_fit(hwy ~ cty, 
           split = mpg_split)
Modelare cu tidymodels în R

Colectarea metricilor

Funcția collect_metrics()

  • Primește rezultatele funcției last_fit()
    • Returnează un tibble cu metrici de performanță calculate pe setul de testare
  • Metrici implicite pentru modele de regresie
    • RMSE
    • R pătrat
lm_last_fit %>% 
  collect_metrics()
# A tibble: 2 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard       1.93 
2 rsq     standard       0.904
Modelare cu tidymodels în R

Colectarea predicțiilor

Funcția collect_predictions()

  • Primește rezultatele funcției last_fit()
    • Returnează un tibble cu predicțiile pe setul de testare
    • Coloana cu predicții se numește .pred
    • Include variabila de ieșire și alți identificatori de rânduri
lm_last_fit %>% 
  collect_predictions()
# A tibble: 57 x 4
   id               .pred  .row   hwy
   <chr>            <dbl> <int> <int>
 1 train/test split  25.0     1    29
 2 train/test split  27.7     3    31
 3 train/test split  25.0     7    27
 4 train/test split  25.0     8    26
 5 train/test split  22.3     9    25
# ... with 47 more rows
Modelare cu tidymodels în R

Să evaluăm câteva modele!

Modelare cu tidymodels în R

Preparing Video For Download...