Ocena wydajności modelu

Modelowanie z tidymodels w R

David Svancer

Data Scientist

Dane wejściowe funkcji yardstick

Wszystkie funkcje yardstick wymagają tibble z wynikami modelu

  • Kolumna z prawdziwymi wartościami zmiennej wynikowej
    • hwy dla danych mpg
  • Kolumna z predykcjami 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
Modelowanie z tidymodels w R

Pierwiastek średniego błędu kwadratowego (RMSE)

RMSE szacuje średni błąd predykcji

  • Obliczany funkcją rmse() z pakietu yardstick
    • Przyjmuje tibble z wynikami modelu
    • truth to kolumna z prawdziwymi wartościami wynikowymi
    • estimate to kolumna z przewidywanymi wartościami wynikowymi
mpg_test_results %>% 
  rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.93
Modelowanie z tidymodels w R

Metryka R kwadrat

Mierzy kwadrat korelacji między wartościami rzeczywistymi a przewidywanymi

  • Zwany także współczynnikiem determinacji
  • Przyjmuje wartości od 0 do 1
    • Gdy wszystkie predykcje równają się prawdziwym wartościom, R kwadrat = 1
  • Obliczany funkcją rsq() z pakietu 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
Modelowanie z tidymodels w R

Wykresy R kwadrat

Wizualizacja metryki R kwadrat

  • Predykcje modelu vs. rzeczywiste wyniki
  • Prosta y = x
    • Reprezentuje R kwadrat = 1
  • Pomaga wykryć problemy z wydajnością modelu
    • Wzorce nieliniowe
    • Obszary słabych predykcji

Wykres R kwadrat modelu mpg

Modelowanie z tidymodels w R

Rysowanie wykresów R kwadrat

Tworzenie wykresów R kwadrat z ggplot2

  • Tibble z wynikami 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')

Wykres R kwadrat modelu mpg

Modelowanie z tidymodels w R

Uproszczone dopasowanie modelu

Funkcja last_fit()

  • Przyjmuje specyfikację modelu, formułę i obiekt podziału danych
  • Wykonuje następujące kroki:
    1. Tworzy zbiory treningowy i testowy
    2. Dopasowuje model do danych treningowych
    3. Oblicza metryki i predykcje na danych testowych
    4. Zwraca obiekt ze wszystkimi wynikami
lm_last_fit <- lm_model %>% 
  last_fit(hwy ~ cty, 
           split = mpg_split)
Modelowanie z tidymodels w R

Zbieranie metryk

Funkcja collect_metrics()

  • Przyjmuje wyniki last_fit()
    • Zwraca tibble z metrykami wydajności na zbiorze testowym
  • Domyślne metryki modelu regresji
    • RMSE
    • R kwadrat
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
Modelowanie z tidymodels w R

Zbieranie predykcji

Funkcja collect_predictions()

  • Przyjmuje wyniki last_fit()
    • Zwraca tibble z predykcjami na zbiorze testowym
    • Kolumna predykcji nosi nazwę .pred
    • Zawiera zmienną wynikową i inne kolumny identyfikujące wiersze
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
Modelowanie z tidymodels w R

Oceńmy kilka modeli!

Modelowanie z tidymodels w R

Preparing Video For Download...