MulaiMulai sekarang secara gratis

Satu pohon terakhir dengan lebih banyak opsi

Dalam latihan ini, Anda akan menggunakan beberapa argumen terakhir yang dibahas di video. Beberapa spesifikasi dalam fungsi rpart.control() akan diubah, dan beberapa bobot akan disertakan menggunakan argumen weights di rpart(). Vektor case_weights telah dibuat untuk Anda dan sudah dimuat di ruang kerja Anda. Vektor ini berisi bobot 1 untuk non-default pada himpunan data pelatihan, dan bobot 3 untuk default pada himpunan data pelatihan. Dengan menetapkan bobot lebih tinggi untuk default, model akan memberikan prioritas lebih tinggi untuk mengklasifikasikan default secara benar.

Latihan ini adalah bagian dari kursus

Pemodelan Risiko Kredit di R

Lihat Kursus

Petunjuk latihan

  • Tetapkan seed sebesar 345.
  • Lengkapi kode yang disediakan dengan meneruskan case_weights ke argumen weights dari `rpart().
  • Ubah jumlah minimum percabangan yang diperbolehkan pada sebuah node menjadi 5, dan jumlah minimum observasi yang diperbolehkan pada node daun menjadi 2 dengan menggunakan argumen minsplit dan minbucket masing-masing di rpart.control.
  • Gunakan fungsi plotcp() untuk meneliti di mana laju galat tervalidasi-silang dapat diminimalkan.
  • Gunakan which.min() untuk mengidentifikasi baris dengan "xerror" minimum di tree_weights$cp. Simpan hasilnya ke index.
  • Gunakan kode yang disediakan untuk memilih cp dengan galat tervalidasi-silang minimum
  • Pangkas pohon menggunakan parameter kompleksitas pada titik laju galat tervalidasi-silang minimum. Simpan pohon yang telah dipangkas ke ptree_weights.
  • Plot pohon yang telah dipangkas menggunakan fungsi prp(). Sertakan argumen kedua extra dan setel nilainya menjadi 1.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# set a seed and run the code to obtain a tree using weights, minsplit and minbucket
set.seed(345)
tree_weights <- rpart(loan_status ~ ., method = "class",
                      data = training_set,
                      control = rpart.control(minsplit = ___, minbucket = ___, cp = 0.001))

# Plot the cross-validated error rate for a changing cp


# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])

# Create tree_min
tree_min <- tree_weights$cp[index, "CP"]

# Prune the tree using tree_min


# Plot the pruned tree using the rpart.plot()-package
Edit dan Jalankan Kode