Skip to content

nikita74939/Eksperimen_SML_Nikita

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eksperimen SML: Telco Customer Churn Preprocessing

Python Status Dataset

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).

📂 Tentang Dataset

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.

⚙️ Alur Preprocessing (Pipeline)

Proses pembersihan data dilakukan secara otomatis menggunakan script preprocessing/automate_Nikita.py. Langkah-langkah yang dilakukan meliputi:

  1. Handling Missing Values: Mengisi nilai kosong pada kolom TotalCharges dengan nilai median.
  2. Remove Duplicates: Menghapus baris data duplikat.
  3. Drop Irrelevant Columns: Menghapus kolom customerID karena tidak relevan untuk prediksi.
  4. Feature Engineering: Membuat fitur baru tenure_group (pengelompokan durasi langganan: new, short, medium, long term).
  5. Target Encoding: Mengubah kolom target Churn menjadi numerik (1 = Yes, 0 = No).
  6. One-Hot Encoding: Mengubah fitur kategorikal menjadi format numerik (get_dummies).

🤖 Otomatisasi (GitHub Actions)

Repositori ini dilengkapi dengan CI/CD Pipeline menggunakan GitHub Actions (lihat .github/workflows/preprocessing.yml).

Setiap kali ada perubahan (push) ke branch main:

  1. Sistem akan menyiapkan lingkungan Python.
  2. Menginstal dependensi dari requirements.txt.
  3. Menjalankan script automate_Nikita.py.
  4. Menghasilkan file bersih: Telco-Customer-Churn_preprocessing.csv.
  5. Mengunggah hasil dataset bersih sebagai artifact yang bisa didownload.

📁 Struktur File

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

About

An automated preprocessing pipeline for Telco Customer Churn data, including cleaning, feature engineering, and CI with GitHub Actions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors