Valutare le prestazioni del modello

Modellazione con tidymodels in R

David Svancer

Data Scientist

Input per le funzioni yardstick

Tutte le funzioni yardstick richiedono un tibble con risultati del modello

  • Colonna con i valori reali della variabile di output
    • hwy per i dati mpg
  • Colonna con le predizioni del modello
    • .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
Modellazione con tidymodels in R

Errore quadratico medio (RMSE)

L'RMSE stima l'errore medio di predizione

  • Calcolato con rmse() di yardstick
    • Prende un tibble con risultati del modello
    • truth è la colonna con i valori reali
    • estimate è la colonna con i valori previsti
mpg_test_results %>% 
  rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.93
Modellazione con tidymodels in R

Metrica R quadrato

Misura la correlazione al quadrato tra valori reali e previsti

  • Detto anche coefficiente di determinazione
  • Varia da 0 a 1
    • Se tutte le predizioni coincidono con i valori reali, R quadrato è 1
  • Calcolato con rsq() di 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
Modellazione con tidymodels in R

Grafici di R quadrato

Visualizzare l'R quadrato

  • Predizioni del modello vs. valori reali
  • La linea y = x
    • Indica R quadrato pari a 1
  • Utile per individuare problemi di performance
    • Andamenti non lineari
    • Aree con scarse predizioni

Grafico R quadrato del modello mpg

Modellazione con tidymodels in R

Tracciare i grafici R quadrato

Creare grafici R quadrato con ggplot2

  • Tibble con risultati del modello
  • 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')

Grafico R quadrato del modello mpg

Modellazione con tidymodels in R

Snellire il fitting del modello

La funzione last_fit()

  • Prende specifica del modello, formula e oggetto di split dei dati
  • Esegue:
    1. Crea train e test set
    2. Allena il modello sui dati di training
    3. Calcola metriche e predizioni sul test set
    4. Restituisce un oggetto con tutti i risultati
lm_last_fit <- lm_model %>% 
  last_fit(hwy ~ cty, 
           split = mpg_split)
Modellazione con tidymodels in R

Raccogliere le metriche

La funzione collect_metrics()

  • Usa i risultati di last_fit()
    • Restituisce un tibble con metriche sul test set
  • Metriche predefinite per regressione
    • RMSE
    • R quadrato
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
Modellazione con tidymodels in R

Raccogliere le predizioni

La funzione collect_predictions()

  • Usa i risultati di last_fit()
    • Restituisce un tibble con le predizioni del test set
    • La colonna delle predizioni si chiama .pred
    • Inclusi variabile di output e altri identificatori di riga
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
Modellazione con tidymodels in R

Valutiamo alcuni modelli!

Modellazione con tidymodels in R

Preparing Video For Download...