Nurmalia Indriyani Putri
Proyek ini bertujuan untuk mendeteksi transaksi kartu kredit yang mencurigakan menggunakan pendekatan Business Intelligence, dimulai dari Exploratory Data Analysis (EDA) hingga pembangunan model prediktif berbasis machine learning. Dataset yang digunakan merupakan data transaksi kartu kredit di Eropa, yang bersifat sangat tidak seimbang karena jumlah transaksi fraud jauh lebih sedikit dibanding non-fraud. Melalui EDA, diperoleh pemahaman pola distribusi waktu, nilai transaksi, dan korelasi antar fitur. Fitur penting dipilih berdasarkan analisis korelasi terhadap variabel target Class. Data kemudian diproses melalui normalisasi dan penyeimbangan dengan SMOTE, dan model Linear Regression digunakan sebagai algoritma prediktif, dikonversi menjadi klasifikasi biner. Hasil evaluasi menunjukkan performa yang sangat baik, dengan akurasi 93%, precision untuk fraud 97%, dan ROC AUC Score 0.9657. Hasil ini membuktikan bahwa analisis data terstruktur dan penerapan machine learning mampu memberikan insight yang akurat dan bermanfaat dalam sistem deteksi fraud, serta mendukung pengambilan keputusan berbasis data untuk meningkatkan keamanan transaksi digital.
Latar Belakang
Peningkatan jumlah transaksi digital menyebabkan tingginya risiko penyalahgunaan kartu kredit. Data besar yang dihasilkan dari aktivitas ini perlu dianalisis untuk mendeteksi pola yang tidak wajar. Dengan pendekatan Business Intelligence, perusahaan dapat mengolah data historis transaksi untuk mengambil keputusan berbasis data, termasuk deteksi fraud secara dini.
Tujuan
Deskripsi Dataset
Dataset creditcard.csv berisi data transaksi kartu kredit yang dilakukan oleh nasabah di Eropa selama dua hari pada bulan September 2013. Tujuan utamanya adalah untuk mendeteksi transaksi penipuan (fraud detection) menggunakan metode analisis data dan machine learning.
Tools Yang Digunakan
Dalam proyek ini, digunakan Google Colab sebagai platform utama untuk analisis data, visualisasi, dan pembuatan model machine learning. Google Spreadsheet dimanfaatkan untuk melihat dan mencatat data secara tabular, sementara Google Drive berfungsi sebagai tempat penyimpanan dataset dan notebook.
Exploratory Data Analysis (EDA)
1. Preprocessing Data
Tujuan utama melakukan preprocessing data adalah untuk meningkatkan kualitas data dan menyiapkannya agar sesuai untuk analisis atau pemodelan machine learning. SMOTE berhasil menyeimbangkan distribusi kelas, menghasilkan 283.253 sampel untuk Class 0 dan Class 1 masing-masing. Dataset kemudian dibagi menjadi data latih (396.554 sampel) dan data uji (169.952 sampel)
Catatan:
SMOTE (Synthetic Minority Over-sampling Technique) adalah algoritma over-sampling yang digunakan dalam machine learning untuk mengatasi masalah ketidakseimbangan kelas (imbalanced classes) dalam dataset. Ketidakseimbangan kelas terjadi ketika jumlah sampel dari satu kelas (kelas mayoritas) jauh lebih banyak daripada jumlah sampel dari kelas lain (kelas minoritas).
2. Visualisasi Data
a. Analisis Distribusi Kelas Target (Fraud vs Non-Fraud)
Grafik yang ditampilkan menunjukkan distribusi kelas pada data transaksi, khususnya membandingkan antara transaksi yang tergolong non-fraud (tidak penipuan) dengan transaksi yang tergolong fraud (penipuan).
Sumbu X (Class): Mewakili dua kategori data:
0: Transaksi non-fraud atau normal
1: Transaksi fraud atau penipuan
Sumbu Y (Count): Menunjukkan jumlah transaksi dalam masing-masing kategori.
Terlihat bahwa jumlah transaksi dengan label 0 (non-fraud) sangat tinggi, sekitar 270.000+ transaksi, sementara transaksi dengan label 1 (fraud) hampir tidak terlihat di grafik karena jumlahnya sangat kecil, kemungkinan hanya ratusan atau kurang dari 1% dari total data.
b. Visualisasi Distribusi Fitur Numerik
Berdasarkan grafik, mayoritas nilai transaksi berada di bawah 500, dengan jumlah mencapai lebih dari 1,4 juta transaksi. Sementara itu, nilai transaksi di atas 5000 sangat jarang terjadi. Bahkan, transaksi bernilai ekstrem hingga 25.000 hampir tidak terlihat karena jumlahnya sangat kecil. Hal ini menunjukkan bahwa data sangat tidak seimbang, dengan konsentrasi tinggi pada transaksi bernilai rendah.
c. Visualisasi Distribusi Fitur Waktu
Gambar tersebut menunjukkan distribusi waktu transaksi dalam bentuk histogram, dengan sumbu X mewakili waktu dalam satuan detik sejak awal pencatatan, dan sumbu Y menunjukkan jumlah transaksi yang terjadi. Terlihat bahwa distribusi ini memiliki dua puncak utama, yaitu sekitar detik ke-75.000 dan detik ke-150.000, yang mengindikasikan bahwa transaksi paling banyak terjadi pada dua rentang waktu tertentu, kemungkinan pada siang hingga malam hari. Di antara dua puncak tersebut terdapat penurunan tajam, yang kemungkinan mencerminkan waktu malam atau dini hari saat aktivitas transaksi menurun.
d. Analisis Korelasi Antar Fitur
Menunjukkan "Heatmap Korelasi Fitur" yang menampilkan matriks korelasi antara berbagai fitur dalam sebuah dataset, termasuk "Time", "V1" hingga "V28", "Amount", dan "Class". Warna pada heatmap menunjukkan kekuatan dan arah korelasi: warna merah mengindikasikan korelasi positif yang kuat (mendekati 1), warna biru mengindikasikan korelasi negatif yang kuat (mendekati -1), dan warna putih/abu-abu menunjukkan korelasi yang lemah atau tidak ada (mendekati 0).
e. Transaksi Fraud vs Non-Fraud
Grafik boxplot transaksi non-fraud (Class 0) maupun transaksi fraud (Class 1) didominasi oleh nilai-nilai yang sangat rendah, terlihat dari rentang interkuartil (kotak) yang pendek dan dekat dengan nol pada kedua kelas. Namun, terdapat perbedaan signifikan pada sebaran nilai yang lebih tinggi: Class 0 menunjukkan banyak outlier atau transaksi non-fraud dengan nilai yang jauh lebih besar, sementara transaksi fraud (Class 1) memiliki nilai maksimum (outlier) yang tampak jauh lebih rendah.
f. Beberapa Pasangan Fitur
Mengambil contoh V1 dan V2 divisualisasikan dengan scatterplot
Distribusi Class 0 (biru) dan Class 1 (oranye) menunjukkan overlapping yang signifikan, khususnya di area V1 antara -10 hingga 0 dan V2 antara 0 hingga 20. Class 1 cenderung terkonsentrasi di bagian atas grafik dengan nilai V2 positif, sementara Class 0 lebih tersebar luas, menempati nilai V2 negatif dan V1 yang lebih negatif.
Model Prediktif
Confusion Matrix:
Classification Report: Laporan ini memberikan metrik kinerja untuk setiap kelas (0 dan 1) dan juga rata-rata keseluruhan.
Rata-rata Keseluruhan:
ROC AUC Score:
Semakin dekat kurva ke sudut kiri atas, semakin baik kemampuan model dalam membedakan kelas positif (fraud) dan negatif (non-fraud).
Model menghasilkan AUC (Area Under Curve) sebesar 0.97, yang berarti model sangat andal dan memiliki tingkat prediksi yang sangat baik. Nilai AUC mendekati 1 menunjukkan bahwa model hampir sempurna dalam memisahkan antara transaksi fraud dan non-fraud
Kesimpulan
Melalui tahapan EDA, diperoleh pemahaman awal mengenai struktur data, distribusi kelas (fraud vs non-fraud), dan hubungan antar fitur. Hasil EDA menunjukkan bahwa data bersifat sangat tidak seimbang, dengan jumlah transaksi fraud jauh lebih sedikit dibanding transaksi normal. Selain itu, fitur-fitur dengan korelasi tinggi terhadap target Class berhasil diidentifikasi sebagai fitur penting.
Pada tahap preprocessing, dilakukan normalisasi data, penghapusan duplikasi, dan penyeimbangan data menggunakan metode SMOTE. Setelah itu, model Linear Regression digunakan sebagai metode prediktif, dengan pendekatan threshold untuk mengubah output regresi menjadi klasifikasi fraud atau non-fraud.
Hasil pengujian menunjukkan bahwa model memberikan performa yang sangat baik, dengan akurasi sebesar 93%, precision untuk fraud 97%, dan ROC AUC Score sebesar 0.9657, yang mengindikasikan kemampuan klasifikasi yang sangat kuat.