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
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
SDMToolstidak lagi dapat diunduh dari CRAN. Pada komputer Anda sendiri, instal melaluiremotes::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