Skip to content

This machine learning pipeline project aims to develop an ML model to identify bank customer churn.

Notifications You must be signed in to change notification settings

nikofebrianur/Bank-Customer-Churn-Prediction

Repository files navigation

Dicoding ML Ops Submission 2: Bank Customer Churn Prediction

Nama: Niko Febrianur

Username dicoding: nikofebrianur

Deskripsi
Dataset Bank Customer Churn
Masalah Bisnis perbankan dihadapkan dengan tantangan untuk mengelola tingkat churn pelanggan, di mana pelanggan meninggalkan bank. Oleh karena itu, masalah yang diangkat dalam proyek ini adalah untuk membangun model machine learning yang dapat memprediksi kemungkinan churn pelanggan berdasarkan atribut yang diberikan dalam dataset. Bank memiliki kepentingan bisnis untuk memahami faktor-faktor apa yang mempengaruhi keputusan pelanggan untuk meninggalkan layanan mereka. Dengan mengetahui hal ini, bank dapat mengembangkan program loyalitas dan kampanye retensi yang efektif untuk mempertahankan sebanyak mungkin pelanggan. Mengurangi tingkat churn juga dapat menghasilkan penghematan biaya, karena mendaftarkan pelanggan baru biasanya lebih mahal daripada mempertahankan pelanggan yang sudah ada.
Solusi machine learning Untuk mengatasi masalah tingkat churn pelanggan dalam perbankan, solusi machine learning yang diusulkan adalah mengembangkan model prediktif. Model ini akan membantu bank memprediksi apakah seorang pelanggan cenderung meninggalkan layanan mereka berdasarkan informasi seperti skor kredit, lokasi, usia, saldo, dan faktor lainnya.
Metode pengolahan Dalam penanganan data untuk kasus ini, terdapat sembilan fitur di mana delapan di antaranya akan digunakan sebagai fitur klasifikasi, dan satu fitur sebagai kelas target. Dari keseluruhan fitur, terdapat dua fitur kategorikal dan enam fitur numerik. Proses pengolahan data dimulai dengan pembagian data menjadi dua bagian, yaitu 80% untuk pelatihan (train) dan 20% untuk evaluasi (eval). Selanjutnya, dilakukan serangkaian transformasi data, termasuk mengganti nama fitur yang telah diubah, serta penerapan one-hot encoding untuk fitur kelas. Proses ini bertujuan untuk memastikan bahwa data siap digunakan oleh model machine learning, dengan variabel yang diolah secara sesuai dan memenuhi kebutuhan algoritma yang akan digunakan. Dengan langkah-langkah ini, data telah disiapkan untuk melatih dan mengevaluasi model klasifikasi guna memprediksi keaktifan anggota bank.
Arsitektur model Untuk arsitektur model sendiri, tiap layer menggunakan Dense 256, Dense 64, Dense 16 dengan activation relu, kemudian layer terakhir menggunakan Dense 1 dengan activation sigmoid karena akan mengklasifikasi class yang hanya memiliki dua value yaitu aktif dan tidak aktif. Untuk model compile menggunakan optimizers Adam dengan learning_rate 0.001, loss binary_crossentropy dengan metrics BinaryAccuracy
Metrik evaluasi Metrik evaluasi yang digunakan yaitu AUC, Precision, Recall, ExampleCount dan BinaryAccuracy
Performa model Model machine learning yang dikembangkan telah mengalami proses pelatihan dengan hasil yang dapat diukur melalui beberapa metrik evaluasi. Pada tahap pelatihan, model berhasil mencapai training loss sebesar 0.2940, yang mencerminkan sejauh mana model dapat meminimalkan kesalahan selama proses pelatihan. Selain itu, binary accuracy dari model pada tahap pelatihan mencapai 0.8703, menunjukkan tingkat akurasi dalam memprediksi kelas biner secara positif. Namun, hasil evaluasi pada data validasi (val_loss dan val_binary_accuracy) menunjukkan beberapa perbedaan. Loss pada data validasi sebesar 1.3838, yang mungkin menunjukkan adanya overfitting jika dibandingkan dengan training loss. Meskipun binary accuracy pada data validasi mencapai 0.5471, hasil ini bisa dianggap sebagai tantangan dalam memastikan model mampu menggeneralisasi dengan baik pada data yang belum pernah dilihat sebelumnya. Perlu diperhatikan bahwa evaluasi performa model tidak hanya bergantung pada akurasi semata, melainkan juga pada parameter lainnya seperti precision, recall, F1-score, dan AUC-ROC, yang dapat memberikan gambaran lebih komprehensif tentang kualitas prediksi model. Oleh karena itu, proses fine-tuning model dan penyesuaian hyperparameter mungkin diperlukan untuk meningkatkan kinerja model, khususnya dalam mengatasi overfitting pada data validasi.
Opsi deployment Sistem machine learning ini akan dideploy menggunakan platform Railway
Web app Tautan web app yang digunakan untuk mengakses model serving. Contoh: bcc-model
Monitoring Proses monitoring pada model machine learning dilakukan untuk memantau kinerja model secara berkelanjutan setelah dideploy. Ini melibatkan pemantauan metrik kunci seperti akurasi, loss, dan metrik evaluasi lainnya untuk memastikan bahwa model dapat mengatasi perubahan dalam data masukan dan tetap efektif dalam membuat prediksi. Monitoring juga mencakup pendeteksian potensi overfitting atau degradasi kinerja sehingga dapat diambil tindakan perbaikan yang cepat. Dengan memahami bagaimana model berperilaku dalam lingkungan produksi, tim pengembang dapat menjaga keandalan dan keefektifan model machine learning selama masa penggunaannya.

About

This machine learning pipeline project aims to develop an ML model to identify bank customer churn.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published