Proyek data science yang sukses jarang berbentuk garis lurus dari ide menuju model. Kenyataannya, tim kerap mundur dari tahap pemodelan ke tahap persiapan data, atau bahkan kembali ke perumusan masalah di tengah jalan. Untuk mengatur kerja seperti ini, industri memakai kerangka alur umum — salah satunya CRISP-DM, kerangka klasik yang lahir pada akhir 1990-an dan tetap dipakai sampai sekarang. Pada chapter ini kita pelajari enam tahap alur umum proyek data science, memvisualisasikannya dengan diagram, dan menegaskan sifatnya yang berulang (iteratif) lewat satu simulasi kecil.

Enam Tahap Alur Umum Proyek #

Alur umum proyek data science terdiri atas enam tahap berurutan. Urutan ini adalah urutan pengerjaan pertama kali — bukan jalan satu arah, seperti akan kita lihat sebentar lagi.

  1. Pemahaman bisnis — Kita merumuskan tujuan proyek dari sudut pandang organisasi: masalah apa yang ingin diselesaikan, ukuran keberhasilan apa yang dipakai, dan siapa pemakai hasilnya. Tahap ini menentukan arah seluruh proyek.
  2. Pemahaman data — Kita mengumpulkan data yang tersedia, mencatat sumbernya, dan memeriksa isinya: kolom apa saja, berapa barisnya, dan apakah nilainya masuk akal.
  3. Persiapan data — Kita membersihkan data (menangani nilai kosong, format tidak seragam), menggabungkan tabel, dan membentuk fitur yang siap dipakai. Pada praktiknya tahap ini paling menyita waktu — sering kali lebih dari separuh durasi proyek.
  4. Pemodelan — Kita memilih teknik (misalnya klasifikasi atau peramalan), melatih model, dan mengaturnya agar hasilnya dapat direproduksi.
  5. Evaluasi — Kita mengukur kinerja model terhadap ukuran keberhasilan yang dirumuskan pada tahap pertama, lalu membandingkan kandidat-kandidat model secara adil.
  6. Deployment — Kita memasang hasil agar dipakai pihak lain — bisa berupa model yang berjalan di aplikasi, laporan berulang, maupun sekadar presentasi keputusan — kemudian memantau dan memeliharanya.

Diagram di atas memperlihatkan dua garis balik yang paling sering terjadi. Evaluasi yang belum memenuhi target mengembalikan kita ke persiapan data — mungkin fiturnya perlu dibentuk ulang atau datanya perlu dilengkapi. Pemantauan pasca-deployment mengembalikan kita ke perumusan masalah ketika kondisi berubah: perilaku pelanggan bergeser, produk baru muncul, atau kualitas data menurun.

Bolak-Balik Antar Tahap, Bukan Garis Lurus #

Sifat iteratif adalah bagian tak terpisahkan dari proyek data science, bukan tanda kegagalan. Contoh nyatanya mudah kita temui: sebuah model pendeteksi pelanggan yang akan berhenti berlangganan dilatih dan ternyata akurasinya rendah saat dievaluasi. Tim memeriksa datanya kembali dan menemukan bahwa kolom keluhan pelanggan baru terisi rapi pada tiga tahun terakhir — data yang lebih lama tidak layak dipakai. Persiapan data diulang, model dilatih ulang, dan evaluasi kedua membuahkan hasil yang jauh lebih baik. Mundur dua tahap justru menyelamatkan proyek tersebut.

Ada pula iterasi yang disengaja sejak awal. Tim yang matang memulai dengan cakupan kecil — satu kota, satu produk, satu bulan — lalu memutarkan seluruh enam tahap dengan cepat untuk memvalidasi arah sebelum memperluas cakupannya. Siklus pendek yang berulang terbukti lebih aman daripada satu siklus raksasa yang baru dievaluasi di ujung jalan. Prinsip ini juga berlaku saat kita belajar: sepanjang Course ini kita akan sering kembali ke data dan pertanyaan awal setiap kali hasil di tengah jalan terasa janggal.

