Tutorial Membangun Model Kredit Macet (Default Prediction) dengan Python
Setiap lembaga keuangan menghadapi risiko yang sama dimana tidak semua nasabah mampu membayar pinjaman tepat waktu. Ketika seorang peminjam gagal memenuhi kewajibannya sesuai perjanjian, kondisi tersebut dikenal sebagai default atau kredit macet. Bagi bank, koperasi, perusahaan pembiayaan, maupun fintech, kemampuan memprediksi potensi kredit macet menjadi sangat penting untuk mengurangi risiko kerugian.
Di sinilah machine learning dapat membantu proses tersebut. Melalui pemanfaatan data historis nasabah, model machine learning mampu mengidentifikasi pola yang sering muncul pada peminjam yang berisiko gagal bayar. Hasil prediksi tersebut dapat digunakan sebagai bahan pertimbangan sebelum pinjaman disetujui. Artikel ini akan membahas langkah demi langkah membangun model prediksi kredit macet menggunakan Python dan algoritma machine learning Logistic Regression yang relatif mudah dipahami oleh data analyst pemula. Simak penjelasannya sahabat DQLab!
1. Memahami Default Prediction
Default prediction adalah proses memprediksi apakah seorang calon peminjam berpotensi mengalami gagal bayar di masa mendatang. Model logistic regression biasanya memuat dua kelas yaitu 0 untuk tidak macet dan 1 yaitu macet. Tujuan akhirnya adalah memperkirakan probabilitas kredit macet sebelum pinjaman diberikan. Beberapa variabel yang umum digunakan antara lain:
Pendapatan bulanan
Usia
Lama bekerja
Jumlah pinjaman
Rasio utang terhadap pendapatan
Riwayat keterlambatan pembayaran
Jumlah kartu kredit yang dimiliki
Baca Juga: Bootcamp Machine Learning and AI for Beginner
2. Menyiapkan Dataset
Sebagai contoh, misalnya kita memiliki dataset bernama loan_data.csv dengan struktur berikut:
| income | age | loan_amount | years_employed | late_payments | default |
| 8000 | 35 | 15000 | 8 | 0 | 0 |
| 3500 | 25 | 12000 | 2 | 3 | 1 |
| 6000 | 40 | 10000 | 10 | 1 | 0 |
Note: kolom default menjadi target yang akan diprediksi
3. Mengimpor Library yang Dibutuhkan
Langkah pertama adalah mengimpor pustaka Python yang diperlukan.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import (
accuracy_score,
confusion_matrix,
classification_report
)
Baca Juga: Mengenal NLP, Salah Satu Produk Machine Learning
4. Membaca Data
Selanjutnya baca dataset menggunakan Pandas
df = pd.read_csv("loan_data.csv")
print(df.head())
Pastikan tidak ada nilai kosong atau data yang bermasalah.
print(df.isnull().sum())
Jika terdapat nilai kosong, lakukan pembersihan terlebih dahulu.
df = df.dropna()
5. Menentukan Variabel Prediktor dan Target
Pisahkan fitur (X) dan target (Y)
X = df[['income',
'age',
'loan_amount',
'years_employed',
'late_payments']]
y = df['default']
6. Membagi Data Training dan Testing
Dataset perlu dibagi menjadi data training dan data testing
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.2,
random_state=42
)
Artinya 80 persen data digunakan untuk melatih model dan 20 persen untuk menguji performanya.
7. Melatih Model Logistic Regression
Logistic Regression merupakan salah satu algoritma paling populer untuk masalah klasifikasi biner seperti kredit macet.
model = LogisticRegression()
model.fit(X_train, y_train)
Setelah proses ini selesai, model telah mempelajari pola dari data historis.
8. Melakukan Prediksi
Gunakan model untuk memprediksi data yang belum pernah dilihat sebelumnya.
y_pred = model.predict(X_test)
Untuk melihat probabilitas kredit macet:
probability = model.predict_proba(X_test)
print(probability[:5])
Outputnya kira-kira seperti berikut:
[[0.85 0.15]
[0.30 0.70]
[0.92 0.08]]
Angka kedua menunjukkan probabilitas kredit macet.
Misalnya:
0,15 = risiko macet 15%
0,70 = risiko macet 70%
0,08 = risiko macet 8%
9. Mengukur Akurasi Model
Langkah berikutnya adalah mengevaluasi performa model.
Accuracy Score
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
Misalnya diperoleh hasil:
Accuracy: 0.87
Artinya model mampu memberikan prediksi yang benar sebesar 87 persen.
10. Melihat Confusion Matrix
Confusion Matrix membantu memahami jenis kesalahan yang dibuat model.
cm = confusion_matrix(y_test, y_pred)
print(cm)
Contoh output:
[[150 10]
[ 20 40]]
Interpretasi:
150 nasabah diprediksi benar tidak macet
40 nasabah diprediksi benar macet
10 nasabah salah dianggap macet
20 nasabah salah dianggap aman
Dalam industri keuangan, kesalahan yang paling diperhatikan biasanya adalah ketika model menganggap nasabah aman padahal sebenarnya berpotensi macet.
Default prediction merupakan salah satu penerapan machine learning yang paling banyak digunakan di industri keuangan. Dengan memanfaatkan data historis nasabah, data analyst dapat membangun model yang membantu mengidentifikasi calon peminjam berisiko tinggi sebelum kredit disetujui.
Untuk tahap awal, Logistic Regression merupakan pilihan yang sangat baik karena mudah diimplementasikan, cepat dijalankan, dan hasilnya relatif mudah dijelaskan kepada pihak bisnis maupun manajemen. Setelah memahami dasar-dasarnya, kamu dapat mengembangkan model yang lebih kompleks menggunakan Random Forest atau XGBoost untuk meningkatkan performa prediksi kredit macet.
FAQ
1. Apakah model machine learning dapat memastikan seorang nasabah pasti akan mengalami kredit macet?
Tidak. Model machine learning hanya memberikan prediksi berdasarkan pola yang ditemukan pada data historis. Hasil yang diberikan biasanya berupa probabilitas atau tingkat risiko gagal bayar, sehingga tetap perlu dipadukan dengan analisis dan kebijakan kredit yang berlaku di lembaga keuangan.
2. Mengapa Logistic Regression sering digunakan untuk prediksi kredit macet?
Logistic Regression relatif mudah diterapkan dan hasilnya mudah diinterpretasikan. Selain mampu memprediksi kemungkinan kredit macet, algoritma ini juga membantu analis memahami faktor-faktor yang paling berpengaruh terhadap risiko gagal bayar, seperti pendapatan, jumlah pinjaman, atau riwayat keterlambatan pembayaran.
3. Apakah data yang lebih banyak selalu menghasilkan model yang lebih akurat?
Belum tentu. Selain jumlah data, kualitas data juga sangat menentukan performa model. Data yang lengkap, konsisten, dan relevan biasanya memberikan hasil yang lebih baik dibandingkan dataset yang besar tetapi banyak mengandung kesalahan, duplikasi, atau nilai yang hilang.
Gimana sahabat DQ? Seru banget kan membahas soal machine learning beserta modelnya. Eits, kalau kamu masih bingung soal model machine learning, tenang aja. Yuk, segera ambil kesempatan untuk Sign Up dengan bergabung bersama DQLab! Di sini kamu bisa banget belajar dengan modul berkualitas dan tools sesuai kebutuhan industri dari dasar hingga advanced meskipun kamu nggak punya background IT, lho. Dilengkapi studi kasus yang membantu para pemula belajar memecahkan masalah secara langsung dari berbagai industri.
Biar nggak cuma paham teori, kamu juga bisa langsung mulai praktik lewat mini project sederhana seperti prediksi data atau klasifikasi, mengikuti latihan step-by-step di modul, sampai mencoba berbagai model machine learning untuk melihat perbedaannya secara langsung. Dengan begitu, proses belajarmu jadi lebih terasa nyata dan aplikatif sejak awal.
Tidak cuma itu, DQLab juga sudah menerapkan metode pembelajaran HERO (Hands-On, Experiential Learning & Outcome-based) yang dirancang ramah untuk pemula, dan telah terbukti mencetak talenta unggulan yang sukses berkarier di bidang data. Jadi, mau tunggu apa lagi? Yuk, segera persiapkan diri dengan modul premium atau kamu juga bisa mengikuti Bootcamp Machine Learning and AI for Beginner sekarang juga!
Penulis: Reyvan Maulid
Mulai Karier
sebagai Praktisi
Data Bersama
DQLab
Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Daftar Gratis & Mulai Belajar
Mulai perjalanan karier datamu bersama DQLab
Sudah punya akun? Kamu bisa Sign in disini
