MulaiMulai sekarang secara gratis

Mengidentifikasi kedalaman pohon optimal

Sekarang Anda akan menyetel parameter max_depth pada decision tree untuk menemukan nilai yang mengurangi overfitting sekaligus tetap mempertahankan metrik kinerja model yang baik. Anda akan menjalankan sebuah for loop melalui beberapa nilai parameter max_depth, memasangkan decision tree untuk masing-masing nilai, lalu menghitung metrik kinerjanya.

Daftar bernama depth_list yang berisi kandidat parameter telah dimuat untuk Anda. Array depth_tuning telah dibuat untuk Anda dengan 2 kolom, dengan kolom pertama diisi kandidat kedalaman, dan kolom berikutnya sebagai penampung skor recall. Selain itu, fitur dan variabel target telah dimuat sebagai train_X, train_Y untuk data latih, serta test_X, test_Y untuk data uji. Kedua pustaka numpy dan pandas telah dimuat masing-masing sebagai np dan pd.

Latihan ini adalah bagian dari kursus

Machine Learning untuk Pemasaran dengan Python

Lihat Kursus

Petunjuk latihan

  • Jalankan for loop pada rentang dari 0 hingga panjang list depth_list.
  • Untuk setiap kandidat kedalaman, inisialisasi dan pasangkan classifier decision tree lalu prediksi churn pada data uji.
  • Untuk setiap kandidat kedalaman, hitung skor recall menggunakan fungsi recall_score() dan simpan di kolom kedua depth_tunning.
  • Buat pandas DataFrame dari depth_tuning dengan nama kolom yang sesuai.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Run a for loop over the range of depth list length
for index in ___(0, len(depth_list)):
  # Initialize and fit decision tree with the `max_depth` candidate
  mytree = DecisionTreeClassifier(___=depth_list[index])
  mytree.fit(___, train_Y)
  # Predict churn on the testing data
  pred_test_Y = mytree.predict(___)
  # Calculate the recall score 
  depth_tuning[index,1] = ___(test_Y, ___)

# Name the columns and print the array as pandas DataFrame
col_names = ['Max_Depth','Recall']
print(pd.DataFrame(depth_tuning, columns=___))
Edit dan Jalankan Kode