Undersampling pada himpunan data latih
Dalam video, Anda melihat bahwa untuk mengatasi masalah data yang tidak seimbang, Anda dapat menggunakan undersampling atau oversampling. Himpunan data latih telah di-undersample untuk Anda, sehingga 1/3 dari himpunan data latih terdiri atas default, dan 2/3 non-default. Himpunan data hasilnya tersedia di ruang kerja Anda dengan nama undersampled_training_set, dan berisi lebih sedikit observasi (6570 dibandingkan 19394). Pada latihan ini, Anda akan membuat pohon keputusan menggunakan himpunan data yang di-undersample tersebut.
Anda akan melihat bahwa pohon pada latihan ini dan berikutnya sangat besar, hingga sulit untuk dibaca. Jangan khawatir, kami akan menunjukkan cara membuatnya lebih mudah dikelola pada video berikutnya!
Latihan ini adalah bagian dari kursus
Pemodelan Risiko Kredit di R
Petunjuk latihan
- Paket rpart telah diinstal untuk Anda. Muat paket tersebut ke ruang kerja Anda.
- Ubah kode yang disediakan sehingga pohon keputusan dibangun menggunakan himpunan data latih yang di-undersample alih-alih
training_set. Selain itu, tambahkan argumencontrol = rpart.control(cp = 0.001).cp, yaitu complexity parameter, adalah nilai ambang untuk penurunan keseluruhan ketidakcocokan (lack of fit) pada setiap pemisahan (split). Jikacptidak terpenuhi, pemisahan lebih lanjut tidak akan dilakukan. Nilai bawaancpadalah 0.01, tetapi untuk masalah yang kompleks, disarankan untuk melonggarkancp. - Plot pohon keputusan menggunakan fungsi plot dan nama objek pohon. Tambahkan argumen kedua
uniform = TRUEagar cabangnya berukuran sama. - Perintah sebelumnya hanya membuat pohon dengan beberapa simpul dan sisi, tetapi tanpa teks (atau "label") di atasnya. Gunakan fungsi
text()dengan satu-satunya argumentree_undersampleuntuk menambahkan label.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Load package rpart in your workspace.
# Change the code provided in the video such that a decision tree is constructed using the undersampled training set. Include rpart.control to relax the complexity parameter to 0.001.
tree_undersample <- rpart(loan_status ~ ., method = "class",
data = training_set)
# Plot the decision tree
# Add labels to the decision tree