Repositori ini merupakan bagian dari tugas Membangun Sistem Machine Learning (MSML). Proyek ini berfokus pada pembangunan pipeline preprocessing data otomatis untuk dataset Telco Customer Churn.
Tujuannya adalah membersihkan data mentah (raw data) agar siap digunakan untuk pemodelan Machine Learning (seperti prediksi Churn).
Dataset yang digunakan adalah Telco Customer Churn. Data ini mencakup informasi tentang:
- Churn: Pelanggan yang berhenti berlangganan dalam sebulan terakhir.
- Services: Layanan telepon, internet, keamanan online, dll.
- Account Info: Lama berlangganan (tenure), kontrak, metode pembayaran.
- Demographics: Jenis kelamin, usia lanjut, pasangan, dan tanggungan.
Proses pembersihan data dilakukan secara otomatis menggunakan script preprocessing/automate_Nikita.py. Langkah-langkah yang dilakukan meliputi:
- Handling Missing Values: Mengisi nilai kosong pada kolom
TotalChargesdengan nilai median. - Remove Duplicates: Menghapus baris data duplikat.
- Drop Irrelevant Columns: Menghapus kolom
customerIDkarena tidak relevan untuk prediksi. - Feature Engineering: Membuat fitur baru
tenure_group(pengelompokan durasi langganan: new, short, medium, long term). - Target Encoding: Mengubah kolom target
Churnmenjadi numerik (1 = Yes, 0 = No). - One-Hot Encoding: Mengubah fitur kategorikal menjadi format numerik (get_dummies).
Repositori ini dilengkapi dengan CI/CD Pipeline menggunakan GitHub Actions (lihat .github/workflows/preprocessing.yml).
Setiap kali ada perubahan (push) ke branch main:
- Sistem akan menyiapkan lingkungan Python.
- Menginstal dependensi dari
requirements.txt. - Menjalankan script
automate_Nikita.py. - Menghasilkan file bersih:
Telco-Customer-Churn_preprocessing.csv. - Mengunggah hasil dataset bersih sebagai artifact yang bisa didownload.
Eksperimen_SML_Nikita/
├── .github/workflows/
│ └── preprocessing.yml # Konfigurasi GitHub Actions
├── preprocessing/
│ ├── automate_Nikita.py # Script utama untuk preprocessing otomatis
│ ├── Eksperimen_SML_Nikita.ipynb # Notebook untuk eksplorasi data
│ └── Telco-Customer-Churn_preprocessing.csv # Output data bersih
├── Telco-Customer-Churn_raw.csv # Data mentah (Raw Dataset)
├── requirements.txt # Daftar library yang dibutuhkan
└── README.md # Dokumentasi proyek