Membandingkan fungsi taut untuk sebuah cut-off tertentu
Pada latihan terakhir ini, Anda akan memasang model menggunakan masing-masing dari tiga fungsi taut (logit, probit, dan cloglog), membuat prediksi untuk himpunan uji, mengklasifikasikan prediksi ke grup yang sesuai (gagal bayar versus tidak gagal bayar) untuk sebuah nilai cut-off tertentu, membuat confusion matrix, serta menghitung akurasi dan sensitivitas untuk masing-masing model berdasarkan nilai cut-off tersebut! Wah, sejauh ini Anda telah banyak belajar. Terakhir, Anda akan mencoba mengidentifikasi model yang berkinerja terbaik dari sisi akurasi untuk nilai cut-off tersebut!
Penting untuk diketahui bahwa perbedaan antar model umumnya akan sangat kecil, dan sekali lagi, hasilnya akan bergantung pada nilai cut-off yang dipilih. Hasil aktual (gagal bayar versus tidak gagal bayar) tersimpan dalam true_val di konsol.
Latihan ini adalah bagian dari kursus
Pemodelan Risiko Kredit di R
Petunjuk latihan
- Pasang tiga model regresi logistik menggunakan link
logit,probit, dancloglog. Sebagian kode telah diberikan. Gunakanage,emp_cat,ir_cat, danloan_amntsebagai prediktor. - Buat prediksi untuk semua model menggunakan
test_set. - Gunakan nilai cut-off sebesar 14% untuk membuat prediksi bagi tiap model, agar kinerjanya dapat dievaluasi.
- Buat confusion matrix untuk ketiga model.
- Terakhir, hitung akurasi klasifikasi untuk ketiga model.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Fit the logit, probit and cloglog-link logistic regression models
log_model_logit <- glm(loan_status ~ age + emp_cat + ir_cat + loan_amnt,
family = binomial(link = logit), data = training_set)
log_model_probit <-
log_model_cloglog <-
# Make predictions for all models using the test set
predictions_logit <- predict(log_model_logit, newdata = test_set, type = "response")
predictions_probit <-
predictions_cloglog <-
# Use a cut-off of 14% to make binary predictions-vectors
cutoff <- 0.14
class_pred_logit <- ifelse(predictions_logit > cutoff, 1, 0)
class_pred_probit <-
class_pred_cloglog <-
# Make a confusion matrix for the three models
tab_class_logit <- table(true_val,class_pred_logit)
tab_class_probit <-
tab_class_cloglog <-
# Compute the classification accuracy for all three models
acc_logit <- sum(diag(tab_class_logit)) / nrow(test_set)
acc_probit <-
acc_cloglog <-