Lima proyek sebelumnya masing-masing mengasah satu sisi: regresi melatih disiplin evaluasi, klasifikasi mengajari ketimpangan kelas, segmentasi bekerja tanpa label, forecasting menghormati waktu, deteksi anomali menimbang biaya tinjauan. Capstone ini merangkai semuanya menjadi satu sistem utuh — dari data mentah kampanye pemasaran digital sampai API prediksi yang hidup dan terpantau. Objek yang kita bangun nyata sejak baris kode pertama: model yang memprediksi apakah sebuah kampanye iklan akan mencapai KPI-nya, dilatih dari 2000 kampanye historis, disajikan sebagai layanan, dan diawasi terhadap pergeseran pasar.
Peta Sistem yang Dibangun #
Alur capstone mengikuti siklus hidup machine learning produksi secara berurutan, dan setiap bagian menyerahkan artefak ke bagian berikutnya.
| Bagian | Fokus | Artefak keluaran |
|---|---|---|
| 1. Persiapan dan Eksplorasi | Dataset 2000 kampanye deterministik | data/kampanye.csv + daftar keputusan |
| 2. Pipeline Preprocessing | ColumnTransformer leakage-safe | Arsitektur 13 fitur |
| 3. Pelatihan dan Pemilihan Model | Tiga keluarga model via GridSearchCV | Juara: LGBM, AUC uji 0,8024 |
| 4. Penyimpanan dan Serving | Artefak joblib + FastAPI + TestClient | API prediksi teruji |
| 5. Monitoring dan Laporan | PSI per fitur + drift skor | laporan/laporan-kampanye.txt |
Dataset dirancang dengan mekanisme target yang ditranspariskan penuh di skrip pembangkitnya: efek saturasi anggaran (tanh), CTR pada skala logaritmik, durasi dengan puncak efektivitas di 15 hari, plus dua interaksi — segmen×musim dan kanal×CTR. Kejujuran desain ini membuat seluruh temuan model bisa diperiksa ulang terhadap kebenaran yang kita ketahui, sesuatu yang tidak pernah tersedia pada data nyata.
Kontrak Determinisme dan Cara Menjalankan #
Seluruh skrip memakai path relatif (data/kampanye.csv, laporan/...) dan dijalankan dari root folder proyek. Setiap sumber ketidakpastian dikunci: random_state=42 pada estimator dan pemisahan data, n_jobs=1, verbose=-1 pada LightGBM, data baru monitoring dibangkitkan rng(7), tanpa stempel waktu pada keluaran. Artefak model_kampanye.joblib yang lahir di Bagian 4 sengaja dihapus di akhir skripnya — setiap eksekusi dimulai dari keadaan bersih dan hasilnya identik bit demi bit.
cd proyek-akhir-prediksi-keberhasilan-kampanye
python3 src/01_bangun_data.py
python3 src/02_eksplorasi.py
python3 src/03_pipeline.py
python3 src/04_model.py
python3 src/05_serving.py
python3 src/06_monitoring.pyCapstone dimulai dari fondasi yang sama dengan semua proyek sebelumnya: kenali data sebelum memodelkannya. Bagian 1: Persiapan dan Eksplorasi membangkitkan dataset, membedah distribusinya, dan menggali laju keberhasilan per kanal, segmen, dan musim — temuan-temuan yang akan menentukan arsitektur preprocessing dan menjadi bahan pengujian wawasan model di bagian-bagian berikutnya.
Referensi Resmi #
- scikit-learn User Guide: Pipeline dan Composite Estimators — kerangka ColumnTransformer dan Pipeline yang menjadi fondasi capstone.
- FastAPI Documentation — kerangka serving dengan validasi Pydantic yang dipakai Bagian 4.
- joblib: Persistence — pembekuan dan pemuatan artefak model.
- LightGBM Documentation — model juara capstone.
Rumuskan masalah bisnis, siapkan data kampanye, dan eksplorasi faktor keberhasilannya.
Buka → # Bagian 2: Pipeline PreprocessingBangun ColumnTransformer dan Pipeline yang siap pakai untuk pelatihan maupun inferensi.
Buka → # Bagian 3: Pelatihan dan Pemilihan ModelBandingkan kandidat model secara adil dengan cross-validation dan setel hyperparameter.
Buka → # Bagian 4: Penyimpanan dan ServingSimpan model final dan bangun API prediksi dengan FastAPI.
Buka → # Bagian 5: Monitoring dan LaporanRancang pemantauan drift dan susun laporan proyek yang lengkap.
Buka →