Bagian 6
Hasil & Pembahasan
Seluruh angka pada halaman ini dibaca langsung dari CSV eksperimen terbaru — akan berubah
otomatis begitu scripts/jalankan_*.py
dijalankan ulang.
6.1 Metodologi Evaluasi
Seluruh metrik rekomendasi memakai leave-one-out dengan full ranking atas 70 item — bukan negative sampling. Satu interaksi per pengguna disisihkan sebagai target, lalu model mengurutkan seluruh 70 destinasi (dikurangi yang sudah pernah diinteraksi); posisi target pada urutan itulah yang dinilai. Angka dilaporkan rata-rata 3 seed acak (42, 43, 44) kecuali dinyatakan lain.
Pilihan ini konsekuen terhadap satu batas struktural yang perlu ditegaskan sejak awal: dengan tepat satu item relevan per pengguna, Precision@10 secara matematis tidak dapat melampaui 0,1 — berapa pun bagusnya model.
Target proposal Precision@10 ≥ 0,70 diasumsikan dari protokol evaluasi yang lebih longgar (mis. negative sampling dengan puluhan kandidat negatif, di mana Precision@K tidak dibatasi secara struktural seperti ini). Di bawah full-ranking yang jujur, nDCG@10 menjadi metrik utama yang dilaporkan pada seluruh halaman ini — pembahasan lebih lanjut di Kesimpulan.
6.2 Rekomendasi: CBF, NeuMF, dan Cascade
6.2.1 Perbandingan Seluruh Metode
nDCG@10, rata-rata 3 seed, diurutkan dari yang terbaik:
6.2.2 Kontribusi Fitur Citra (Ablation α)
α = 1 berarti atribut saja, α = 0 berarti citra murni. Baris α = 0 disingkirkan dari pemilihan konfigurasi produksi karena satu destinasi (DST-024) belum memiliki citra — lihat Arsitektur §4.2. Lima konfigurasi teratas hasil penalaan:
| IDF | Pangkat bobot | Bobot prior | α | nDCG@10 | Coverage@10 |
|---|
Baris disorot = konfigurasi produksi (setelah baris α = 0 disingkirkan).
6.2.3 Langit-Langit Cascade: Recall@M Kandidat
Karena NeuMF hanya memeringkat ulang Top-M kandidat dari CBF, item yang tidak lolos penyaringan tahap pertama tidak akan pernah muncul di hasil akhir. Recall@M kandidat CBF karena itu menjadi batas atas kinerja cascade:
Recall@M kandidat CBF
nDCG@10 cascade menurut ukuran M dan gerbang
| M | Gerbang CBF | Gerbang ItemKNN |
|---|
M = 20 dipakai di produksi sebagai titik keseimbangan antara ruang pencarian yang cukup luas dan biaya komputasi cascade — bukan titik nDCG tertinggi mutlak (M = 50–60 sedikit lebih tinggi, tapi menyaring lebih sedikit sehingga manfaat cascade dibanding NeuMF polos menyusut).
6.2.4 Skenario Cold-Start
Pengguna baru tanpa riwayat interaksi sama sekali dilayani sepenuhnya dari kategori yang diminati (stated preference), tanpa fallback ke popularitas:
Precision@10
0,0000
Recall@10
0,0000
HR@10
0,0000
nDCG@10
0,0000
Dihitung dari 96 baris (10% pengguna) yang seluruh interaksinya disisihkan saat evaluasi.
6.3 Prediksi Kunjungan Wisatawan
Delapan model dibandingkan: tiga baseline naif (rata-rata destinasi, lag-7, lag-365), dua baseline musiman (rata-rata musim, rata-rata musim×hari), dan tiga model sekuensial. Diurutkan menurut MAE (lebih rendah lebih baik):
| Model | Kelompok | MAE | RMSE | MAPE | sMAPE |
|---|
GRU dan LSTM tidak mengungguli RNN sederhana pada data ini — kemungkinan karena horizon prediksi pendek dan pola musiman yang dominan tidak membutuhkan kapasitas memori jangka panjang tambahan yang ditawarkan gerbang GRU/LSTM.
6.4 Optimasi Rute: Ablation Algoritma Genetika
Empat varian bobot fitness (A/B/C/D, lihat Arsitektur §4.6) dibandingkan dengan rute acak dan algoritma greedy, rata-rata 40 skenario pengguna.
nDCG rute (relevansi urutan kunjungan)
"UrutanRekomendasi" (=1,0) adalah acuan definisi, bukan metode nyata — dikeluarkan dari grafik.
Rata-rata skor kepadatan destinasi terpilih (rendah = baik)
| Varian | Destinasi | Total km | Kepadatan rata | Layak anggaran | Waktu (detik) |
|---|