PROYEK DATA SCIENCE 5: ANALISIS CHURN KARTU KREDIT Part 2 IMBALANCED DATA
Salam sejahtera kali ini saya masih akan membahas churn dengan data yang sama tapi saya akan menambah metode yaitu Oversampling dan Undersampling. Mengapa saya menggunakan metode ini karena menurut saya data yang saya miliki sangat dominan dari sisi no churn perbandingannya 83.93% no churn dan 16.07% churn, ini yang biasa disebut Imbalanced Data. Jika kita hanya langsung menerapkan metode machine learning begitu saja seperti postingan saya yang kemarin maka untuk hasilnya akan kurang akurat. Maka saya akan menggunakan metode Oversampling dan Undersampling. Oversampling adalah metode yang tujuannya membuat data minoritas yang dibesarkan jumlahnya, yang tujuannya menyetarakan yang mayoritas. Sedangkan Undersampling yaitu mengurangi data agar setara dengan yang minoritas. Kali ini saya untuk Oversampling data saya menggunakan Smote dan untuk Undersampling saya menggunakan Random Under Sampler.
Data kita pisah menjadi variabel x dan y, x untuk semua kolom dan y untuk kolom Attrition_flag. Lalu kita langsung menggunakan Smote kedua variabel tersebut.
Ini kita melihat kolom Attrition_Flag sebelum kita Smote, kita bisa lihat 1 untuk merepresentasikan no churn dan 0 merepresentasikan churn.
Setelah kita aplikasikan Smote maka kita bisa lihat angka churn menjadi sama dengan yang no churn.
Machine Learning
Sekarang kita coba menggunakan metode machine learning kita mulai dengan Logistic Regression, kita bisa lihat untuk Train Score dia angka 78% Test Score 79% dan ROC AUC score sebesar 87%.
Untuk Random Forest Classifier Train Score 97% Test Score 96% dan ROC AUC Score 99%.
Untuk Gradient Boosting Classifier Train Score 96% Test Score 96% dan ROC AUC Score 99%.
Untuk Decision Tree Classifier Train Score 94% Test Score 92% dan ROC AUC Score 92%.
Untuk Extra Trees Classifier Train Score 97% Test Score 95% dan ROC AUC Score 99%.
Untuk Gaussian Naive Bayes Train Score 81% Test Score 81% dan ROC AUC Score 90%.
Sekarang kita gunakan Undersampling dengan menggunakan Random Under Sampler.
Nah kita bisa liat dengan metode Undersampling kita lihat nilai no churn sama denga nilai churn atau disamakan dengan nilai minoritas.
Kita lihat Logistic Regression scorenya malah meningkat dari Oversampling Train Score 80% Test Score 80% dan ROC AUC Score 88%.
Untuk Random Forest Classifier Train Score 93% Test Score 92% dan ROC AUC Score 97%.
Untuk Gradient Boosting Classifier Train Score 94% Test Score 93% dan ROC AUC Score 98%.
Untuk Decision Tree Classifier Train Score 89% Test Score 90% dan ROC AUC Score 89%.
Untuk Extra Trees Classifier Train Score 93% Test Score 90% dan ROC AUC Score 96%.
Untuk Gaussian Naive Bayes Train Score 79% Test Score 79% dan ROC AUC Score 87%.
KESIMPULAN
Denga metode yang kita gunakan tadi ternyata untuk metode yang paling akurat dipegang dengan metode Oversampling dengan algoritma Gradient Boosting Classifier.