GridSearchCV vs. RandomizedSearchCV: Taktik Cerdas Mencari Parameter KNN Terbaik untuk Prediksi Saham

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:

  1. n_neighbors (Jumlah Tetangga / K): Kita ingin menguji nilai .
  2. p (Parameter Jarak Minkowski): Kita ingin menguji p=1 (Manhattan Distance) dan p=2 (Euclidean Distance).

1. GridSearchCV (Pencarian Sistematis)

  • Cara Kerja: GridSearchCV akan 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 p menggunakan 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, RandomizedSearchCV akan 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=10 untuk 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_iter akan 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:

KarakteristikGridSearchCVRandomizedSearchCV
Ruang ParameterSangat cocok untuk ruang pencarian kecil (fitur & parameter sedikit).Sangat ideal untuk ruang pencarian besar dan kompleks.
Waktu KomputasiCenderung lambat dan mahal karena sifatnya yang brute-force.Jauh lebih cepat karena kita bisa menentukan batasan iterasi sendiri (n_iter).
Penanganan Parameter KontinuKurang 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 HasilMenjamin 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.

0 0 votes
Article Rating
0 0 votes
Article Rating
guest
0 Comments
Oldest
Newest Most Voted
Scroll to Top
0
Would love your thoughts, please comment.x
()
x