
Dalam artikel sebelumnya, kita telah membahas bagaimana Grid Search bekerja secara mekanis dan sistematis untuk menguji setiap kombinasi hyperparameter demi menemukan performa model terbaik. Namun, saat Anda mulai membangun model AI yang lebih kompleks untuk menganalisis pergerakan saham, Anda akan segera menyadari bahwa melakukan pencarian secara brute-force (menyeluruh) tidak selalu menjadi pilihan yang paling efisien.
Di dalam pustaka scikit-learn, selain GridSearchCV, terdapat alternatif tangguh bernama RandomizedSearchCV. Kedua metode ini memiliki pendekatan yang sangat berbeda dalam menjelajahi ruang parameter.
Bagi Anda yang sedang mengoptimalkan model K-Nearest Neighbors (KNN) untuk memprediksi arah pasar, memahami perbandingan praktis antara keduanya adalah kunci untuk menghemat waktu komputasi tanpa mengorbankan akurasi prediksi.
Perbedaan Fundamental: Ketelitian vs. Kecepatan
Untuk memahami perbedaan keduanya, mari kita bayangkan kita sedang mencari kombinasi hyperparameter terbaik untuk model KNN kita:
- n_neighbors (Jumlah Tetangga / K): Kita ingin menguji nilai .
- p (Parameter Jarak Minkowski): Kita ingin menguji
p=1(Manhattan Distance) danp=2(Euclidean Distance).
1. GridSearchCV (Pencarian Sistematis)
- Cara Kerja:
GridSearchCVakan melakukan pencarian secara menyeluruh (exhaustive search). Algoritma ini akan membuat kisi-kisi (grid) dari semua kemungkinan kombinasi parameter yang kita berikan, lalu melatih model untuk setiap kombinasi tersebut. - Beban Komputasi: Jika kita menguji 6 variasi nilai K dan 2 variasi nilai
pmenggunakan 5-Fold Cross-Validation, maka model KNN akan dilatih sebanyak 6×2×5=60 kali. Ini masih tergolong kecil. Namun, jika Anda menambah parameter lain seperti jenis bobot (weights) atau algoritma pencarian tetangga, jumlah iterasi akan meledak secara eksponensial.
2. RandomizedSearchCV (Pencarian Acak yang Lincah)
- Cara Kerja: Alih-alih menguji seluruh kombinasi secara kaku,
RandomizedSearchCVakan mengambil sampel acak dari distribusi atau daftar nilai parameter yang telah kita tentukan. - Anggaran Fleksibel: Anda memegang kendali penuh atas anggaran komputasi Anda melalui parameter n_iter (jumlah iterasi sampling). Misalnya, meskipun ada 100 kombinasi parameter potensial, Anda bisa menetapkan
n_iter=10untuk meminta model hanya menguji 10 kombinasi acak terbaik. - Keunggulan Utama: Menurut riset empiris (seperti yang dipublikasikan oleh Bergstra & Bengio pada tahun 2012), menambahkan parameter tambahan yang tidak memengaruhi performa model tidak akan menurunkan efisiensi pencarian pada Randomized Search.
Contoh Visual Perbedaan Pencarian Parameter KNN
Mari kita visualisasikan bagaimana kedua algoritma ini menjelajahi ruang parameter dua dimensi untuk model KNN kita, yaitu mencari Nilai K (n_neighbors) di sumbu X dan Metrik Jarak (p) di sumbu Y:
GridSearchCV (Menyeluruh & Kaku) RandomizedSearchCV (Acak & Fleksibel)
Menguji setiap titik persimpangan Mengambil sampel secara acak dengan anggaran n_iter
Metrik Jarak (p) Metrik Jarak (p)
▲ ▲
2 ┼───●───────●───────●─── 2 ┼─────────●─────────────────
│ │ ●
1 ┼───●───────●───────●─── 1 ┼───●─────────────────●─────
│ │ ●
└───┬───────┬───────┬───► └───┬───────┬───────┬───►
3 5 7 Nilai K (n_neighbors) 3 5 7 Nilai K (n_neighbors)
- Pada GridSearchCV, setiap titik pertemuan koordinat lingkaran hitam (
●) wajib diuji tanpa ada yang terlewat. Jika parameter optimal sebenarnya berada di luar titik kisi diskret tersebut (misalnya nilai K terbaik adalah 4), Grid Search tidak akan pernah bisa menemukannya. - Pada RandomizedSearchCV, titik-titik diuji secara acak di seluruh ruang parameter. Jika kita menggunakan distribusi kontinu untuk parameter yang bersifat kontinu, peningkatan nilai
n_iterakan selalu menghasilkan pencarian yang jauh lebih halus dan presisi.
Kapan Harus Menggunakan GridSearchCV vs. RandomizedSearchCV?
Dalam mempraktikkan AI untuk analisis saham, Anda dapat memilih metode tuning berdasarkan skala proyek Anda:
| Karakteristik | GridSearchCV | RandomizedSearchCV |
|---|---|---|
| Ruang Parameter | Sangat cocok untuk ruang pencarian kecil (fitur & parameter sedikit). | Sangat ideal untuk ruang pencarian besar dan kompleks. |
| Waktu Komputasi | Cenderung lambat dan mahal karena sifatnya yang brute-force. | Jauh lebih cepat karena kita bisa menentukan batasan iterasi sendiri (n_iter). |
| Penanganan Parameter Kontinu | Kurang efektif karena harus membagi parameter kontinu menjadi nilai diskret terlebih dahulu. | Sangat efektif karena bisa mengambil sampel langsung dari distribusi kontinu (seperti log-uniform). |
| Jaminan Hasil | Menjamin temuan kombinasi terbaik yang ada di dalam daftar kisi Anda. | Tidak menjamin menemukan kombinasi mutlak terbaik, tetapi sering kali menemukan hasil yang sangat mendekati dalam waktu singkat. |
Kesimpulan untuk Strategi Saham Anda
Untuk model sederhana seperti KNN pada dataset saham simulasi yang memiliki dimensi rendah, menggunakan GridSearchCV adalah langkah yang aman karena jumlah kombinasi parameter (K dan metrik jarak) masih sangat terbatas.
Namun, jika Anda sudah mulai mengintegrasikan data saham riil dengan puluhan fitur indikator teknikal (menghadapi risiko Curse of Dimensionality) serta menggunakan model yang lebih berat seperti SVM atau jaringan saraf tiruan (Neural Networks), beralih ke RandomizedSearchCV adalah taktik cerdas untuk mendapatkan performa model optimal secara instan tanpa membuat komputer Anda bekerja terlalu keras.