Tips Praktis Menyiapkan Dataset untuk Proyek Machine Learning Pertama
Kamu sudah menyelesaikan kursus pengantar machine learning dan ingin mencoba membuat model sendiri. Begitu membuka laptop, muncul pertanyaan: data apa yang mau dipakai? Mungkin kamu sudah punya file CSV hasil unduhan, tetapi bingung harus diapakan sebelum masuk ke algoritma. Menyiapkan dataset sering jadi bagian yang paling makan waktu, apalagi kalau baru pertama kali. Artikel ini membahas langkah praktis menyiapkan dataset untuk machine learning, mulai dari mencari data sampai membaginya dengan benar.
Mulai dari pertanyaan, bukan dari data
Sebelum mengunduh dataset dari mana pun, tulis dulu satu pertanyaan yang ingin kamu jawab. Contoh: “Apakah seorang pelanggan akan berhenti berlangganan bulan depan?” atau “Berapa perkiraan harga rumah di daerah ini?” Pertanyaan ini menentukan jenis data yang kamu butuhkan dan bentuk output model. Tanpa pertanyaan yang jelas, kamu akan mudah tergoda mengambil dataset besar yang terlihat keren tetapi tidak menjawab apa pun.
Setelah pertanyaan tersusun, tentukan unit observasi. Apakah satu baris mewakili satu pelanggan, satu transaksi, atau satu hari? Kesalahan umum pemula adalah mencampur beberapa unit dalam satu tabel, misalnya data pelanggan digabung dengan data transaksi tanpa agregasi. Akibatnya model belajar dari informasi yang tidak konsisten.
Mengumpulkan data dari sumber yang masuk akal
Untuk latihan, kamu bisa memakai dataset publik seperti Iris, Titanic, atau data terbuka dari portal pemerintah. Dataset ini sudah cukup bersih sehingga kamu bisa fokus pada alur pemodelan. Namun kalau ingin belajar menangani data dunia nyata, cobalah mengumpulkan sendiri dari API publik, hasil scraping halaman web, atau ekspor basis data sederhana.
Perhatikan izin dan etika penggunaan data. Jangan mengambil data pribadi tanpa persetujuan, dan hormati ketentuan layanan situs yang kamu akses. Untuk data web, kamu mungkin perlu teknik pengambilan bertahap agar tidak membebani server. Salah satu pendekatan yang sering dipakai adalah memuat data tambahan saat pengguna menggulir halaman, seperti pada cara membuat load more dengan jQuery yang bisa kamu pelajari untuk keperluan pengambilan data secara bertahap.
Kalau proyekmu melibatkan perangkat IoT, data bisa datang dari sensor secara terus-menerus. Protokol komunikasi yang ringan seperti CoAP atau MQTT mempengaruhi format dan frekuensi data yang masuk. Ada perbandingan menarik tentang protokol ringan untuk perangkat IoT yang bisa menjadi bahan pertimbangan saat merancang alur pengumpulan data.
Memeriksa kualitas data sebelum dipakai
Data mentah hampir selalu punya masalah. Tugasmu adalah menemukannya lebih awal. Lakukan pemeriksaan cepat dengan pandas atau alat serupa: berapa baris dan kolom, tipe data tiap kolom, berapa banyak nilai kosong, dan apakah ada duplikat. Jangan langsung menghapus baris yang bermasalah; pahami dulu penyebabnya.
Nilai hilang bisa muncul karena sensor rusak, responden melewatkan pertanyaan, atau proses ekspor yang tidak sempurna. Cara menanganinya berbeda-beda. Untuk kolom numerik, kamu bisa mengisi dengan median atau rata-rata, tetapi kalau proporsi kosongnya besar, pertimbangkan membuang kolom tersebut. Untuk data kategorikal, menambahkan kategori “tidak diketahui” kadang lebih aman daripada menebak. Kamu bisa membaca panduan lebih rinci tentang cara menangani data hilang sebelum melatih model di situs ini.
Perhatikan juga outliers. Sebuah nilai ekstrem belum tentu kesalahan; bisa jadi itu justru sinyal penting. Plot distribusi setiap fitur numerik dengan histogram atau boxplot. Kalau ada nilai yang tidak masuk akal, misalnya usia 200 tahun atau harga negatif, itu petunjuk kuat adanya kesalahan input.
Membersihkan dan mengubah data
Langkah berikutnya adalah merapikan data agar siap dipakai algoritma. Beberapa pekerjaan yang umum dilakukan:
- Menyeragamkan format teks, misalnya mengubah “Jakarta”, “jakarta”, dan “JAKARTA” menjadi satu bentuk.
- Mengubah tipe data, seperti kolom tanggal dari string menjadi objek datetime.
- Memisahkan kolom yang menggabungkan beberapa informasi, misalnya “nama_kota, provinsi” dipecah menjadi dua kolom.
- Membuat fitur baru dari data yang ada, seperti hari dalam seminggu dari kolom tanggal atau rasio antara dua kolom numerik.
Proses membuat fitur baru ini disebut feature engineering. Untuk pemula, mulailah dari transformasi sederhana dan hindari membuat puluhan fitur sekaligus. Panduan feature engineering untuk data numerik bisa membantumu memahami mana yang berguna dan mana yang hanya menambah noise.
Jangan lupa menangani data kategorikal. Algoritma umumnya membutuhkan angka, jadi kamu perlu encoding. One-hot encoding cocok untuk kategori dengan jumlah unik sedikit, sedangkan label encoding lebih hemat dimensi tetapi bisa menyesatkan model jika kategorinya tidak berurutan. Pilih sesuai konteks, bukan sesuai yang paling mudah.
Membagi data dengan benar
Setelah data bersih, jangan langsung melatih model pada seluruh data. Kamu perlu memisahkan sebagian data untuk menguji performa model. Pembagian umum adalah 80% data latih dan 20% data uji, tetapi proporsi ini bisa disesuaikan dengan ukuran dataset. Yang lebih penting: lakukan pembagian sebelum kamu melakukan normalisasi atau encoding apa pun yang melibatkan statistik dari seluruh data. Jika tidak, informasi dari data uji akan bocor ke proses pelatihan.
Untuk data yang berurutan waktu, pembagian acak tidak tepat. Gunakan pembagian berdasarkan waktu, misalnya data Januari sampai September untuk latih dan Oktober sampai Desember untuk uji. Cara split yang salah bisa membuat model terlihat bagus saat evaluasi tetapi gagal saat dipakai. Simak penjelasan lengkap tentang cara split data latih dan data uji yang benar agar tidak terjebak kesalahan umum.
Menyimpan dan mendokumentasikan dataset
Setelah dataset siap, simpan dalam format yang mudah dibaca ulang, seperti CSV atau Parquet. Beri nama file yang jelas, misalnya pelanggan_clean_2026-10.csv. Sertakan catatan singkat tentang asal data, tanggal pengambilan, dan transformasi yang sudah dilakukan. Dokumentasi ini terasa sepele, tetapi akan sangat membantu ketika kamu kembali ke proyek ini beberapa bulan kemudian atau ketika orang lain mencoba memahami pekerjaanmu.
Pertimbangkan juga untuk menyimpan versi data sebelum dan sesudah pembersihan. Jika suatu saat kamu menemukan kesalahan pada langkah pembersihan, kamu bisa mengulang tanpa harus mengunduh ulang dari awal.
Ringkasan
Menyiapkan dataset bukan sekadar mengunduh file dan membukanya di notebook. Mulailah dari pertanyaan yang ingin dijawab, kumpulkan data dari sumber yang sah, periksa kualitasnya, bersihkan dengan hati-hati, lalu bagi data dengan benar sebelum melatih model. Luangkan waktu di tahap ini; dataset yang rapi akan menghemat banyak iterasi saat kamu mulai bereksperimen dengan algoritma.
Pertanyaan yang Sering Diajukan
Apakah harus punya dataset besar untuk belajar machine learning?
Tidak. Dataset kecil seperti Iris atau Titanic sudah cukup untuk memahami alur pemodelan. Yang penting adalah kamu berlatih dari awal hingga evaluasi, bukan mengejar ukuran data.
Bagaimana kalau data yang saya kumpulkan memiliki banyak nilai kosong?
Hitung dulu proporsinya per kolom. Jika sebuah kolom kosong lebih dari separuh, pertimbangkan membuang kolom itu. Untuk kolom dengan sedikit nilai kosong, isi dengan median, rata-rata, atau kategori khusus, lalu catat keputusan itu.
Apakah normalisasi harus dilakukan sebelum atau sesudah split data?
Setelah split. Hitung parameter normalisasi (rata-rata dan simpangan baku) hanya dari data latih, lalu terapkan parameter yang sama ke data uji. Jika dihitung dari seluruh data, informasi data uji akan bocor ke pelatihan.


