Kenapa Model Machine Learning Sering Bikin Bingung Pemula
Pertama kali saya mengerjakan proyek machine learning untuk aplikasi mobile pada akhir 2016, saya merasa seperti masuk labirint. Ruang meeting kecil di kantor kami di Jakarta, laptop penuh catatan, dan sebuah CSV berukuran ~10.000 baris yang katanya “siap pakai”. Dua minggu kemudian saya punya model dengan akurasi 96%—dan aplikasi yang tetap merekomendasikan hal buruk. Rasa frustrasi itu familiar bagi banyak pemula. Di bawah ini saya ceritakan pengalaman itu dan pelajaran praktis yang saya ambil.
Awal: Ekspektasi vs Realita
Saya ingat jelas: jam 2 pagi, kopi sudah habis, dan saya menatap kurva learning yang naik turun tanpa pola. Awalnya saya berpikir masalahnya di algoritma—mungkin saya harus pakai deep learning. Tapi ketika saya kembali ke data, saya menemukan kelas target yang sangat tidak seimbang: 95% negatif, 5% positif. Kita semua pernah tertipu oleh metrik yang salah. Akurasi 96% ternyata hanya karena model menebak semua sebagai negatif.
Pelajaran pertama: metrik yang tepat lebih penting daripada model canggih. Precision, recall, AUC—pilih berdasarkan tujuan aplikasi. Untuk sistem notifikasi penting, false negative bisa lebih mahal daripada false positive. Berdasarkan pengalaman, selalu tentukan metrik di awal proyek, sebelum memilih model.
Data: Musuh Tersembunyi yang Paling Sering Terabaikan
Di proyek lain, saya menghabiskan tiga hari untuk men-tune hyperparameter sebuah Random Forest yang lambat, padahal masalahnya di pipeline. Data input di produksi tiba-tiba berformat berbeda: kolom timestamp kosong, dan kategori baru muncul yang tidak ada saat training. Hasilnya? Prediksi hancur. Itu momen di mana saya berpikir, “Kenapa tidak dari tadi saya cek pipeline?”
Praktik yang membantu saya: lakukan eksplorasi data mendalam (distribusi, missing values, outliers), buat validasi schema, dan gunakan teknik sederhana dulu (baseline logistic regression). Selain itu, simpan contoh data produksi sebagai “smoke test” untuk memverifikasi pipeline sebelum deployment.
Model & Eksperimen: Labirin yang Butuh Catatan
Pemula sering bingung karena ada terlalu banyak pilihan: tree-based, SVM, neural network, embedding, dan seterusnya. Dalam satu proyek e-commerce 2019, saya mencoba 6 arsitektur berbeda tanpa dokumentasi. Hasilnya: kebingungan saya sendiri. Akhirnya saya kembali menulis eksperimen: dataset, preprocessing, seed, hyperparameter, waktu training. Membantu sekali.
Saran saya: treat modeling as engineering. Catat eksperimen, ukur waktu inference, ingat biaya memori. Kadang model yang sedikit lebih rendah performanya tetapi lebih cepat dan lebih explainable adalah pilihan lebih baik untuk aplikasi. Saya juga sering merekomendasikan mahasiswa untuk membaca satu artikel implementasi (saya pernah menemukan insight berguna di techierec) lalu mengadaptasinya ke konteks sendiri.
Deploy & Realitas: Ketika Teori Bertemu Dunia
Memindahkan model dari notebook ke produksi adalah momen ritual. Saya pernah deploy model yang berjalan sempurna di staging, tetapi setelah live, metrik menurun drastis karena “data drift”—pola input berubah saat kampanye pemasaran berjalan. Reaksi pertama saya: panik. Reaksi kedua: pasang monitoring, threshold alert, dan rollback otomatis.
Praktisnya: siapkan monitoring untuk input distribution, performa model, dan feedback loop untuk retraining. Uji juga edge cases: apa yang terjadi bila third-party API lambat? Bagaimana model berperilaku saat ada missing features? Pengalaman mengajari saya bahwa model yang robust bukan hanya yang punya recall tinggi, tetapi yang punya proses pengawasan dan mekanisme mitigasi.
Akhirnya, untuk pemula: jangan berharap memahami semuanya sekaligus. Mulai dari masalah nyata, buat baseline sederhana, perbaiki data, ukur dengan metrik yang relevan, dan dokumentasikan setiap langkah. Machine learning bukan sulap—itu engineering yang butuh ketelitian, iterasi, dan sedikit kesabaran. Saya masih mengulang pelajaran ini setiap proyek. Setiap kegagalan membawa satu insight baru; itu yang membuat bidang ini terus menarik.