AUTOMATIC POST PRUNING DECISION TREE
Susilawati, Aullia Rachman, Andi Batari Nurulniza, Chandra Prasetyo UtomoUniversitas YARSI
Jl.Let.Jend.Suprapto Cempaka Putih, Jakarta Pusat, 10510 Telp: (021) 4206675, Fax: (021) 4243171 E-mail: [email protected]
Abstract
Heart disease or coronary heart disease is one of the deadly diseases in the world, including in Indonesia.Patients with acute coronary syndrome is a clinical manifestation of acute coronary heart disease, have a risk of serious complications that can lead to death. Other research has used data mining technigues to helep the physicians in the diagnosis of heart disease. One of the techniques of data mining is the implementation of Decision Tree is more complex and global and flexible in selecting features from different internal nodes, will be easier to know what are the factors that can causing heart disease.
Abstrak
Penyakit jantung ataupun penyakit jantung koroner merupakan salah satu penyakit yang mematikan didunia,termasuk di Indonesia. Penderita sindroma koroner akut (SKA) yang merupakan manifestasi klinis akut penyakit jantung koroner, mempunyai risiko komplikasi yang serius bahkan bisa berujung pada kematian. Penelitian lain telah menggunakan teknik data mining untuk membantu ahli medis untuk mendeteksi penyakit jantung.Salah satu teknik data mining adalah penerapan Decision Tree yang lebih kompleks dan global serta fleksibel dalam memilih features dari internal nodes yang berbeda, akan lebih memudahkan mengetahui faktor-faktor apa saja yang dapat menyebabkan penyakit jantung. Kata kunci: penyakit jantung, data mining, decision tree.
1. PENDAHULUAN
Jantung memiliki fungsi penting dalam tubuh manusia yaitu sebagai pemompa yang mela-kukan tekanan terhadap darah agar darah dapat mengalir ke seluruh bagian tubuh melalui pembuluh darah arteri maupun vena. Pembuluh darah arteri dan vena berguna sebagai saluran darah untuk didistribusikan oleh jantung ke seluruh tubuh dan dikembalikan ke jantung. Darah berjalan melalui sistem sirkulasi dari jantung melalui dua lengkung sirkulasi vaskuler (pembuluh darah) yang terpisah.
Gagal jantung adalah kondisi yang menye-babkan jantung mengalami gangguan atau sama sekali tidak berfungsi. Kondisi ini bisa terjadi mendadak secara perlahan dan akhirnya menimbulkan gagal jantung. Penyebab utamanya adalah terhambatnya asupan darah ke otot-otot jantung yang menyebabkan tidak seimbangnya antara kebutuhan dan ketersediaan oksigen, sehingga pembuluh-pembuluh darah yang biasanya mengalirkan darah ke otot-otot jantung tersebut akan tersumbat atau mengeras, baik karena lemak koresterol ataupun oleh zat-zat kimia seperti penggunaan obat yang berlebihan. Serangan terhadap jantung juga
dapat disebabkan oleh gaya hidup yang salah seperti sering begadang, merokok, minum beralkohol, dan makanan minuman yang tidak sehat lainnya (Majid, 2008).
Penyakit jantung merupakan penyakit pembu-nuh nomor satu di dunia. Jumlah penderita penyakit ini terus bertambah. Menurut catatan WHO (World Health Organization) di tahun 2015, angka kematian akibat penyakit jantung dan pembuluh darah diperkirakan meningkat menjadi 20 juta jiwa. Lalu di tahun 2030 akan diperkirakan meningkat kembali sampai titik angka 23,6 juta penduduk.
Deteksi dini pada penyakit ini sebenarnya dapat dilakukan melalui diagnosa yang tepat dari seo-rang dokter. Akan tetapi permasalahan yang dihadapi adalah tidak semua dokter di Indonesia memiliki keahlian yang sama dalam melakukan diagnosa pada penyakit jantung. Selain itu, tidak semua rumah sakit di Indonesia memiliki fasili-tas yang memadai untuk melakukan pemeriksaaan penyakit jantung secara menyeluruh (Soni, 2011). Deteksi dini sangat penting untuk seseorang yang telah mempunyai gejala-gejala penyakit jantung seperti nyeri dada kiri menjalar ke leher atau rahang kiri dan
lengan kiri atau punggung, nyeri dada seperti tertimpa benda berat dan nyeri pada ulu hati. Dengan adanya deteksi dini penyakit jantung seseorang dapat berhati-hati agar tidak terserang penyakit yang mematikan tersebut.
Terdapat beberapa penelitian dalam mem-prediksi penyakit jantung, diantaranya adalah penelitian yang dilakukan oleh Palaniappan dan Awang dengan melakukan komporasi tiga me-tode yaitu Naives Bayes, Decision Tree dan
Artificial Neural Network (ANN) dengan total
kasus 909 dan 15 atribut. Hasil dari penilitan tersebut metode Decision tree menghsilkan nilai terbaik. Penelitian penyakit jantung dengan pe-nerapan algoritma Decision Tree (C4.5) meng-gunakan metode adaboost oleh Abdul Rohman menghasilkan akurasi yang tinggi sebesar 92.24%. Akan tetapi, nilai akurasi yang dihasil-kan algoritma Decision Tree tanpa adaboost lebih kecil yaitu 86,59% (Rohman, n.d.).
Berdasarkan permasalahan yang telah di ungkapkan di atas, maka diperlukan sistem yang dapat menentukan seseorang terdiagnosa penya-kit jantung. Sebelum membuat sistem pendu-kung keputusan untuk penyakit jantung, harus dilakukan penelitian untuk penentuan hal-hal apa saja yang diperlukan dalam menentukan seseorang terdiagnosa penyakit jantung. Maka dari itu, penelitian ini bertujuan untuk men-dapatkan representasi pengetahuan yang tepat dan memiliki akurasi optimal.
Penelitian ini akan menggunakan algoritma
decision tree dengan teknik pruning yang
bertu-juan untuk mengoptimalkan hasil pohon kepu-tusan dengan akurasi optimal. Teknik pruning terbagi 2 macam yaitu prepruning dan
postpru-ning. Pada Prepruning proses pruning
dila-kukan diawal sedangkan Postpruning proses
pruning dilakukan setelah tree telah dihasilkan.
Teknik pruning yang digunakan dalam pene-litian ini adalah post pruning dengan membuat penambahan ide yaitu automatic post pruning. Pada Post pruning yang konvensional, proses
pruning dilakukan secara manual dengan menaikkan level tree yang dihasilkan sedangkan
automatic post pruning dilakukan secara
otoma-tis membandingkan akurasi setiap level pruning.
Hasil dari penelitian ini menunjukkan bahwa
decision tree dengan teknik pruning dapat
meningkatkan akurasi dari decision tree biasa, sehingga mendapatkan akurasi dan bentuk tree yang optimal serta menghasilkan representasi pengetahuan yang baik. Pada bab pendahuluan telah di bahas tentang pentingnya jantung dan hasil penelitian yang telah dilakukan untuk mendiagnosa penyakit jantung. Bab selanjutnya
adalah tinjauan pustaka dimana bab ini akan membahas teknik data mining yang digunakan oleh beberapa peneliti untuk mendiagnosa penyakit jantung beserta akurasinya. Bab desain dan implementasi akan membahas tentang metode yang telah dilakukan dan langkah-langkah untuk mengimplementasikan penelitian ini. Bab eksperimen, hasil dan analisa menje-laskan hasil dan analisis yang di dapat setelah melakukan eksperimen dan pengujian. Bab terakhir akan memuat kesimpulan dari penelitian ini dan saran untuk pengembangan kedepannya.
Beberapa penelitian tentang pendeteksi penyakit jantung diantaranya adalah penelitian yang telah melakukan uji coba pada sistem cerdas
Intellegent Heart Disesase Prediction System
(IHDPS) dengan menggunakan tiga algoritma, yaitu algoritma decision tree, naive bayes, dan
ANN. Hasil dari penelitian tersebut
menun-jukkan nilai akurasi masing-masing 89%, 86% dan 85%. Algoritma decision tree menunjukkan prediksi dengan tingkat akurasi yang paling tinggi (Soni, 2011). Terdapat pula penelitian yakni sistem pendukung untuk klasifikasi penyakit jantung berdasarkan Support Vector
Mechine (SVM) dan algoritma integercoded Genetic Algorithm (GA) yang menggunakan Cleveland database penyakit jantung dengan
303 kasus dan terbagi dalam 5 kelas, masing-masing dengan 13 fitur diagnostik. Hasil dari 5 kelas penelitian ini menunjukkan klasifikasi peningkatan akurasi secara keseluruhan ketika menggunakan fitur bagian optimal dan akurasi mencapai 72,55% yang menunjukkan potensi sistem yang akan digunakan untuk sistem pendukung keputusan yang praktis. Sebagai dua masalah kelas yaitu, penyakit atau tidak penya-kit, metode yang diusulkan memberikan akurasi 90,57% yang menunjukkan perbaikan dari me-tode yang ada (Bhatia, Prakash, & Pillai, 2008).
Gambaran proyek lain adalah Heart Disease
Diagnosis System (HDD) dengan menerapkan
teknik Case-Based Reasoning (CBR). Sistem ini disajikan di aplikasi Java agar mudah diakses oleh pengguna seperti dokter dan pihak keseha-tan profesional. Hasil dari rancangan sistem ini dengan Multi-Layer Perception menghasilkan akurasi sebesar 81,85% dan dari Multi-Layer
Perception with Dagging Approach
menghasil-kan akurasi sebesar 84,58%. Diagnosa penyakit jantung secara efektif dikembangkan menggu-nakan eclipse sebagai compiler utama, SQL sebagai alat pengembang database dan bahasa
Java sebagai bahasa pemrograman. HDD
meng-gunakan metodologi Rapid Application
Deve-lopment (RAD) untuk menjaga sistem yang
Penelitian lain yang masih berkaitan dengan penelitian sebelumnya yakni prediksi penyakit jantung menggunakan algoritma klasifikasi yang diproses melalui aplikasi WEKA machine
learning. Hasil penelitian tersebut menunjukkan
hasil bahwa algoritma decision tree memiliki tingkat akurasi yang paling tinggi yakni 99.2 % dibandingkan dengan algoritma naive bayes dan classification via clustering, dengan presentase akurasi sebesar 96.5 % dan 88.3 % (Widiastuti, Informasi, & Gunadarma, 2007).
2. METODOLOGI
Decision Tree merupakan algoritma klasifikasi
sederhana namun efektif, salah satu keuntu-ngannya adalah menyediakan human-readable
rules of classification (Benhaim, 2010). Salah
satu algoritma Decision Tree adalah algoritma ID3 yang membentuk pohon keputusan dengan metode divide-and-conquer secara rekursif dari atas ke bawah.
Pembentukan Decision Tree dengan algoritma ID3 dimulai dengan menentuan node tunggal (akar/root) yang merepresentasikan semua data. Sesudah node root dibentuk, maka data pada node akar akan diukur dengan information gain untuk dipilih atribut mana yang akan dijadikan atribut pembaginya. Sebuah cabang dibentuk dari atribut yang dipilih menjadi pembagi dan data akan didistribusikan ke dalam cabang masing-masing. Algoritma ini akan terus meng-gunakan proses yang sama atau bersifat rekursif untuk dapat membentuk sebuah Decision Tree. Ketika sebuah atribut telah dipilih menjadi node pembagi atau cabang, maka atribut tersebut tidak diikutkan lagi dalam penghitungan nilai
information gain. Proses pembagian rekursif
akan berhenti jika salah satu dari kondisi dibawah ini terpenuhi:
1. Semua data dari anak cabang telah termasuk dalam kelas yang sama.
2. Semua atribut telah dipakai, tetapi masih tersisa data dalam kelas yang berbeda. Da-lam kasus ini, diambil data yang mewakili kelas yang terbanyak untuk menjadi label kelas pada node daun.
3. Tidak terdapat data pada anak cabang yang baru. Dalam kasus ini, node daun akan dipi-lih pada cabang sebelumnya dan diambil data yang mewakili kelas terbanyak untuk dijadikan label kelas. (Aryandika, 2009) Selain itu, dalam pengaplikasian algoritma
Decision tree memungkinkan terjadinya over-fitting. Konsep overfitting ini sangat penting
dalam data mining karena biasanya terjadi ketika tree memiliki node relative yang terlalu banyak terhadap ketersediaan jumlah training
data, dengan meningkatkan jumlah node,
training error biasanya menurun dan dibeberapa titik generalization error menjadi lebih buruk. Untuk menghindari terjadinya overfitting dalam membangun decision tree ada dua pendekatan yang harus dilakukan, yaitu:
Prepruning berhenti ketika tree
sebelum-nya tumbuh dan mengklasifikasian training
set sebelum sempurna.
Postpruning memungkinkan tree untuk
menglasifikasikan training set secara sem-purna dan kemudian melakukan post prune
tree.
Gambar 1 Automatic Post Pruning
Automatic post pruning adalah pengembangan
dari post pruning yang memiliki perbedaan, dimana post pruning konvensional melakukan proses pruning setelah tree dibentuk, akan tetapi untuk melihat akurasi dari setiap level pruning harus dilakukan secara manual dengan mena-ikkan level tree yang dihasilkan. Sedangkan,
Automatic post pruning proses pruning
dila-kukan secara otomatis dengan membandingkan akurasi setiap level pruning tanpa harus mena-ikan level pruningnya secara manual sehingga hasil yang dikeluar adalah hasil tree dari
decision tree yang optimal.
3. HASIL dan PEMBAHASAN
Eksperimen dalam penelitian ini akan menjelas-kan hal – hal yang dilakumenjelas-kan dan diuji dalam penelitian diagnosa Penyakit Jantung menggu-nakan Pruning Decision Tree. Eksperimen ini dilakukan dengan tiga tahapan. Pada tahap pertama adalah melakukan pengumpulan data.
Data yang diuji di ambil dari UCI Machine
Learning Repository mengunakan data set Statlog (Heart), pengembangan dari data Heart Disease dari Cleveland Clinic Foundation, Hungarian Institute of Cardiology, Budapest, V.A. Medical Center, Long Beach, CA dan University Hospital, Zurich, Switzerland pada
data tersebut terdapat 270 data, dataset memiliki 14 variabel pada Tabel 1.
Tabel 1. Variabel dari data Statlog (Heart) Data Set
No Variabel Jenis Nilai
1 age Number
2 sex 0,1
3 chest pain type (4 values) 1,2,3,4
4 resting blood pressure Number 5 serum cholestoral in
mg/dl
Number
6 6. fasting blood sugar > 120 mg/dl 0,1 7 resting electrocardiographic results (values 0,1,2) 0,1,2
8 maximum heart rate achieved
Number
9 exercise induced angina 0, 1 10 oldpeak = ST depression
induced by exercise relative to rest
Decimal
11 the slope of the peak exercise ST segment
1,2,3
12 number of major vessels (0-3) colored by flourosopy 0,1,2,3 13 thal: 3 = normal; 6 = fixed defect; 7 = reversable defect 3,6,7 14 predicted 1,2
Pada tahap kedua, melakukan dengan membagi data menjadi tiga bagian training, testing, dan validasi data dengan pembagian random dengan
training 60%, testing 20%, validasi 20% dengan
mengubah isi value variabel predicted dari numerik (nilai) menjadi kategori (string).
Pada tahap ketiga, menggunakan metode
Deci-sion Tree dengan teknik pruning dengan
me-nguji training data dengan algoritma decision
tree untuk mendapatkan hasil tree secara visual.
Setelah itu, menguji testing data untuk
mendapatkan akurasi dari tree yang di hasilkan dengan training data untuk mengukur keaku-ratan dari tree yang dihasikan. Dilihat dari akurasi tree yang di hasilkan adalah akurasi tree dari level pruning terakhir. Dikarnakan
over-fitting adalah kelemahan decision tree, maka
harus dilakukan metode postpruning untuk mengetahui level pruning tree terbaik. Untuk menghasilkan level pruning tree dengan akurasi optimal, dengan melakukan uji terhadap validasi data terhadap setiap level pruning tree untuk mendapatkan level pruning optimal secara visual. Pengujian juga dilakukan dengan meng-gunakan metode SVM dan ANN untuk memper-kuat hasil penelitian dengan parameter yang di bandingkan yaitu akurasi, True Positif Rate dan
False Positif Rate yang dihasilkan. Setelah itu,
dari yang dihasilkan dari metode lain yang digunakan akan dibandingkan dengan hasil dari level pruning optimal yang dihasilkan.
Penelitian ini diuji dengan notebook Asus dengan spesifikasi prosessor i3, RAM 6 GB,
Harddisk 500gb dengan menggunakan software
MATLAB untuk menguji decision tree dan
decision tree dengan pruning sedangkan untuk
pengujian dengan SVM dan ANN menggunakan perangkat lunak WEKA. Dari eksperimen yang dilakukan, hasil yang didapatkan yaitu :
Tabel 2. Perbandingan akurasi, TPR, dari FPR.
Metode Akurasi TPR FPR
Decision Tree 79.63% 0.682 0.125 Decision Tree with
Pruning 83.33% 0.864 0.187 SVM 80.74% 0.807 0.204 Multilayer Perceptron (ANN) 81.11% 0.811 0.201
Dari Tabel 2 menunjukan setelah di lakukan pengujian pada setiap metode maka dihasilkan bahwa Decision tree with pruning memiliki akurasi yang paling tinggi dengan akurasi 83.33% di bandingan dengan decision tree biasa. Gambar 2 adalah tree yang di hasilkan dalam pengujian menggunakan training data yang memiliki akurasi testing data sebesar 79.63%. Gambar 3 adalah hasil dari validasi data dan testing data yang menghasilkan tree paling optimal dengan proses pruning dengan akurasi sebesar 83.33%.
Gambar 2 Decision tree no pruning
Gambar 3 Decision tree Optimal dengan Pruning.
3.3 Analisa
Analisa dalam penelitian ini akan menjelaskan cara menganalisa hasil – hasil dari eksperimen yang dilakukan.
Gambar 4 Perbandingan akurasi Traning, Testing, Validasi.
Dari Gambar 4 berisi akurasi dari seluruh level
pruning yang di hasilkan, dimana level 0 adalah
akurasi dari level pruning tree terakhir dari tree pada Gambar 4 Dilihat dari tingkat akurasi dari setiap level pruning dari Testing data dan Validasi data menunjukan bahwa Pruning level 3 adalah model tree paling optimal seperti pada Gambar 5 yang memiliki akurasi pada level pruning 3 pada validasi data mencapai 75.92 % dan akurasi level 3 pada testing data mecapai 83,33 %, maka dapat di simpulkan bahwa tree paling optimal adalah tree pada level pruning ketiga (Gambar 4). Dari penelitian lain yang lakukan menggunakan metode-metode lain yaitu: Decision Tree, ANN dan SVM. Terlihat
Decision tree dengan pruning dapat
meningkat-kan hasil akurasi dari decision tree, dimana
decision tree dengan pruning menghasilkan tree
paling optimal dari tree yang di hasilkan oleh
decision tree dengan akurasi optimal. Sehingga
dapat terlihat representasi pengetahuan dari tree diagnosa penyakit jantung.
Gambar 5 Grafik Akurasi tiap Algoritma Decision tree dengan pruning dapat meningkatkan akurasi dikarnakan metode
Decision tree biasa memiliki overfitting yang
disebabkan tree dan akurasi yang dihasilkan adalah dalam bentuk terakhir yang memliki akurasi 79,62 %. Oleh karena itu, dengan menguji Decision tree dengan pruning ternyata meningkat dengan akurasi 83,33 % dan tree yang lebih sederhana. Ini menjawab bahwa
Decision tree biasa memiliki overfitting
sedang-kan Decision tree dengan pruning menghindari terjadinya overfitting dimana mencari titik opti-mal dari tree yang di hasilkan.
4. SIMPULAN dan SARAN
Dari hasil penelitian ini dapat disimpulkan: 1. Pohon keputusan memiliki akurasi yang
paling optimal di bandingkan dengan metode-metode lain seperti ANN dan SVM. 2. Pohon keputusan dengan pruning dapat
menghasilkan representasi pengetahuan yang optimal sehingga memudahkan bagi diagnosis penyakit jantung.
3. Dengan menggunakan teknik pruning pohon keputusan akan lebih mudah di baca dan hasilnya lebih akurat
Penelitian ini berhasil menghasilkan akurasi yang optimal serta representasi pengetahuan yang sederhana. Pengembangan kedepannya dari penelitian ini dengan membuat sistem pen-dukung keputusan secara user interface untuk penyakit jantung sehingga dapat membantu dokter dalam mendiagnosa penyakit jantung.
5. DAFTAR RUJUKAN
Aryandika. (2009). Posts about personality test on Live for what we share. Retrieved June 29, 2014, from https://yeyekh.wordpress-.com/tag/personality-test/
Ben-haim, Y. (2010). A Streaming Parallel Decision Tree Algorithm, 11, 849–872. Bhatia, S., Prakash, P., & Pillai, G. N. (2008).
SVM Based Decision Support System for Heart Disease Classification with Integer-Coded Genetic Algorithm to Select Critical Features.
Majid, A., & Utara, U. S. (2008). PENYAKIT JANTUNG KORONER :
No Title. (2012), (June).
Rohman, A. (n.d.). Penerapan algoritma c4.5 berbasis adaboost untuk prediksi penyakit jantung, 40–49.
Sayad, D. S. (2010). Decision Tree. Retrieved June 29, 2014, from http://www.saed-sayad.com/decision_tree_overfitting.htm Soni, J. (2011). Predictive Data Mining for
Medical Diagnosis : An Overview of Heart Disease Prediction, 17(8), 43–48.
Widiastuti, D., Informasi, J. S., & Gunadarma, U. (2007). Analisa Perbandingan Algoritma SVM, Naïve Bayes dan Decision Tree dalam Mengklasifikasikan Serangan (Attacks). 1–8. 77.00% 78.00% 79.00% 80.00% 81.00% 82.00% 83.00% 84.00%