Simulasi Mini: Evaluasi yang Memutus Model Mana yang Lanjut #

Mari kita rasakan satu putaran kecil dari tahap pemodelan → evaluasi → keputusan. Sebuah kafe ingin memperkirakan jumlah pengunjung pekan depan. Ada dua kandidat model sederhana: model A memakai rata-rata historis, model B memakai nilai pekan terakhir. Setelah pekan berjalan, pengunjung aktual tercatat 214 orang — dan angka inilah yang menjadi hakim.

python
# Jumlah pengunjung kafe per pekan (data historis)
pengunjung = [182, 195, 188, 210, 203]

# Kandidat model A: prakiraan = rata-rata historis
prakiraan_a = sum(pengunjung) / len(pengunjung)
# Kandidat model B: prakiraan = nilai pekan terakhir
prakiraan_b = float(pengunjung[-1])

# Data pekan berikutnya untuk evaluasi
aktual = 214

selisih_a = abs(prakiraan_a - aktual)
selisih_b = abs(prakiraan_b - aktual)
print("Prakiraan model A (rata-rata):", prakiraan_a, "-> selisih", round(selisih_a, 1))
print("Prakiraan model B (terakhir) :", prakiraan_b, "-> selisih", round(selisih_b, 1))
print("Model yang dipilih:", "A" if selisih_a < selisih_b else "B")

Output yang Dihasilkan:

text
Prakiraan model A (rata-rata): 195.6 -> selisih 18.4
Prakiraan model B (terakhir) : 203.0 -> selisih 11.0
Model yang dipilih: B

Mari kita telaah baris-baris kode di atas:

  1. Baris 2 (pengunjung): lima pekan data historis menjadi bahan bagi tahap persiapan data dan pemodelan. Rata-ratanya bisa juga kita hitung dengan modul statistics bawaan Python.
  2. Baris 5 dan 7 (prakiraan_a, prakiraan_b): dua kandidat model menghasilkan dua prakiraan — 195.6 dari rata-rata dan 203.0 dari nilai terakhir. Konversi float() menjaga format angka kedua konsisten dengan yang pertama.
  3. Baris 10 (aktual): data pekan berjalan hadir sebagai bahan evaluasi. Tanpa angka ini, kita tidak punya hakim yang adil.
  4. Baris 12-16 (evaluasi): selisih absolut antara prakiraan dan kenyataan dihitung untuk tiap model — bentuk paling sederhana dari metrik evaluasi. Model B (selisih 11.0) mengalahkan model A (18.4), sehingga keputusan jatuh pada model B.

Satu putaran simulasi ini memperlihatkan inti siklus hidup: keputusan model tidak diambil dari selera, melainkan dari evaluasi terhadap data. Di proyek sesungguhnya, selisih absolut kita ganti dengan metrik yang lebih ketat dan diuji pada data yang belum pernah dilihat model — semuanya kita bahas pada Section Evaluasi dan Validasi Model, dengan rujukan seperti panduan evaluasi model scikit-learn .

Rangkuman #

  • Alur umum proyek data science terdiri atas enam tahap: pemahaman bisnis, pemahaman data, persiapan data, pemodelan, evaluasi, dan deployment.
  • Alurnya iteratif: evaluasi yang gagal mengembalikan kita ke persiapan data, dan pemantauan pasca-deployment bisa memutar ulang proyek dari perumusan masalah.
  • Tahap persiapan data biasanya paling menyita waktu; mengabaikanya adalah penyebab utama proyek tersendat.
  • Keputusan pemilihan model diambil dari hasil evaluasi terhadap data, bukan dari preferensi pribadi.

Peta bidang dan alur kerja kini lengkap kita pegang. Tinggal satu langkah penutup: melihat bagaimana seluruh babak ini bergerak dalam tiga kasus nyata — dari masalah bisnis sampai keputusan yang diambil. Kita bedah pada chapter Studi Kasus Penerapan Data Science .