5
No. 3
(Jurnal Edukasi dan Penelitian Informatika) Desember
ISSN(e): 2548-9364 / ISSN(p) : 2460-0741 2019
2azminuddinazis@unisan.ac.id
3budysantoso@unisan.ac.id
4sunartotaliki@unisan.ac.id
Abstrak— Kematian yang disebabkan penyakit jantung tertinggi setelah Stroke sebagai penyebab kematian, yaitu
masih sangat tinggi, sehingga perlu peningkatan upaya-upaya sebesar 12.9% [1].
pencegahannya, misalnya dengan meningkatkan capaian Dengan demikian, perlu peningkatan upaya-upaya
model prediksinya. Penerapan metode-metode machine pencegahannya, seperti deteksi dini penyakit jantung yang
learning pada dataset publik (Cleveland, Hungary,
Switzerland, VA Long Beach, & Statlog) yang umumnya
dapat dilakukan melalui diagnosa oleh dokter. Namun
digunakan oleh para peneliti untuk prediksi penyakit masyarakat umumnya malas melakukan cek kesehatan
jantung, termasuk pengembangan alat bantunya, masih secara berkala, minimnya pengetahuan mereka mengenai
belum menangani missing value, noisy data, unbalanced class, penyakit jantung, dan kendala biaya dapat mempersulit
dan bahkan data validation secara efisien. Oleh karena itu, deteksi dini penyakit jantung [4]. Alternatif alat bantu
pendekatan imputasi mean/mode diusulkan untuk menangani untuk prediksi penyakit jantung dapat menjadi salah satu
missing value replacement, Min-Max Normalization untuk solusi dari kesulitan tersebut. Oleh karena itu, peningkatan
menangani smoothing noisy data, K-Fold Cross Validation capaian model prediksi penyakit jantung perlu terus
untuk menangani data validation, dan pendekatan ensemble ditingkatkan sehingga dapat digunakan untuk
menggunakan metode Weighted Vote (WV) yang dapat
pengembangan alat bantunya.
menyatukan kinerja tiap-tiap metode machine learning untuk
mengambil keputusan klasifikasi sekaligus untuk mereduksi Pendekatan Machine Learning (ML) memiliki potensi
unbalanced class. Hasil penelitian ini menunjukkan bahwa besar untuk mengatasi masalah-masalah dalam domain
metode yang diusulkan tersebut memberikan akurasi sebesar biomedis komputasi [5], seperti prediksi penyakit jantung.
85,21%, sehingga mampu meningkatkan kinerja akurasi Dataset publik yang umumnya digunakan oleh para
metode-metode machine learning, selisih 7,14% dengan peneliti dalam menemukan model ML yang paling akurat
Artificial Neural Network, 2,77% dengan Support Vector untuk prediksi penyakit jantung tersedia di UCI Machine
Machine, 0,34% dengan C4.5, 2,94% dengan Naïve Bayes, dan Learning Repository (Cleveland, Hungary, Switzerland,
3,95% dengan k-Nearest Neighbor. VA Long Beach, & Statlog) [6]. Kelima dataset tersebut
memiliki karakteristik variabel yang sama (secara rinci
Kata kunci— machine learning, weighted vote, ensemble, ditunjukkan pada Tabel 1), sehingga dapat disatukan.
prediksi penyakit jantung, unbalanced class Kecuali Statlog dataset, keempat dataset lainnya
memiliki masalah Missing Value (MV) dan Unbalanced
I. PENDAHULUAN
Class (UC) yang memang sering terjadi pada data klinis
Data World Health Organization (WHO) pada tahun harus dikendalikan dengan sangat hati-hati, karena sangat
2012 menunjukkan 17.5 juta jiwa (31%) penduduk di dunia berefek pada hasil prediksi [7], [8]. Sementara adanya
meninggal akibat penyakit jantung dan jumlah tersebut outlier atau anomali pada data dapat menyebabkan Noisy
akan terus meningkat [1], [2]. Sementara data The Institute Data (ND) atau data yang tidak konsisten [7], [9],
for Health Metrics and Evaluation (IHME) pada tahun berdampak buruk terhadap kinerja model [10]. Begitupun
2016 menunjukkan 17.7 juta jiwa (32.26%) penduduk di dengan Data Validation (DV), tekniknya mesti tepat,
dunia meninggal karena penyakit jantung [3]. Survei dari partisi data latih dan data uji harus menjamin bahwa semua
Sample Registration System pada tahun 2014 di Indonesia sampel digunakan untuk pelatihan dan pengujian model,
menunjukkan Penyakit Jantung Koroner berada pada posisi setiap label class mestinya terwakili secara merata pada
pelatihan model [9]. Secara rinci, masalah MV dan UC
A. Mean/Mode untuk MVR Gambar 2. Jaringan ANN untuk prediksi penyakit jantung
MV yang jumlahnya sedikit dapat diatasi dengan cara Arsitektur jaringan tersebut menunjukkan bahwa suatu
membuangnya. Namun jika MV jumlahnya banyak, seperti jaringan ANN memiliki tiga layer, yaitu input layer, hidden
pada beberapa dataset prediksi penyakit jantung, maka layer, dan output layer. Suatu jaringan ANN memiliki pula
membuangnya dapat menghilangkan informasi yang tiga komponen, yaitu synapse (w1, w2, …, wn), adder, dan
mungkin penting, mengakibatkan bias [31]. Pendekatan fungsi aktifasi (f). Model matematika ketika komponen
imputasi merupakan salah satu strategi yang dapat tersebut diformulasikan dengan Persamaan (3) yang
digunakan untuk mengatasi MV [9], [31]. Imputasi secara diperkenalkan oleh Mc. Culloch & Pitts.
sederhana dapat dilakukan dengan mengganti MV menjadi 𝑛
nilai mean (1) pada variabel numerik dan nilai mode pada
𝑦 = 𝑓(∑ 𝑥𝑖 𝑤𝑖 ) (3)
variabel kategorikal [7], [9], [31], [33].
𝑖=1
𝑛
1 Dimana signal x berupa vektor berdimensi n (x1, x2, …, xn)
µ= ∑ 𝑥𝑖 (1)
𝑛
𝑖=1
akan mengalami penguatan oleh synapse w (w1, w2, …, wn).
Selanjutnya, akumulasi dari penguatan tersebut akan
B. Min-Max Normalization untuk SND mengalami transformasi oleh fungsi aktifasi f. Fungsi f ini
Adanya outlier atau anomali pada data dapat akan memonitor, bila akumulasi penguatan signal itu telah
menyebabkan ND [7], [9], berdampak buruk terhadap melebihi batas tertentu.
kinerja model [10]. Intinya, outlier mestinya dibuang
E. Support Vector Machine (SVM)
dengan cara mendeteksinya lebih dahulu, misalnya dengan
model prediksi. Namun cara lain yang klasik dan dapat Metode SVM yang digunakan adalah algoritma Binary
diterapkan untuk mereduksi ND yaitu dengan melakukan SVM, ditunjukkan pada Persamaan (4), dimana n
normalisasi data, salah satunya menggunakan pendekatan merupakan jumlah data yang menjadi support vector,
Min-Max Normalization (2) [10]. dibawah Kendala (5). Apabila data bersifat non-linier,
maka pendekatan kernel dapat diterapkan.
𝐺(𝑠, 𝑗)
𝑅𝑎𝑡𝑖𝑜 𝐺𝑎𝑖𝑛(𝑠, 𝑗) = (9)
𝑆𝑃(𝑠, 𝑗)
P(vi|s) merupakan proporsi nilai v muncul pada class dalam
node. E(si) merupakan Entropy komposisi nilai v dari class
ke-j dalam data ke-i suatu node. Selanjutnya n merupakan
jumlah nilai yang berbeda dalam node. Sementara k
merupakan jumlah pemecahan.
G. Naïve Bayes (NB)
Metode NB (10) bekerja berdasarkan teori probabilitas,
dimana P(Ck) adalah probabilitas dari class ke-k = 1, 2, …,
l. P(Xij|Ck) adalah probabilitas atribut ke-j = 1, 2, …, m. Gambar 3. Cara Kerja Ensemble - WV
C(Xi) adalah class hasil klasifikasi instance ke-i = 1, 2, …
Algoritma WV adalah sebagai berikut:
n.
1. Hitung akurasi rata-rata (1), maksimum, dan minimum
𝑚
dari k-Fold Cross Validation (k=10) untuk tiap-tiap
𝐶(𝑋𝑖 ) = argmax 𝑃(𝐶𝑘 ) ∏ 𝑃(𝑋𝑖𝑗 |𝐶𝑘 ) (10) metode machine learning yang digunakan.
𝐶𝑘 ∈𝑌
𝑗=1 2. Normalisasikan nilai akurasi rata-rata, maksimum, dan
Jika variabel bertipe numerik, maka distribusi Gaussian minimum tersebut menggunakan Min-Max
(11) dapat digunakan. Normalization (2) dengan range [0.1, 1] untuk tiap-tiap
metode machine learning yang digunakan.
1 (𝑥−𝜇)2
𝑃(𝑥𝑘 |𝐶𝑖 ) = 𝑒𝑥𝑝
−
2𝜎2 (11) 3. Hitung selisih antara mi dengan 1 (14), dimana mi adalah
𝜎√2𝜋 hasil normalisasi metode machine learning ke-i = 1,
2, …, j.
H. k-Nearest Neighbor (k-NN)
Algoritma k-NN (12) bekerja berdasarkan perhitungan 𝑚𝑖 = 1 − 𝑚 𝑖 (14)
jarak atau kemiripan antar data. 4. Hitung weight (15) untuk tiap-tiap metode machine
𝑛 learning yang digunakan.
𝑦 ′ = 𝑎𝑟𝑔𝑚𝑎𝑥 ∑ 𝑥𝑖 𝑦𝑖 ∈ 𝐷𝑧 𝐼(𝑣 = 𝑦𝑖 ) (12) 𝑚𝑖
𝑖=1 𝑤𝑖 = (15)
𝑣 ∑𝑗𝑖=1 𝑚𝑖
Standarnya, perhitungan jarak mengunakan metode 5. Dapatkan keputusan klasifikasi (16), dimana y(xd)
Euclidean (13). Simpan hasilnya di dalam D, dan pilih Dz adalah hasil keputusan klasifikasi (label class) instance
ke-d dari metode Weighted Vote, yc adalah label class TABEL VII
DATASET MIXING
ke-c, yi adalah label class prediksi mi (metode ke-i = 1,
2, …, j). Dataset Class Label UC
𝑗 D1 0 0; 1 1, 2, 3, 4 54,13%; 45,87% No
D2 0 0; 1 1 63,95%; 36,05% Yes
𝑦(𝑥𝑑 ) = argmax ∑ 𝑤𝑖 (𝑖𝑓 𝑦𝑖 = 𝑦𝑐 ) (16) D3 0 0; 1 1, 2, 3, 4 6,50%; 93,50% Yes
𝑦𝑐 𝜖𝑌
𝑖=1 D4 0 0; 1 1, 2 ,3 ,4 25,50%; 74,50% Yes
J. Evaluasi Model Klasifikasi D5 0 1; 1 2 55,56%; 44,44% No
All 0; 1 41,13%; 58,87% No
Pengukuran kinerja suatu model klasifikasi dapat
menggunakan Confusion Matrix untuk memperoleh nilai Label output (class) tiap-tiap dataset berbeda-beda
accuracy, recall (specificity dan sensitivity), precision, dan namun memiliki karakteristik yang sama. Dengan
F-Measure yang ditunjukkan pada Tabel 5. demikian, masalah UC yang terjadi pada semua dataset
kecuali Statlog dataset diatasi dengan menggabungkan
TABEL V
CONFUSION MATRIX data yang termasuk class 1 (ada indikasi positif penyakit
jantung), 2 (>1), 3 (>2), dan 4 (positif penyakit jantung)
Actual + Actual - Precision menjadi class 1, sementara class 0 tetap class 0, sehingga
Predicted + TP FP TP/(TP+FP) * akhirnya antara class 0 dan 1 menjadi seimbang. Hal ini
Predicted - FN TN TN/(TN+FN) juga membuat Statlog dataset yang hanya memiliki class 1
Recall TP/(TP+FN) TN/(TN+FP)
(negatif penyakit jantung) dan 2 (positif penyakit jantung)
F-Measure (2*Precision*Sensitivity)/(Precision+Sensitivity)
yang tidak memiliki masalah UC dapat digabungkan
Accuracy (TP+TN) / (TP+TN+FN+FP)
Keterangan: T (True); F (False); P (Positive); N (Negative)
dengan dataset lainnya dengan cara yang sama.
Sementara masalah ND diatasi dengan melakukan
III. HASIL PENELITIAN normalisasi (Min-Max Normalization) data dalam
jangkauan 0-1. Misalnya nilai xij = 8, nilai maksimum dari
Tools yang digunakan untuk ekperimen dan
pengembangan aplikasi (simulasi) yaitu Matlab. Prosedur atribut j = 10, dan nilai minimum dari atribut j = 1, maka
yang dilakukan sesuai dengan langkah-langkah dalam normalisasi data dengan jangkauan [0 1] adalah:
metode yang diusulkan, yaitu: (1) Pra pengolahan yang (8 − 1)
((1 − 0) + 0) = 0,78
terdiri dari dataset mixing, MVR, SND, dan DV; (2) (10 − 1)
Pemodelan dan Evaluasi; dan (3) Simulasi.
Tabel 8 menunjukkan hasil normalisasi data yang telah
A. Hasil Pra Pengolahan dilakukan menggunakan metode Min-Max Normalization.
Langkah pertama yang dilakukan setelah TABEL VIII
mengumpulkan data yaitu dataset mixing untuk menangani HASIL NORMALISASI DATA
masalah UC (ditunjukkan pada Tabel 6 dan Tabel 7). Selain No X1 X2 X3 - X 12 X13 Y
dengan pendekatan dataset mixing, masalah UC ditangani 1 0,71 1 … 0,75 0
pula dengan pendekatan ensemble menggunakan metode 2 0,80 1 … 0,00 1
WV. … … … … … …
1190 0,80 1 … 0,00 1
TABEL VI
VARIABEL OUTPUT (Y)
begitu banyak jumlah MV pada dataset, sehingga iterasi k-Fold Cross Validation. Selain itu, tujuan WV
membuangnya merupakan suatu kesalahan. Membuang dalam hal ini untuk meningkatkan akurasi metode-metode
MV yang banyak tentu saja dapat membuang beberapa ML, sekaligus mereduksi UC. Berikut ini adalah contoh
informasi yang mungkin penting, sehingga dapat perhitungan ML-WV (Tabel 12). Akurasi metode-metode
menimbulkan bias. Oleh karena itu kami melakukan MVR. ML yang digunakan adalah akurasi dari opsi percobaan B
TABEL IX sebagai opsi percobaan yang memberikan akurasi terbaik
OPSI EKSPERIMEN terhadap metode-metode ML.
A B (proposed) C (not compare) TABEL XII
PERHITUNGAN MANUAL ML-WV
Dataset Mixing Dataset Mixing Dataset Mixing
MVR MVR No MVR (Removed) ANN SVM C4.5 K=10 NB k-NN Jumlah
No SND SND No SND 1
76,01 85,20 99,29 72,90 81,10
100,00 16,00
14,00
95,00
12,00
90,00 10,00
85,00 8,00
6,00
80,00 4,00
75,00 2,00
0,00
70,00 ANN SVM C4.5 NB k-NN
65,00 A 14,39 4,54 3,53 3,03 13,86
60,00 B 7,14 2,77 0,34 2,94 3,95
ML-
ANN SVM C4.5 NB k-NN
WV
Gambar 8. Selisih akurasi ML-WV dengan metode-metode ML
A 70,40 80,25 81,26 81,76 70,93 84,79
B 78,07 82,44 84,87 82,27 81,26 85,21 C. Simulasi
Setelah model terbaik untuk prediksi penyakit jantung
Gambar 5. Akurasi tiap-tiap metode pada opsi percobaan A dan B diperoleh, tahap terakhir yang dilakukan adalah melakukan
Sementara itu, waktu proses (detik) yang dibutuhkan simulasi terhadap model tersebut yang ditunjukkan pada
tiap-tiap metode ditunjukkan pada Gambar 6. Metode ANN Gambar 9. Adapun prosedur menggunakan aplikasi
membutuhkan waktu proses yang paling lama. Waktu simulasi ini adalah sebagai berikut:
proses juga menunjukkan bahwa adanya penurunan waktu 1. User menginput data deteksi penyakit jantung.
proses setelah dilakukan MVR dan SND. 2. User menekan tombol process yang akan menampilkan
informasi:
2,000 - Keputusan atau output deteksi dini penyakit
1,750 jantung, apakah negatif atau positif kemungkinan
1,500 terkena penyakit jantung.
1,250 - Output tersebut diberikan oleh tiap-tiap metode ML
1,000 dengan tingkat akurasinya masing-masing.
0,750 - Output dengan tingkat kepercayaan yang paling
0,500 tinggi diberikan oleh metode ML-WV dengan
0,250 tingkat bobot dari tiap-tiap label output (negatif atau
0,000
ML-
positif), label output yang memiliki tingkat bobot
ANN SVM C4.5 NB k-NN tertinggi adalah keputusan deteksi (berwarna
WV
A 1,860 0,316 0,286 0,009 0,011 0,002 merah).
B 0,954 0,275 0,235 0,007 0,009 0,004 3. User menekan tombol save untuk menyimpan data
tersebut.
Gambar 6. Waktu proses antara opsi percobaan A dan B Selanjutnya, pengembangan aplikasi untuk deteksi dini
penyakit jantung dapat dikembangkan bagi masyarakat
Hasil evaluasi menunjukkan peningkatan kinerja akurasi umum, sehingga masyarakat tidak perlu mengeluarkan
setelah dilakukan MVR dan SND (opsi percobaan B) pada biaya yang besar untuk itu. Selain itu, dapat pula
setiap metode yang selisihnya ditunjukkan pada Gambar 7. memudahkan pekerjaan dokter jantung yang tidak mudah
Sedangkan metode yang diusulkan (ML-WV) juga dijumpai di daerah-daerah. Bahkan bisa jadi dapat
menunjukkan peningkatan kinerja akurasi dari tiap-tiap mereduksi tingkat kematian yang disebabkan penyakit
metode ML yang selisihnya ditunjukkan pada Gambar 8. jantung, dimana penyakit ini termasuk jenis penyakit silent
killer, sehingga deteksi dininya sangatlah dibutuhkan.
11,00
10,00
9,00
8,00
7,00
6,00
5,00
4,00
3,00
2,00
1,00
0,00
ML-
ANN SVM C4.5 NB k-NN
WV
B-A 7,67 2,19 3,61 0,51 10,33 0,42
Gambar 7. Selisih akurasi metode antara opsi percobaan B – A Gambar 9. Simulasi deteksi dini penyakit jantung berbasis ML–WV