SISFO vol5no2 sept 2014 E-Journal Collections

advertisement
DIAGNOSA PENYAKIT JANTUNG MENGGUNAKAN TEKNIK
AUTOMATIC POST PRUNING DECISION TREE
Susilawati, Aullia Rachman, Andi Batari Nurulniza, Chandra Prasetyo Utomo
Universitas 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
dapat disebabkan oleh gaya hidup yang salah
seperti sering begadang, merokok, minum
beralkohol, dan makanan minuman yang tidak
sehat lainnya (Majid, 2008).
Jantung memiliki fungsi penting dalam tubuh
manusia yaitu sebagai pemompa yang melakukan 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.
Penyakit jantung merupakan penyakit pembunuh 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.
Gagal jantung adalah kondisi yang menyebabkan 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 zatzat kimia seperti penggunaan obat yang
berlebihan. Serangan terhadap jantung juga
Deteksi dini pada penyakit ini sebenarnya dapat
dilakukan melalui diagnosa yang tepat dari seorang 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 fasilitas
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
132
Susilawati, dkk., Diagnosa Penyakit Jantung menggunakan Teknik Automatic Post Pruning Decision Tree
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.
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 langkahlangkah untuk mengimplementasikan penelitian
ini. Bab eksperimen, hasil dan analisa menjelaskan hasil dan analisis yang di dapat setelah
melakukan eksperimen dan pengujian. Bab
terakhir akan memuat kesimpulan dari
penelitian ini dan saran untuk pengembangan
kedepannya.
Terdapat beberapa penelitian dalam memprediksi penyakit jantung, diantaranya adalah
penelitian yang dilakukan oleh Palaniappan dan
Awang dengan melakukan komporasi tiga metode 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 penerapan algoritma Decision Tree (C4.5) menggunakan metode adaboost oleh Abdul Rohman
menghasilkan akurasi yang tinggi sebesar
92.24%. Akan tetapi, nilai akurasi yang dihasilkan algoritma Decision Tree tanpa adaboost
lebih kecil yaitu 86,59% (Rohman, n.d.).
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 menunjukkan 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, masingmasing 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 penyakit, metode yang diusulkan memberikan akurasi
90,57% yang menunjukkan perbaikan dari metode yang ada (Bhatia, Prakash, & Pillai, 2008).
Berdasarkan permasalahan yang telah di
ungkapkan di atas, maka diperlukan sistem yang
dapat menentukan seseorang terdiagnosa penyakit jantung. Sebelum membuat sistem pendukung 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 mendapatkan representasi pengetahuan yang tepat
dan memiliki akurasi optimal.
Penelitian ini akan menggunakan algoritma
decision tree dengan teknik pruning yang bertujuan untuk mengoptimalkan hasil pohon keputusan dengan akurasi optimal. Teknik pruning
terbagi 2 macam yaitu prepruning dan postpruning. Pada Prepruning proses pruning dilakukan diawal sedangkan Postpruning proses
pruning dilakukan setelah tree telah dihasilkan.
Teknik pruning yang digunakan dalam penelitian 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 otomatis membandingkan akurasi setiap level pruning.
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 kesehatan profesional. Hasil dari rancangan sistem ini
dengan Multi-Layer Perception menghasilkan
akurasi sebesar 81,85% dan dari Multi-Layer
Perception with Dagging Approach menghasilkan akurasi sebesar 84,58%. Diagnosa penyakit
jantung secara efektif dikembangkan menggunakan eclipse sebagai compiler utama, SQL
sebagai alat pengembang database dan bahasa
Java sebagai bahasa pemrograman. HDD menggunakan metodologi Rapid Application Development (RAD) untuk menjaga sistem yang
lebih sistematis (Ching, 2012).
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
133
Jurnal Sistem Informasi, Volume 5, Nomor 2, September 2014, hlm. 132-137
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).
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 sebelumnya tumbuh dan mengklasifikasian training
set sebelum sempurna.
Postpruning memungkinkan tree untuk
menglasifikasikan training set secara sempurna dan kemudian melakukan post prune
tree.
2. METODOLOGI
Decision Tree merupakan algoritma klasifikasi
sederhana namun efektif, salah satu keuntungannya 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 menggunakan 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. Dalam 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 dipilih pada cabang sebelumnya dan diambil
data yang mewakili kelas terbanyak untuk
dijadikan label kelas. (Aryandika, 2009)
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 menaikkan level tree yang dihasilkan. Sedangkan,
Automatic post pruning proses pruning dilakukan secara otomatis dengan membandingkan
akurasi setiap level pruning tanpa harus menaikan level pruningnya secara manual sehingga
hasil yang dikeluar adalah hasil tree dari
decision tree yang optimal.
3. HASIL dan PEMBAHASAN
Selain itu, dalam pengaplikasian algoritma
Decision tree memungkinkan terjadinya overfitting. 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,
Eksperimen dalam penelitian ini akan menjelaskan hal – hal yang dilakukan dan diuji dalam
penelitian diagnosa Penyakit Jantung menggunakan Pruning Decision Tree. Eksperimen ini
dilakukan dengan tiga tahapan. Pada tahap
pertama adalah melakukan pengumpulan data.
134
Susilawati, dkk., Diagnosa Penyakit Jantung menggunakan Teknik Automatic Post Pruning Decision Tree
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.
mendapatkan akurasi dari tree yang di hasilkan
dengan training data untuk mengukur keakuratan dari tree yang dihasikan. Dilihat dari
akurasi tree yang di hasilkan adalah akurasi tree
dari level pruning terakhir. Dikarnakan overfitting 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 menggunakan metode SVM dan ANN untuk memperkuat 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.
Tabel 1. Variabel dari data Statlog (Heart) Data Set
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Variabel
age
sex
chest pain type (4 values)
resting blood pressure
serum cholestoral in
mg/dl
6. fasting blood sugar >
120 mg/dl
resting
electrocardiographic
results (values 0,1,2)
maximum heart rate
achieved
exercise induced angina
oldpeak = ST depression
induced by exercise
relative to rest
the slope of the peak
exercise ST segment
number of major vessels
(0-3) colored by
flourosopy
thal: 3 = normal; 6 =
fixed defect; 7 =
reversable defect
predicted
Jenis Nilai
Number
0,1
1,2,3,4
Number
Number
0,1
0,1,2
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 :
Number
0, 1
Decimal
1,2,3
Tabel 2. Perbandingan akurasi, TPR, dari FPR.
Metode
Decision Tree
Decision Tree with
Pruning
SVM
Multilayer
Perceptron (ANN)
0,1,2,3
3,6,7
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).
Akurasi
79.63%
83.33%
TPR
0.682
0.864
FPR
0.125
0.187
80.74%
81.11%
0.807
0.811
0.204
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%.
Pada tahap ketiga, menggunakan metode Decision Tree dengan teknik pruning dengan menguji training data dengan algoritma decision
tree untuk mendapatkan hasil tree secara visual.
Setelah itu, menguji testing data untuk
135
Jurnal Sistem Informasi, Volume 5, Nomor 2, September 2014, hlm. 132-137
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.
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 meningkatkan 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 4 Perbandingan akurasi Traning, Testing, Validasi.
136
Susilawati, dkk., Diagnosa Penyakit Jantung menggunakan Teknik Automatic Post Pruning Decision Tree
3.
AKURASI
84.00%
83.00%
82.00%
81.00%
80.00%
79.00%
78.00%
77.00%
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 pendukung 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 IntegerCoded 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.saedsayad.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.
Akurasi
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 sedangkan Decision tree dengan pruning menghindari
terjadinya overfitting dimana mencari titik optimal 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.
137
Download