Cross validation
Seperti yang Anda lihat, cross validation adalah metode cerdas untuk menghindari overfitting. Pada latihan ini, Anda akan menghitung akurasi hasil cross validation.
Anda bisa langsung mulai; data defaultData dan model yang diperlukan sudah tersedia. Anda dapat menemukan fungsi akurasi pada beberapa baris pertama kode. Ini adalah fungsi biaya Anda. Biarkan apa adanya dan gunakan untuk pemanggilan cv.glm() di bawah. Silakan coba!
Latihan ini adalah bagian dari kursus
Machine Learning untuk Analitik Pemasaran dengan R
Petunjuk latihan
Gunakan cross validation 6-fold dan hitung akurasi untuk model
logitModelNew. Fungsi yang Anda perlukan adalahcv.glm()dari paketboot. Akurasi hasil cross validation disimpan pada posisi pertama elemendeltadari hasilnya.Bandingkan akurasi cross validation Anda dengan akurasi validasi in-sample. Ingat, nilainya adalah
0.7922901.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
library(boot)
# Accuracy function
costAcc <- function(r, pi = 0) {
cm <- confusion.matrix(r, pi, threshold = 0.3)
acc <- sum(diag(cm)) / sum(cm)
return(acc)
}
# Cross validated accuracy for logitModelNew
set.seed(534381)
cv.glm(___, ___, cost = ___, K = ___)$delta[1]