Hodnocení výkonu modelu

Modeling with tidymodels in R

David Svancer

Data Scientist

Vstup funkcí yardstick

Všechny funkce yardstick vyžadují tibble s výsledky modelu

  • Sloupec se skutečnými hodnotami výsledné proměnné
    • hwy pro data mpg
  • Sloupec s předpověďmi modelu
    • .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
Modeling with tidymodels in R

Střední kvadratická chyba (RMSE)

RMSE odhaduje průměrnou chybu předpovědí

  • Počítá se funkcí rmse() z balíčku yardstick
    • Přijímá tibble s výsledky modelu
    • truth je sloupec se skutečnými hodnotami
    • estimate je sloupec s předpovězenými hodnotami
mpg_test_results %>% 
  rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.93
Modeling with tidymodels in R

Metrika R squared

Měří kvadrát korelace mezi skutečnými a předpovězenými hodnotami

  • Také nazýváno koeficient determinace
  • Nabývá hodnot od 0 do 1
    • Pokud se předpovědi shodují se skutečnými hodnotami, R squared = 1
  • Počítá se funkcí rsq() z balíčku 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
Modeling with tidymodels in R

Grafy R squared

Vizualizace metriky R squared

  • Předpovědi modelu vs. skutečné výsledky
  • Přímka y = x
    • Představuje R squared = 1
  • Pomáhá odhalit problémy s výkonem modelu
    • Nelineární vzory
    • Oblasti s nepřesnými předpověďmi

Graf R squared pro model Mpg

Modeling with tidymodels in R

Vykreslení grafů R squared

Tvorba grafů R squared pomocí ggplot2

  • Tibble s výsledky modelu
  • 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')

Graf R squared pro model Mpg

Modeling with tidymodels in R

Zjednodušení trénování modelu

Funkce last_fit()

  • Přijímá specifikaci modelu, vzorec a objekt rozdělení dat
  • Provádí následující kroky:
    1. Vytvoří trénovací a testovací datové sady
    2. Natrénuje model na trénovacích datech
    3. Vypočítá metriky a předpovědi na testovacích datech
    4. Vrátí objekt se všemi výsledky
lm_last_fit <- lm_model %>% 
  last_fit(hwy ~ cty, 
           split = mpg_split)
Modeling with tidymodels in R

Získání metrik

Funkce collect_metrics()

  • Přijímá výsledky funkce last_fit()
    • Vrací tibble s metrikami výkonu na testovací sadě
  • Výchozí metriky regresního modelu
    • RMSE
    • R squared
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
Modeling with tidymodels in R

Získání předpovědí

Funkce collect_predictions()

  • Přijímá výsledky funkce last_fit()
    • Vrací tibble s předpověďmi na testovací sadě
    • Sloupec předpovědí je pojmenován .pred
    • Zahrnuje výslednou proměnnou a identifikátory řádků
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
Modeling with tidymodels in R

Pojďme vyhodnotit některé modely!

Modeling with tidymodels in R

Preparing Video For Download...