Memangkas tree dengan probabilitas prior yang diubah
Dalam video, Anda telah mempelajari bahwa pemangkasan tree diperlukan untuk menghindari overfitting. Ada beberapa tree yang besar pada latihan sebelumnya dan sekarang Anda akan mempraktikkan apa yang telah dipelajari, yaitu memangkas tree yang sebelumnya dibuat dengan probabilitas prior yang telah diubah. Paket rpart sudah dimuat di workspace Anda.
Pertama, Anda akan menetapkan seed agar hasil dapat direproduksi sebagaimana disebutkan dalam video, karena Anda akan meninjau hasil galat tervalidasi-silang. Hasil melibatkan pengacakan dan dapat sedikit berbeda jika fungsi dijalankan kembali dengan seed yang berbeda.
Dalam latihan ini Anda akan mempelajari cara mengidentifikasi parameter kompleksitas (CP) yang meminimalkan hasil galat tervalidasi-silang, lalu memangkas tree Anda berdasarkan nilai tersebut.
Latihan ini adalah bagian dari kursus
Pemodelan Risiko Kredit di R
Petunjuk latihan
tree_priorsudah dimuat di workspace Anda.- Gunakan
plotcp()untuk memvisualisasikan galat tervalidasi-silang (X-val Relative Error) terhadap parameter kompleksitas untuktree_prior. - Gunakan
printcp()untuk mencetak tabel informasi tentang CP, split, dan galat. Lihat apakah Anda dapat mengidentifikasi split mana yang memiliki galat tervalidasi-silang minimum padatree_prior. - Gunakan
which.min()untuk mengidentifikasi baris mana dalamtree_prior$cptableyang memiliki galat tervalidasi-silang minimum"xerror". Tetapkan hasilnya keindex. - Buat
tree_mindengan memilih indeks daritree_prior$cptablepada kolom"CP". - Gunakan fungsi
prune()untuk memperoleh tree yang telah dipangkas. Beri nama tree yang telah dipangkas tersebutptree_prior. - Paket
rpart.plotsudah dimuat di workspace Anda. Plot tree yang telah dipangkas menggunakan fungsi prp() (pengaturan default).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# tree_prior is loaded in your workspace
# Plot the cross-validated error rate as a function of the complexity parameter
# Use printcp() to identify for which complexity parameter the cross-validated error rate is minimized.
# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])
# Create tree_min
tree_min <- tree_prior$cptable[index, "CP"]
# Prune the tree using tree_min
ptree_prior <- prune(___, cp = ___)
# Use prp() to plot the pruned tree