Mengevaluasi kinerja model

Pemodelan dengan tidymodels di R

David Svancer

Data Scientist

Input untuk fungsi yardstick

Semua fungsi yardstick membutuhkan tibble hasil model

  • Kolom nilai aktual variabel outcome
    • hwy untuk data mpg
  • Kolom prediksi model
    • .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
Pemodelan dengan tidymodels di R

Root mean squared error (RMSE)

RMSE memperkirakan rata-rata galat prediksi

  • Dihitung dengan rmse() dari yardstick
    • Menerima tibble hasil model
    • truth adalah kolom nilai outcome aktual
    • estimate adalah kolom nilai outcome terprediksi
mpg_test_results %>% 
  rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.93
Pemodelan dengan tidymodels di R

Metrik R squared

Mengukur kuadrat korelasi antara nilai aktual dan prediksi

  • Juga disebut koefisien determinasi
  • Rentang 0 sampai 1
    • Jika semua prediksi sama dengan nilai aktual, R squared = 1
  • Dihitung dengan rsq() dari 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
Pemodelan dengan tidymodels di R

Plot R squared

Visualisasi metrik R squared

  • Prediksi model vs nilai aktual
  • Garis y = x
    • Menunjukkan R squared = 1
  • Untuk mendeteksi potensi masalah kinerja model
    • Pola non-linear
    • Area dengan prediksi buruk

Plot R squared model mpg

Pemodelan dengan tidymodels di R

Memplot R squared

Membuat plot R squared dengan ggplot2

  • Tibble hasil model
  • 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')

Plot R squared model mpg

Pemodelan dengan tidymodels di R

Mempermudah pelatihan model

Fungsi last_fit()

  • Menerima spesifikasi model, formula, dan objek split data
  • Melakukan:
    1. Membuat data latih dan uji
    2. Melatih model pada data latih
    3. Menghitung metrik dan prediksi pada data uji
    4. Mengembalikan objek berisi semua hasil
lm_last_fit <- lm_model %>% 
  last_fit(hwy ~ cty, 
           split = mpg_split)
Pemodelan dengan tidymodels di R

Mengumpulkan metrik

Fungsi collect_metrics()

  • Menerima hasil last_fit()
    • Mengembalikan tibble metrik kinerja pada data uji
  • Metrik default untuk regresi
    • 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
Pemodelan dengan tidymodels di R

Mengumpulkan prediksi

Fungsi collect_predictions()

  • Menerima hasil last_fit()
    • Mengembalikan tibble prediksi pada data uji
    • Kolom prediksi bernama .pred
    • Termasuk variabel outcome dan kolom penanda baris lainnya
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
Pemodelan dengan tidymodels di R

Mari evaluasi beberapa model!

Pemodelan dengan tidymodels di R

Preparing Video For Download...