MulaiMulai sekarang secara gratis

Menyiapkan parameter GridSearch

Hyperparameter adalah parameter di dalam sebuah fungsi. Misalnya, max_depth atau min_samples_leaf adalah hyperparameter dari fungsi DecisionTreeClassifier(). Hyperparameter tuning adalah proses menguji berbagai nilai hyperparameter untuk menemukan yang paling optimal: yang memberikan prediksi terbaik sesuai tujuan Anda. Di sklearn, Anda dapat menggunakan GridSearch untuk menguji berbagai kombinasi hyperparameter. Lebih baik lagi, Anda dapat menggunakan GridSearchCV() untuk menguji berbagai kombinasi dan menjalankan cross-validation terhadapnya dalam satu fungsi!

Dalam latihan ini, Anda akan menyiapkan berbagai nilai yang ingin Anda uji untuk max_depth dan min_samples_leaf. Anda kemudian akan menempatkannya dalam sebuah dictionary, karena itulah yang diperlukan untuk GridSearchCV():

  • kunci dictionary adalah nama hyperparameter
  • nilai dictionary adalah atribut (nilai hyperparameter) yang ingin Anda uji

Alih-alih menuliskan semua nilai secara manual, Anda akan menggunakan fungsi range(), yang memungkinkan kita menghasilkan nilai secara bertahap. Sebagai contoh, range(1, 10, 2) akan menghasilkan daftar berisi nilai dari 1 termasuk hingga 10 tidak termasuk, dengan kenaikan 2. Jadi hasil akhirnya adalah [1, 3, 5, 7, 9].

Latihan ini adalah bagian dari kursus

Analitik SDM: Memprediksi Perputaran Karyawan dengan Python

Lihat Kursus

Petunjuk latihan

  • Mengikuti format pada contoh di atas, hasilkan nilai untuk kedalaman maksimum dari 5 hingga 20 dengan kenaikan 1
  • Lakukan hal yang sama untuk ukuran sampel minimum dengan nilai dari 50 hingga 450 dengan kenaikan 50
  • Buat dictionary dengan menetapkan nilai max_depth dan min_samples_leaf yang akan dicoba, masing-masing menggunakan variabel yang baru saja Anda buat

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]

# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]

# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)
Edit dan Jalankan Kode