Pencarian teracak
# Call GridSearchCV
grid_search = GridSearchCV(clf, param_grid)
# Fit the model
grid_search.fit(X, y)
Pada potongan kode di atas dari latihan sebelumnya, Anda mungkin memperhatikan bahwa baris kode pertama tidak memerlukan banyak waktu untuk dijalankan, sedangkan pemanggilan .fit() memerlukan beberapa detik untuk dieksekusi.
Ini karena .fit() lah yang sebenarnya melakukan grid search, dan dalam kasus kita, grid tersebut memiliki banyak kombinasi berbeda. Saat kisi hiperparameter semakin besar, grid search menjadi lebih lambat. Untuk mengatasi masalah ini, alih-alih mencoba setiap kombinasi nilai, kita dapat melompat secara acak di dalam grid dan mencoba berbagai kombinasi. Ada kemungkinan kecil kita melewatkan kombinasi yang terbaik, tetapi kita akan menghemat banyak waktu, atau dapat menyetel lebih banyak hiperparameter dalam waktu yang sama.
Di scikit-learn, Anda dapat melakukannya menggunakan RandomizedSearchCV. API-nya sama seperti GridSearchCV, kecuali Anda perlu menentukan sebuah distribusi parameter yang dapat diambil sampelnya alih-alih nilai hiperparameter spesifik. Mari kita coba sekarang! Distribusi parameter telah disiapkan untuk Anda, bersama dengan classifier random forest bernama clf.
Latihan ini adalah bagian dari kursus
Analitik Pemasaran: Memprediksi Churn Pelanggan di Python
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import RandomizedSearchCV