MulaiMulai sekarang secara gratis

Menilai kecocokan model out-of-sample

Sekarang Anda tahu bahwa lebih masuk akal melihat kecocokan model out-of-sample dibandingkan in-sample. Pada latihan ini, Anda akan menyusun ukuran akurasi out-of-sample.

Namun sebelumnya, lakukan beberapa langkah persiapan. Ambil kembali defaultData. logitModelNew sudah dimuat di environment Anda.

Perlu diingat bahwa untuk analisis yang lengkap, Anda harus selalu membandingkan berbagai kandidat model juga (dan terutama) menggunakan data out-of-sample.

Akurasi in-sample — menggunakan ambang optimal 0,3 — adalah 0.7922901. Pastikan Anda memahami apakah terjadi overfitting.

Latihan ini adalah bagian dari kursus

Machine Learning untuk Analitik Pemasaran dengan R

Lihat Kursus

Petunjuk latihan

  • Pertama, bagi himpunan data secara acak menjadi himpunan latih dan uji. Himpunan latih harus memuat 2/3 dari keseluruhan data.

  • Lalu, jalankan model dengan cepat dan beri nama logitTrainNew. Gunakan rumus yang diberikan.

  • Buat prediksi pada himpunan uji lalu hitung akurasi out-of-sample dengan bantuan confusion matrix. Perhatikan bahwa SDMTools tidak lagi dapat diunduh dari CRAN. Pada komputer Anda sendiri, instal melalui remotes::install_version("SDMTools", "1.1-221.2").

  • Bandingkan akurasi out-of-sample dengan nilai in-sample yang diberikan di atas.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Split data in train and test set
set.seed(534381) 
defaultData$isTrain <- rbinom(nrow(defaultData), 1, 0.66)
train <- subset(defaultData, ___ == 1)
test <- subset(defaultData, ___  == 0)

logitTrainNew <- glm(formulaLogit, family = binomial, data = ___) # Modeling
test$predNew <- predict(logitTrainNew, type = "response", newdata = ___) # Predictions

# Out-of-sample confusion matrix and accuracy
confMatrixModelNew <- confusion.matrix(___, ___, threshold = 0.3) 
sum(diag(confMatrixModelNew)) / sum(confMatrixModelNew) # Compare this value to the in-sample accuracy
Edit dan Jalankan Kode