Praktik: Data Science End-to-End
Apa & untuk apa
Tutorial ini melanjutkan proyek dari Data engineering end-to-end dan mengajak Anda berperan sebagai ilmuwan data (data scientist). Berbekal tabel gold yang sudah bersih, Anda akan: mengeksplorasi data di Notebook, melakukan feature engineering, melatih model prediksi, menyimpannya sebagai aset Model, lalu melacaknya di Registry Model untuk pemantauan berkelanjutan.
Data science menjawab: "dari data yang sudah rapi, apa yang bisa kita pelajari dan prediksi?" Di PSD, seluruh siklus ini bisa dikerjakan tanpa memasang apa pun di komputer Anda — kode, data, dan model semuanya hidup di platform.
gold_username.penjualan_harian, kita ingin memprediksi omzet harian UMKM kuliner untuk perencanaan stok bahan.Cara kerja: siklus data science di PSD
Siklus klasik data science dipetakan ke tools PSD:
| Tahap data science | Tools PSD |
|---|---|
| Akses data | Notebook membaca danau via skema psd:// |
| Eksplorasi (EDA) | Notebook (pandas, matplotlib, dsb.) |
| Feature engineering | Notebook / Studio Python |
| Latih model | Notebook (runtime peramban/server) atau Studio Python (Spark) |
| Simpan model | aset Model (kind="model") |
| Lacak & monitor | Registry Model (versi, stage, drift) |
Dua runtime Notebook: peramban (ringan, gratis, cocok eksplorasi) dan server (lebih kuat, butuh akses kernel + tier — untuk latihan model besar). Untuk beban Python/PySpark berat, gunakan Studio Python yang memberi kontainer & venv terisolasi per-pengguna.
Kapan dipakai
Cocok untuk:
- Membangun model prediksi/klasifikasi dari data yang sudah bersih.
- Eksplorasi data mendalam yang tak cukup dengan SQL.
- Eksperimen berulang yang perlu dilacak versinya.
Kurang tepat bila:
- Data belum bersih — selesaikan Jalur 1 (Data Engineering) dulu.
- Anda hanya perlu laporan/agregasi — cukup Jalur 3 (BI) dengan SQL & dashboard.
Langkah demi langkah
Langkah 1 — Buka Notebook & baca data gold
- Buka Notebook & Komputasi → Notebook (
/notebooks) → Buat notebook. - Pilih runtime: peramban untuk mulai, atau server bila butuh tenaga lebih.
- Baca tabel gold lewat SDK
psd://(bukan path lokal):
import psd
df = psd.read_table("psd://gold_username/penjualan_harian")
df.head()psd://, notebook mengakses data langsung dari SatuDanau tanpa mengunduh manual — reproducible dan aman.Langkah 2 — Eksplorasi data (EDA)
Pahami dulu datanya sebelum memodelkan:
df.describe()
df.groupby("kota")["omzet"].sum().sort_values(ascending=False)
import matplotlib.pyplot as plt
df.set_index("tanggal")["omzet"].plot(figsize=(10, 4), title="Tren Omzet Harian")
plt.show()Cari pola: musiman? hari ramai? outlier? Ini menentukan fitur apa yang berguna.
Langkah 3 — Feature engineering
Bangun fitur yang membantu model belajar:
df["hari_pekan"] = df["tanggal"].dt.dayofweek
df["akhir_pekan"] = (df["hari_pekan"] >= 5).astype(int)
df["omzet_kemarin"] = df.groupby("kota")["omzet"].shift(1)
df = df.dropna()Langkah 4 — Latih model
Contoh model regresi sederhana:
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
fitur = ["hari_pekan", "akhir_pekan", "omzet_kemarin"]
X_train, X_test, y_train, y_test = train_test_split(
df[fitur], df["omzet"], test_size=0.2, random_state=42
)
model = RandomForestRegressor(n_estimators=200, random_state=42)
model.fit(X_train, y_train)
rmse = mean_squared_error(y_test, model.predict(X_test), squared=False)
print(f"RMSE: {rmse:,.0f}")Simpan artefak bobot & catat metrik (RMSE) — dua-duanya dipakai di langkah berikutnya.
Langkah 5 — Simpan sebagai aset Model
- Simpan bobot model (mis.
joblib.dump(model, "model_omzet.pkl")). - Buat aset Model baru (
/models) bergaya Hugging Face: isi README, unggah berkas bobot,
catat metrik.
- Push notebook yang melatihnya ke git agar hasil reproducible & bisa ditinjau orang lain.
Langkah 6 — Daftarkan ke Registry Model (MLOps)
Bila model akan dipakai berkelanjutan (bukan sekali jalan):
- Buka Registry Model (
/ml) → Daftarkan model. - Rekam tiap hasil latihan sebagai versi + metrik.
- Tandai stage: Staging (sedang diuji) atau Production (dipakai resmi).
- Pantau drift — sistem membandingkan distribusi data terkini vs data latih per fitur:
stabil / sedang / signifikan.
- Dashboard monitoring drift & akurasi otomatis divisualkan lewat Ruang Analitik.
Drift signifikan berulang = sinyal model perlu dilatih ulang. Registry membantu Anda melihatnya sebelum kualitas prediksi merosot diam-diam.
Batas tier
Angka berikut ilustratif — angka dapat berubah.
| Fitur | Pemula | Menengah | Lanjut |
|---|---|---|---|
| Notebook peramban | ✓ gratis | ✓ | ✓ |
| Notebook server / kernel | 🔒 butuh akses kernel | terbatas | penuh |
| Studio Python (Spark) | 🔒 | terbatas | penuh + concurrency |
| Registry Model | dasar | monitoring | monitoring lanjut |
Poin & quest
| Aktivitas | Poin (ilustratif) |
|---|---|
| Menjalankan notebook pertama | +5 |
| Push notebook ke git | +10 |
| Mempublikasikan aset Model | +20 |
| Mendaftarkan versi di Registry | +15 |
Quest bertema data science:
- Penjelajah Data — jalankan EDA pertama di notebook.
- Perekayasa Fitur — buat minimal 3 fitur turunan.
- Pelatih Model — latih & catat metrik model pertama.
- Praktisi MLOps — daftarkan model ke Registry dengan stage.
Masalah umum & solusi
| Gejala | Penyebab | Solusi |
|---|---|---|
psd:// tak menemukan tabel | Path/skema salah / bukan gold | Cek nama skema di Ruang Kueri; olah ke gold dulu |
| Notebook server tak bisa dijalankan | Belum ada akses kernel | Ajukan akses kernel; sementara pakai runtime peramban |
| Latihan lambat / kehabisan memori | Data terlalu besar untuk peramban | Pindah ke runtime server atau Studio Python (Spark) |
| Model tak muncul di katalog | Belum dipublikasikan | Lengkapi README & simpan aset Model |
| Drift tak terpantau | Belum didaftarkan | Daftarkan model ke Registry Model |
Fitur terkait
- Notebook — permukaan utama eksplorasi & latihan (langkah 1–4).
- Studio Python — Python/PySpark berat dengan lingkungan terisolasi.
- Model — menyimpan model sebagai aset (langkah 5).
- Registry Model — MLOps: versi, stage, drift (langkah 6).
- Ruang Analitik — dashboard monitoring model.
- Kompetisi — uji model Anda melawan peserta lain.
- Praktik: Data Engineering End-to-End — menyiapkan data gold sebelum tutorial ini.