Fakultas Ilmu Komputer
Universitas Brawijaya 2664
Penerapan Algoritma Decision Tree C4.5 Untuk Deteksi Fraud Pada Kartu Kredit dengan Oversampling Synthetic Minority Technique (SMOTE)
Ludgerus Darell Perwara1, Fitra A. Bachtiar2, Indriati3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Pada perkembangan teknologi saat ini, kartu kredit dipandang sebagai cara yang mudah dan praktis dalam melakukan transaksi, karena selain mudah digunakan transaksi dengan kartu kredit hanya membutuhkan beberapa persyaratan. Namun meningkatnya penggunaan kartu kredit memunculkan tindak kriminal yang merugikan nasabah maupun pihak bank. Data Mining dipandang sebagai metode yang tepat untuk menyelesaikan masalah ini, maka pada penelitian ini akan menggunakan metode Decision Tree C4.5 untuk mendeteksi fraud pada transaksi kartu kredit. Dikarenakan munculnya fraud pada setiap transaksi jarang terjadi dan lebih banyak transaksi normal, penelitian ini juga akan menambah metode oversampling SMOTE yang dapat membuat data fraud sintetik dengan tujuan menyeimbangkan kelas. Hasil penelitian ini menghasilkan nilai akurasi sebesar 78%, nilai precision sebesar 89,65%, nilai recall sebesar 85,71% dan f-measure sebesar 87,64% dengan nilai N pada SMOTE sebesar 500% dan nilai depth pada Decision Tree C4.5 = 15. Sehingga dapat disimpulkan bahwa penerapan Decision Tree C4.5 dalam kasus mendeteksi fraud pada transaksi kartu kredit baik dilakukan dengan oversampling SMOTE.
Kata kunci: Kartu Kredit, Fraud, Decision Tree C4.5, Oversampling, SMOTE Abstract
In today's technological developments, credit cards are seen as an easy and practical way of making transactions, because apart from being easy to use transactions with credit cards only require a few requirements. However, the increasing use of credit cards has resulted in criminal acts that harm both customers and banks. Data mining is seen as the right method to solve this problem, so this research will use the Decision Tree C4.5 method to detect fraud in credit card transactions. Because the occurrence of fraud on every transaction is rare and there are more normal transactions, this study will also add to the SMOTE oversampling method that can create synthetic fraud data with the aim of balancing class. The results of this study produce an accuracy value of 78%, a precision value of 89.65%, a recall value of 85.71% and an f-measure of 87.64% with an N value of 500% in SMOTE and a depth value of the Decision Tree C4. 5 = 15. So, it can be concluded that the implementation of Decision Tree C4.5 in the case of detecting fraud in credit card transactions is best done by oversampling SMOTE.
Keywords: Credit Card, Fraud, Decision Tree C4.5, Oversampling, SMOTE
1. PENDAHULUAN
Fraud dapat didefinisikan sebagai tindak penipuan atau tindak kriminal yang bertujuan menghasilkan keuntungan finansial. Akibat dari tindakan tersebut akan menjadi permasalahan yang serius bagi pihak perseorangan, perusahaan maupun institusi (Ravisankar et al., 2011). Jenis fraud sendiri dapat dibedakan menjadi beberapa macam yakni, mulai dari jenis fraud yang paling terkenal yakni penipuan dalam transaksi kartu
kredit, pencucian uang dan penipuan dalam panggilan atau penggunaan layanan telekomunikasi dan penipuan sistem asuransi (Sahin and Duman, 2011). Dalam penipuan penggunaan kartu kredit dibagi menjadi dua bagian yakni inner card fraud dalam arti adanya persetujuan antara pemegang kartu dan pihak bank untuk membuat identitas palsu dan melakukan penipuan dan external card fraud yang berati adanya keterlibatan dalam pencurian kartu kredit (Awoyemi, Adetunmbi and
Oluwadare, 2017). Beberapa sudah mencoba memecahkan solusi ini dengan menerapkan metode Data Mining dengan tujuan mengklasifikasikan dengan benar mana transaksi kartu kredit yang sah dan yang tidak sah. Namun penelitian dan studi dalam kasus mendeteksi fraud pada kartu kredit memiliki sejarah yang Panjang dan tidak banyak penelitian pada bidang ini, dikarenakan pihak bank tidak siap untuk mengungkapkan data transaksi pelanggan mereka dengan alasan privasi (Seeja and Zareapoor, 2014).
Beberapa studi yang sudah mencoba untuk mendeteksi fraud dalam kasus kartu kredit pernah dilakukan dengan membandingkan setiap metode Tree Rule seperti C4.5 , REP Tree , Random Tree dan Logistic Model Tress, penelitian ini menggunakan dataset German Credit Card dan Australian Credit Card, hasil dari percobaan ini adalah mendapatkan metode C4.5 sebagai metode yang memiliki nilai f- measure tertinggi sebesar 47,2% dengan perbandingan imbalance 80 banding 20. Dataset pada transaksi kartu kredit umumnya memiliki kecenderungan transaksi normal yang lebih banyak dibandingkan transaksi fraud, maka hal ini dapat menyebabkan ketidakseimbangan kelas dan mempengaruhi performa dari Decision Tree C4.5 , hal tersebut didukung oleh percobaan yang pernah dilakukan oleh (Chawla, 2003) yakni membandingkan metode Decision Tree C4.5 dengan 5 dataset yang tidak seimbang , hasil percobaan tersebut menunjukan nilai median AUC tertinggi diraih saat menggunakan oversampling kelas minoritas dengan SMOTE, dikarenakan penggunakan SMOTE mempengaruhi ruang fitur dataset dan memperluas keputusan saat training dan meningkatkan generalisasi data. Penggunaan oversampling SMOTE dalam kasus deteksi fraud pada kartu kredit dapat meningkatkan performa pada metode yang berbasis Tree Rule seperti Random Forest, dimana saat diuji dengan dataset Credit Card Fraud dari MLB didapatkan nilai precision dan recall sebesar 91% dan 80%, dibandingkan jika tidak menggunakan oversampling hanya didapatkan nilai precision dan recall sebesar 80% dan kurang dari 80%
(Taneja and Technique, 2019).
Berdasarkan permasalahan yang dikemukakan dan penelitian sebelumnya, maka penulis melakukan penelitian dengan judul
“Penerapan Algoritma Decision Tree C4.5 untuk Deteksi Fraud Pada Kartu Kredit Dan Oversampling Synthetic Minority Oversampling
Technique (SMOTE)”. Diharapkan algoritma Decision Tree C4.5 dan oversampling SMOTE dapat menghasilkan klasifikasi fraud atau non- fraud dengan benar.
2. DASAR TEORI 2.1. Fraud
Laporan keuangan juga menjadi alat referensi oleh pelaku bisnis, namun tak jarang beberapa orang memanipulasi laporan keuangan dengan cara mengabaikan angka yang salah atau merubah angka dengan sengaja untuk mencapai tujuan tertentu (Indarti, 2019).
Berdasarkan pernyataan Auditing Standarts (SAS) no.99 mendefinisikasikan fraud adalah tindak kecurangan yang disengaja dan menyebabkan mistatement pada laporan keuangan.
2.2. Preprocessing
Dalam proses Data Mining, data yang digunakan kemungkinan akan memiliki inkonsistensi, kesalahan di luar nilai kisaran, kombinasi data yang acak dan nilai yang hilang.
Dengan preprocessing data dapat mengubah hal yang tidak praktis menjadi mudah untuk dicapai(Garcia Leiva et al., 2019).
2.3. Normalisasi
Penelitian yang pernah dilakukan oleh (García, Luengo and Herrera, 2016) yakni pengaruh preprocessing pada Data Mining, salah satunya adalah normalisasi. Dengan tujuan untuk menyamakan rentang dan menetapkan rentang. Persamaan Normalisasi dapat dilihat pada Persamaan 1 dibawah ini.
𝑋 = 𝑋𝑖−𝑋𝑚𝑖𝑛
𝑋𝑚𝑎𝑥−𝑋𝑚𝑖𝑛 (1)
Keterangan : 𝑋𝑖 = data ke-i 𝑋𝑚𝑖𝑛 = Data terkecil 𝑋𝑚𝑎𝑥 = Data Terbesar
2.4. Denormalisasi
Denormalisasi data dialkukan untuk merubah kembali ke data asli setelah dialkukan proses normalisasi. Persamaan denormalisasi dapat dilihat pada persamaan 2 dibawah ini.
𝑑 = 𝑑𝑖(𝑋𝑚𝑎𝑥− 𝑋𝑚𝑖𝑛) + 𝑋𝑚𝑖𝑛 (2)
Keterangan:
𝑑𝑖 = data hasil normalisasi 𝑋𝑚𝑖𝑛 = Data terkecil 𝑋𝑚𝑎𝑥 = Data Terbesar
2.5. Class Imbalance Problem
Data yang memiliki distribusi kelas yang tidak seimbang dapat diartikan bahwa data tersebut mengalami Class Imbalance Problem (Ling and Sheng, 2010). Kondisi ini umunya terjadi saat salah satu kelas memiliki jumlah yang lebih banyak dibandingkan dengan kelas lain nya, sehingga salah satu kelas menjadi mayoritas dan sisanya menjadi kelas minoritas.
2.6. Synthetic Minority Oversampling Technique (SMOTE)
SMOTE (Synthetic Minority Oversampling Technique) merupakan salah satu teknik yang digunakan untuk mengatasi permasalahan Class Imbalance Problem (CIP). SMOTE bekerja dengan memodifikasi dataset yang tidak seimbang menjadi seimbang dengan cara membuat data sintetik baru dari kelas minoritas.
Berikut adalah langkah-langkah dalam algoritma SMOTE.
1. Hitung perbedaan antar vector dari instance pertama dengan k-tetangga terdekat.
2. Dari perbedaan tersebut dikalikan dengan bilangan acak diantara 0 hingga 1.
3. Hasil perbedaan tersebut ditambahkan pada vector utama, sehingga akan membuat instance terbaru.
2.7. Decision Tree C4.5
Decision Tree C4.5 merupakan salah satu metode klasifikasi yang dikembangkan oleh Quinlan Ross pada tahun 1986 dan merupakan perkembangan dari metode ID3 (Dima and Ceterchi, 2015). Metode ini dibangun dari Node yang merupakan atribut dan didasari dari algoritma Hunt. Adapun persamaan Decision Tree C4.5 dapat dilihat pada persamaan 3, 4 dan 5 dibawah ini.
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑠) = − ∑𝑛𝑖=1𝑝(𝑤𝑖|𝑠)𝑙𝑜𝑔2 𝑝(𝑤𝑖|𝑠) (3)
𝐺𝑎𝑖𝑛(𝑠, 𝑗) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑠) −
∑𝑛𝑖=1𝑝(𝑣𝑖|𝑠) ∗ 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑠)∗ 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑠𝑖) (4) Keterangan :
𝑠 = Partisi Data antar kelas.
𝑖 = Jumlah partisi Features.
𝑛= Jumlah Features.
𝑝 = Proporsi dari 𝑤𝑖terhadap 𝑠 . 𝑝(𝑣𝑖|𝑠)= Proporsi nilai 𝑣 yang muncul.
𝐺𝑎𝑖𝑛(𝑠, 𝑗) = Gain pada feature ke-i.
2.8. Confusion Matrix
Pengujian pada Supervised Machine Learning umumnya memiliki beberapa cara dalam mengevaluasi kinerja dari suatu algoritma. Dalam menentukan ukuran kualitas dari sebuah klasifikasi , dapat membangun sebuah matriks yang mencatat seberapa banyak benar dan salah nya dalam hal melakukan klasifikasi dengan nama lain Confusion Matrix (Sokolova, Japkowicz and Szpakowicz, 2006).
Dari confusion matrix dapat ditentukan nilai akurasi, precision, recall dan f-measure yang dapat dilihat pada persamaan 6, 7, 8 dan 9.
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑡𝑝+𝑡𝑛
𝑡𝑝+𝑓𝑝+𝑓𝑛+𝑡𝑛 (6)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑡𝑝
𝑡𝑝+𝑓𝑝 (7)
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑡𝑝
𝑡𝑝+𝑓𝑛 (8)
𝐹 − 𝑀𝑒𝑎𝑠𝑢𝑟𝑒 = 2(𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 (9) Keterangan:
tp: True Positive tn: True Negative fp: False Positive fn: False Negative
3. METODOLOGI 3.1. Tipe Penelitian
Penelitian yang dilakukan ini merupakan tipe penelitian non-implementatif analitik.
Dimana penelitian ini bertujuan untuk mengetahui hubungan antar variable dalam objek penelitian sebagai dasar untuk mengambil keputusan, dimana fokus penelitian ini adalah klasifikasi fraud dengan Decision Tree C4.5 dan oversampling SMOTE.
3.2. Pengumpulan Data
Pengumpulan data dilaksanakan dengan mengambil dataset yang merupakan dataset dari sebuah kompetisi FINHACKS 2018. Data yang digunakan merupakan data sintetik dan bukan data real. Jumlah record yang tersedia adalah sebanyak 13.125 record namun dikarenakan keterbatasan komputasi maka data diambil subseting sebesar 500 data dan diambil secara acak.
3.3. Perancangan Sistem
Perancangan yang akan dibuat dalam sistem ini ditunjukan pada Gambar 1 dibawah ini.
Gambar 1. Diagram Alir Sistem
Setelah semua data sudah terkumpul.
Perancangan ini dimulai dalam tahap preprocessing data yakni normalisasi, kemudia dilanjutkan dengan oversampling SMOTE dan nilai normalisasi dikembalikan ke nilai semula dengan melakukan denormalisasi, jika sudah mendapatkan data sintetik hasil oversampling, maka tahap selanjutnya adalah melakukan training dengan dataset yang sudah digabung dengan data sintetik.
3.4. Evaluasi Model
Penelitian yang dilakukan ini akan menggunakan pengukuran dari confusion matrix agar dapat diperoleh nilai akurasi, precision, recall dan F-Measure sebagai titik ukur pengujian parameter N pada oversampling SMOTE dan parameter depth pada metode Decision Tree C4.5 yang terbaik.
4. PENGUJIAN DAN ANALISIS
Pada tahap pengujian parameter N pada oversampling SMOTE dan pengujian Depth pada Decision Tree C4.5, dilakukan secara bertahap. Pengujian pertama dilakukan pada pengujian parameter N pada SMOTE untuk mengetahui pengaruh pada nilai Akurasi, Precision, Recall dan F-measure terhadapat semakin banyaknya data sintetik yang dibuat terhadap klasifikasi dengan Decision Tree C4.5.
Pengujian selanjutnya adalah pengujian nilai Depth terbaik pada metode Decision Tree C4.5, yakni bertujuan untuk mengetahui jumlah maksimum depth yang paling optimal dari nilai akurasi, precision, recall dan f-measure untuk klasifikasi fraud pada transaksi kartu kredit.
Parameter pengujian yang digunakan pada penelitian ini adalah sebagai berikut.
• Nilai N pada SMOTE: 0%, 100%, 200%, 300% ,400% dan 500%.
• Nilai maksimum Depth: 5, 10, 15, 20 dan 25.
4.1. Pengujian Nilai N pada SMOTE
Hasil dari pengujian nilai N pada SMOTE dilakukan dengan cara menerapkan k-fold cross validation. Dengan nilai k = 5 dan jumlah data yang digunakan adalah sebanyak 500 data. Nilai N memiliki arti jumlah data sintetik yang akan dihasilkan. Hasil pengujian nilai N pada dilihat pada Gambar 2 dibawah ini.
Gambar 2. Hasil Pengujian Nilai N
Berdasarkan hasil Gambar 2 diatas dapat dilihat jika nilai akurasi tertinggi dicapai saat nilai N = 400%, nilai precision tertinggi dicapai pada saat nilai N= 400%, nilai recall tertinggi dicapai saat nilai N = 500% dan nilai f-measure tertinggi dicapai pada saat nilai N= 500%. Dari hasil tersebut menunjukan jika pengaruh semakin tinggi nilai N pada SMOTE terlihat pada nilai akurasi, precision, recall dan f- measure namun kenaikan ini hanya sedikit dan tidak signifikan. Dari hasil uji coba diatas maka dapat disimpulkan bahwa nilai N terbaik dalam oversampling SMOTE untuk kasus deteksi fraud pada kartu kredit adalah sebesar 500%. Adapun permasalahan ini muncul dikarenakan metode SMOTE dapat mempelajari data fraud untuk dibuat sintetiknya dan membantu metode Decision Tree C4.5 untuk mempelajari lebih banyak data fraud. Sehingga saat diberikan data uji hasilnya menjadi meningkat. Percobaan oversampling saat nilai N = 100% menghasilkan nilai akurasi maupun f-measure yang lebih rendah dari nilai N = 0% atau tidak dilakukan oversampling, namun proses oversampling ini tetap dilanjutkan hingga nilai N yang sudah ditentukan yakni 500%, untuk melihat apakah ada peningkatan baik di nilai akurasi, precision, recall dan f-measure. Dari percobaan yang sudah dilakukan dimulai dari nilai N = 0% hingga 500% menunjukan bahwa peningkatkan nilai N pada oversampling SMOTE meningkatkan performa dari metode Decision Tree C4.5.
Secara keseluruhan Decision Tree C4.5 dapat bekerja dengan baik dalam hal klasifikasi kelas biner.
4.2. Pengujian Parameter Depth Tree
Hasil pengujian berikutnya adalah pengujian parameter Depth Tree pada metode Decision Tree C4.5. Dimana pada pengujian ini dilakukan dengan data dari fold pertama dan dengan nilai N = 0% atau tidak dilakukan oversampling.
Tabel 1. Hasil pengujian parameter Depth Tree Depth Akurasi Precision Recall F-Measure
5 85% 93,33% 90,32% 91,8%
10 85,5% 93,3% 90,32% 91,8%
15 88% 93,3% 93,33% 93,3%
20 88% 93,3% 93,3% 93,3%
25 88% 93,3% 93,3% 93,3%
Berdasarkan hasil dari Tabel 1 diatas, maka dapat dilihat jika ada perubahan dari nilai akurasi, recall dan f-measure dari depth =5 dan depth = 10. Nilai depth = 15 menjadi nilai depth terbaik karna ada peningkatan dari nilai akurasi hingga f-measure. Saat diujicobakan untuk nilai Depth = 20 dan 25 tidak mengalami perubahan atau tetap. Maka dapat disimpulkan nilai Depth Tree = 15 menjadi nilai optimal untuk klasifikasi fraud pada kartu kredit.
4.3. Analisis Global
Analisis global memuat hasil analisis klasifikasi dengan nilai parameter terbaik yang sudah dilakukan pada pengujian sebelumnya.
Berikut adalah parameter terbaik untuk nilai N pada SMOTE dan nilai depth terbaik pada metode Decision Tree C4.5.
• Nilai N pada SMOTE: 500%
• Nilai Parameter Depth: 15
Dengan parameter Nilai N pada oversampling terbaik = 500% dan nilai Depth pada Decision Tree C4.5 terbaik = 15, nilai akurasi yang didapatkan adalah sebesar 78%, nilai precision sebesar 89,65%, nilai recall sebesar 85,71% dan nilai F-measure sebesar 87,64%. Maka dalam penelitian untuk kasus deteksi fraud pada kartu kredit menunjukan bahwa metode SMOTE dan Decision Tree C4.5 layak untuk digunakan sebagai metode klasifikasi fraud.
5. KESIMPULAN DAN SARAN
Peningkatan nilai N pada oversampling SMOTE berpengaruh terhadap nilai akurasi, precision, recall dan f-measure , bahkan nilai N yang semakin besar dapat meningkatkan performa dari metode Decision Tree C4.5 untuk kasus klasifikasi fraud pada transaksi kartu kredit. Penyebabnya adalah semakin tinggi nilai N pada oversampling SMOTE, maka nilai dari True Positive menjadi naik dan nilai dari False Positive dan False Negative menurun, maka nilai terbaik dalam oversampling SMOTE adalah sebesar 500%.
Perubahan nilai parameter depth pada Decision Tree C4.5 memberikan pengaruh terhadap kenaikan nilai akurasi, precision, recall dan f-measure dalam kasus deteksi fraud pada kartu kredit, maka depth terbaik dalam metode Decision Tree C4.5 untuk kasus deteksi fraud pada kartu kredit adalah sebesar 15.
Saran yang dapat diberikan dari penelitian ini untuk perkembangan penelitian selanjutnya adalah menambah metode undersampling untuk kelas mayoritas, menggunakan seleksi fitur information gain untuk menghilangkan fitur yang tidak digunakan, menggunakan metode oversampling lain seperti ADASYN dan Borderline SMOTE dan menggunakan metode klasifikasi lain seperti Decision Tree C5.0, KNN, SVM dan Jaringan syaraf tiruan.
Adapun perlakukan normalisasi pada data dengan tipe nominal perlu perlakuan khusus, yakni memilih salah satu angka secara random, sedangkan tipe interval perlu dilakukan linear transformation dan tipe rasio perlu dilakukan congruence atau similarity transformation (Fernández et al., 2018)
6. DAFTAR PUSTAKA
Awoyemi, J.O., Adetunmbi, A.O. and
Oluwadare, S.A., 2017. Credit card fraud detection using machine learning
techniques: A comparative analysis.
Proceedings of the IEEE International Conference on Computing, Networking and Informatics, ICCNI 2017, 2017-Janua, pp.1–9.
Chawla, N., 2003. C4. 5 and imbalanced data sets: investigating the effect of sampling method, probabilistic estimate, and decision tree structure.
Dima, M. and Ceterchi, R., 2015. Efficient range minimum queries using binary indexed trees. Olympiads in Informatics, 9(1), pp.39–44.
Fernández, A., García, S., Herrera, F. and Chawla, N. V., 2018. SMOTE for
Learning from Imbalanced Data: Progress and Challenges, Marking the 15-year Anniversary. Journal of Artificial Intelligence Research, 61, pp.863–905.
Garcia Leiva, R., Fernandez Anta, A.,
Mancuso, V. and Casari, P., 2019. A Novel Hyperparameter-Free Approach to
Decision Tree Construction That Avoids Overfitting by Design. IEEE Access, 7, pp.99978–99987.
García, S., Luengo, J. and Herrera, F., 2016.
Tutorial on practical tips of the most influential data preprocessing algorithms in data mining. Knowledge-Based Systems, 98, pp.1–29.
Indarti, I., 2019. Analisis Beneish Ratio Index Untuk Mendeteksi Fraudulent Financial
Reporting Pada Perusahaan Perbankan Yang Terdaftar Di Bursa Efek Indonesia Periode 2015-2016. Jurnal Riset, [online]
1(1), pp.57–66. Available at:
<https://ejournal.stiekesatuan.ac.id/index.p hp/riset/article/view/6>.
Ling, C.X. and Sheng, V.S., 2010. Class Imbalance Problem. In: C. Sammut and G.I. Webb, eds. Encyclopedia of Machine Learning. [online] Boston, MA: Springer US.p.171. Available at:
<https://doi.org/10.1007/978-0-387-30164- 8_110>.
Sahin, Y. and Duman, E., 2011. Detecting Credit Card Fraud by Decision Trees and Support Vector Machines. International Multiconference of Engineers and computer scientists, I, p.6.
Seeja, K.R. and Zareapoor, M., 2014.
FraudMiner: A novel credit card fraud detection model based on frequent itemset mining. Scientific World Journal, 2014.
Sokolova, M., Japkowicz, N. and Szpakowicz, S., 2006. Beyond accuracy, F-score and ROC: A family of discriminant measures for performance evaluation. AAAI
Workshop - Technical Report, WS-06-06, pp.24–29.
Taneja, S. and Technique, S.M.O., 2019.
Application of Balancing Techniques with Ensemble Approach for Credit Card Fraud Detection. 2019 International Conference on Computing, Power and Communication Technologies (GUCON), pp.753–758.