Nusacodes
Kembali ke Showcase
06 September 2026 Muhammad Shaquille Shah Alam Murtopo

Klasifikasi Data Transaksi Keuangan dengan Python

Bootcamp Machine Learning with Python

Klasifikasi Data Transaksi Keuangan dengan Python

Pada Final Project Bootcamp Machine Learning, peserta mengerjakan studi kasus menggunakan dataset transaksi keuangan bank. Dataset tersebut memuat beberapa informasi seperti jenis transaksi (type), metode transaksi (mode), nominal transaksi (amount), saldo saat ini (currentBalance), waktu transaksi, referensi, serta narasi transaksi.

Melalui project ini, peserta menjalankan alur kerja Machine Learning dari tahap memahami dataset, Exploratory Data Analysis, preprocessing, feature engineering, training beberapa model klasifikasi, hingga evaluasi dan perbandingan model.

Studi Kasus: Data Transaksi Keuangan

Pada bagian problem statement, peserta menetapkan tujuan untuk membangun model klasifikasi yang dapat membantu melakukan prediksi berdasarkan data transaksi keuangan. Beberapa algoritma yang disebutkan antara lain Random Forest, Decision Tree, dan K-Nearest Neighbors.

Dalam implementasi notebook, target yang akhirnya digunakan adalah currentBalance yang dibagi menjadi tiga kategori, yaitu:

  • Low
  • Medium
  • High

Dengan demikian, model dilatih untuk mengklasifikasikan kategori saldo berdasarkan fitur-fitur yang tersedia setelah proses preprocessing.

Studi kasus ini memberikan latihan kepada peserta untuk memahami bagaimana data numerik dan kategorikal perlu dipersiapkan terlebih dahulu sebelum digunakan oleh algoritma Machine Learning.

Exploratory Data Analysis

Sebelum membangun model, peserta melakukan Exploratory Data Analysis atau EDA.

Distribusi fitur numerik dianalisis menggunakan histogram, sementara fitur kategorikal divisualisasikan menggunakan count plot. Peserta juga membuat kategori saldo Low, Medium, dan High untuk membandingkan distribusi berbagai fitur terhadap kelompok saldo tersebut.

Selain itu, peserta membuat correlation matrix menggunakan heatmap untuk melihat hubungan antarfitur numerik.

Pada kesimpulan project, peserta mencatat bahwa tidak ditemukan korelasi yang kuat antarfitur numerik karena sebagian besar nilai korelasi berada mendekati nol.

Tahap ini membantu peserta memahami bahwa sebelum memilih model, penting untuk terlebih dahulu mengenali pola, distribusi, serta karakteristik data yang digunakan.

Data Cleaning dan Preprocessing

Peserta kemudian melakukan beberapa proses pembersihan data.

Missing value diperiksa pada seluruh kolom. Data kosong pada kolom narration ditangani dengan menghapus baris yang tidak memiliki nilai, sementara missing value pada kolom reference diisi menggunakan nilai median. Dataset juga diperiksa untuk melihat keberadaan data duplikat.

Setelah data dibersihkan, peserta melakukan standardisasi fitur numerik seperti amount dan currentBalance menggunakan StandardScaler.

Untuk data kategorikal, kolom type diubah menggunakan LabelEncoder, sementara kolom mode diubah menggunakan one-hot encoding melalui get_dummies. Kolom narasi kemudian dikeluarkan dari dataset yang digunakan untuk proses training.

Dari tahap ini, peserta mendapatkan pengalaman bahwa kualitas model sangat bergantung pada bagaimana data disiapkan sebelum proses training.

Membagi Data Training dan Testing

Dataset yang telah diproses kemudian dibagi menjadi training data dan testing data menggunakan train_test_split.

Sebanyak 80% data digunakan untuk training dan 20% digunakan sebagai testing, dengan random_state=42 agar pembagian data dapat direproduksi.

Pada tahap berikutnya, nilai currentBalance sebagai target diubah menjadi tiga kategori klasifikasi menggunakan pd.cut.

Peserta juga menerapkan feature scaling tambahan pada kolom amount sebelum proses model training.

Melatih Lima Model Machine Learning

Salah satu bagian utama dari final project adalah membandingkan beberapa algoritma klasifikasi.

Peserta melatih lima model, yaitu:

  • K-Nearest Neighbors
  • Decision Tree Classifier
  • Random Forest Classifier
  • Support Vector Classifier
  • Logistic Regression

Seluruh model dilatih menggunakan training dataset yang sama sehingga hasilnya dapat dibandingkan menggunakan pendekatan evaluasi yang seragam.

Pendekatan ini memberikan pemahaman bahwa pemilihan algoritma sebaiknya tidak hanya berdasarkan satu model sejak awal. Beberapa algoritma dapat dicoba untuk melihat bagaimana masing-masing bekerja terhadap karakteristik dataset yang sama.

Evaluasi dan Perbandingan Model

Peserta membuat fungsi evaluasi untuk menghitung beberapa metrik penting, yaitu:

Accuracy untuk melihat proporsi prediksi yang benar.

Precision untuk melihat ketepatan prediksi model.

Recall untuk mengukur kemampuan model menemukan kelas yang seharusnya terdeteksi.

Specificity untuk melihat kemampuan model mengenali kelas negatif pada setiap kategori.

Peserta juga menghitung F1 Score dari nilai precision dan recall. Seluruh hasil kemudian digabungkan ke dalam dataframe sehingga performa KNN, Decision Tree, Random Forest, SVC, dan Logistic Regression dapat dibandingkan.

Hasil evaluasi divisualisasikan dalam bentuk bar chart, sedangkan kesalahan dan keberhasilan klasifikasi dianalisis lebih lanjut melalui confusion matrix untuk masing-masing model.

Pada bagian akhir, peserta juga membuat classification report dan confusion matrix khusus untuk model Logistic Regression.

Teknologi yang Digunakan

Final project ini dikerjakan menggunakan Python dengan environment Google Colab.

Beberapa library yang digunakan antara lain Pandas dan NumPy untuk pengolahan data, Matplotlib dan Seaborn untuk visualisasi, serta Scikit-learn untuk preprocessing, pembagian dataset, training model, dan evaluasi performa.

Insight dan Benefit Final Project

Melalui final project ini, peserta berlatih menjalankan workflow Machine Learning secara lebih lengkap: mulai dari memahami problem, membaca dataset, melakukan EDA, membersihkan data, encoding, standardisasi, train-test split, training beberapa algoritma, hingga evaluasi model.

Peserta juga mendapatkan pengalaman membandingkan model berdasarkan beberapa metrik, bukan hanya melihat accuracy.

Yang penting dari project ini bukan sekadar menghasilkan model klasifikasi, tetapi memahami hubungan antara kualitas data, preprocessing, pemilihan fitur, pemilihan algoritma, dan evaluasi hasil model.

Hasil final project ini dapat menjadi bagian dari portfolio peserta untuk menunjukkan pengalaman dasar dalam Machine Learning classification, EDA, data preprocessing, feature scaling, model training, model comparison, dan evaluation menggunakan Python dan Scikit-learn.