• Tidak ada hasil yang ditemukan

SISTEM DETEKSI PENYAKIT DIABETES MENGGUNAKAN METODE SUPPORT VECTOR MACHINES

N/A
N/A
Protected

Academic year: 2021

Membagikan "SISTEM DETEKSI PENYAKIT DIABETES MENGGUNAKAN METODE SUPPORT VECTOR MACHINES"

Copied!
10
0
0

Teks penuh

(1)

Vol. 2, No. 2 (2014), pp. 27–36

SISTEM DETEKSI PENYAKIT DIABETES MENGGUNAKAN METODE SUPPORT VECTOR MACHINES

Abdul Azis Abdillah1 dan Suwarno2

1,2STKIP Surya, 1Politeknik Negeri Jakarta,

Email: 1[email protected];2[email protected]

Abstract

In 2013, Indonesia has around 8.5 million people with diabetes. That is the fourth highest number in Asia and 7th in the world. Diabetes has not been able to be cured at this time. However, early detection and proper treatment can reduce risks of complications of the disease. One of the solution is using pattern recogni-tion methods. Pattern recognirecogni-tion methods used in this study is Support Vector Machines (SVM). Testing was conducted using PIMA Indians Diabetes Database with 10-fold cross validation as experimental design. Detection of diabetes using SVM yields the average value of accuracy of 81.34%, Sensitivity 83.64%, and the specificity 80.09%. The results indicated that the system has good results and can be used an alternative for early detection of diabetes disease.

Keywords: Diabetes, Support Vector Machines, PIMA Abstrak

Pada tahun 2013, Indonesia memiliki sekitar 8,5 juta penderita Diabetes yang merupakan jumlah ke-empat terbanyak di Asia dan nomor-7 di dunia. Penyakit diabetes belum mampu disembuhkan saat ini. Namun, dengan adanya deteksi dini dan penanganan yang tepat dapat mengurangi komplikasi penyakit yang mungkin terjadi. Salah satu cara pendeteksian yang dapat dilakukan adalah menggunakan metode pengenalan pola. Metode pengenalan pola yang digunakan pada penelitian ini adalah Support Vector Machine (SVM). Pengujian dilakukan menggunakan dataset PIMA Indians Diabetes Database dengan desain eksperimen 10-fold cross validation. Deteksi penyakit diabetes menggunakan SVM menghasilkan nilai rata-rata accuracy sebesar 81.34%, Sensitivity 83.64%, dan Specificity 80.09%. Hasil yang diperoleh menunjukkan bahwa sistem yang dibangun memiliki hasil yang baik dan dapat menjadi suatu alternatif untuk deteksi awal penyakit diabetes.

Kata kunci: Diabetes, Support Vector Machines, PIMA

1. Pendahuluan

Diabetes mellitus (DM) yang sering disebut sebagai penyakit kencing manis, adalah suatu kelainan metabolik yang disebabkan oleh tingginya tingkat glukosa darah dalam jangka waktu yang lama [1]. Tanda-tanda umum dari DM adalah hilangnya berat badan, polyuria (sering berkemih), polydipsia (sering haus), dan polyphagia (sering lapar). Jika tidak diobati, diabetes dapat menyebabkan banyak penyakit komplikasi [2], komplikasi jangka panjang dapat menyebabkan penyakit

(2)

serius seperti penyakit jantung, stroke, gagal ginjal, ulkus kaki dan kerusakan pada mata [2].

Pada tahun 2013, Indonesia memiliki sekitar 8,5 juta penderita Diabetes yang merupakan jumlah ke-empat terbanyak di Asia dan nomor-7 di dunia [3]. Tingginya penderita DM dan perkiraan adanya peningkatan pada tahun yang akan datang menyebabkan perlunya antisipasi awal terhadap DM. Menyikapi hal tersebut, maka perlu tindakan pendeteksian dini terhadap penyakit diabetes agar dapat mengu-rangi komplikasi yang mungkin terjadi di masa yang akan datang. Salah satu cara pendeteksian yang dapat dilakukan adalah menggunakan metode pengenalan pola. Pada bidang medis, pendeteksian penyakit menggunakan pengenalan pola baru-baru ini mendapat perhatian lebih. Salah satu yang banyak digunakan adalah Support Vector Machines (SVM).

SVM dikenal sebagai metode pembelajaran mesin (machine learning) paling mutakhir dalam pengenalan pola. SVM dikembangkan oleh Boser, Guyon, Vap-nik, dan pertama kali dipresentasikan pada tahun 1992 di Annual Workshop on Computational Learning Theory. Prinsip dasar SVM adalah klasifikasi biner, dan selanjutnya dikembangkan agar dapat bekerja pada kasus multiclass.

Penelitian awal terkait penyakit diabetes dilakukan oleh Smith, et al [4] meng-gunakan Dataset PIMA menghasilkan nilai sensitivity dan specificity sebesar 76%. Sedangkan, penelitian sebelumnya mengenai deteksi penyakit diabetes menggunakan SVM dengan kernel RBF dilakukan oleh Kumari, et al [5], menghasilkan nilai accu-racy sebesar 78% dengan nilai sensitivity sebesar 80% dan specificity sebesar 76.5%. Pada penelitian ini metode Support Vector Machines digunakan untuk men-ganalisis dan mengimplementasikan sistem deteksi penyakit diabetes. Diharapkan dengan menggunakan sistem ini selain bisa digunakan dalam jangka panjang, biaya dan waktu yang dibutuhkan lebih efisien dibandingkan metode konvensional.

2. Support Vector Machines

Suport Vector Machine (SVM) merupakan salah satu metode machine learning untuk menyelesaikan masalah klasifikasi. Konsep dasar SVM adalah mencari suatu hyperplane yang memisahkan dua buah kelas dengan margin maksimum. Secara teori, pemilihan margin maksimum ini akan memberikan kemampuan generalisasi yang paling baik. Sedangkan secara intuitif, jika marginnya maksimum maka ketika hyperplane optimalnya dicoba pada data selain data pembelajaran namun dengan kasus yang sama maka hyperplane optimal tersebut tetap dapat mengklasifikasi data ke dalam dua kelas dengan baik.

2.1 Maximal Margin Classifier

Misalkan S = {(xi, ti)}i=1,,mmerupakan suatu himpunan dengan m buah data,

dimana xi ∈ Rn dan ti = {1, −1}. Persamaan wTx + b = 0 disebut hyperplane.

Jika suatu data memiliki label ti = 1, maka data tersebut dimasukkan ke dalam

kelas A+ (kelas positif). Sedangkan jika suatu data memiliki label ti = −1, maka

data tersebut dimasukkan ke dalam kelas A− (kelas negatif). Fungsi linier yang

digunakan sebagai fungsi keputusan pada SVM adalah f (x) = wTx + b, dimana x adalah vektor input yang berupa data, w adalah vektor bobot, dan b adalah suatu bias.

(3)

Fungsi keputusan ini digunakan untuk memisahkan dua buah kelas, sehingga untuk setiap data xi, i = 1, 2, , m dimana ti = 1 (kelas A+) akan membuat wTx +

b > 0 dan untuk setiap data xi, i = 1, 2, , m dimana ti = −1 (kelas A−) akan

membuat wTx + b < 0, sehingga untuk setiap data xi akan diklasifikasi dengan

benar jika ti(wTxi+ b) > 0. Karena fungsi keputusan f (x) = wTx + b tergantung

pada parameter w dan b, maka harus dicari nilai parameter w dan b yang dapat memaksimumkan margin.

Solusinya yaitu dengan menggunakan bentuk canonical dari hyperplane, yaitu ti(wTxi+ b) = 1, dimana ti = 1, −1, i = 1, 2, , m dimana bentuk canonical paralel

terhadap hyperplane dan memiliki jarak yang sama terhadap hyperplane. Bentuk canonical dari hyperplane pada kelas yaitu (wTx+i + b) = 1, i = 1, 2, , m sedangkan pada kelas yaitu (wTx−i +b) = −1,i = 1, 2, , m Selanjutnya semua data pembelajaran akan memenuhi kondisi berikut: ti(wTxi+ b) ≥ 1.

Pada SVM, hyperplane optimal diperoleh saat margin antara dua kelas tersebut maksimum. Misalkan d+ adalah jarak dari data x+i ke hyperplane dan d− adalah

jarak dari data x−i ke hyperplane, maka margin pada SVM didefinisikan sebagai d = d++ d−, dimana d+ = d−. d = d++ d− = 1 kwk(|w Tx+ i + b| + |wTx − i + b|) (1) = 2 kwk

Berdasarkan hal ini, maka masalah memaksimalkan margin kwk2 , ekuivalen dengan meminimumkan 12kwk2. Sehingga model matematis dari masalah maksimal margin

classifier dapat dinyatakan sebagai berikut [6, 7, 8]: min w,b 1 2kwk 2 (2) dengan kendala: ti(wTxi+ b) ≥ 1, i = 1, 2, , m (3)

Untuk memudahkan penyelesaian, maka pemrograman kuadrat akan ditransfor-masikan ke bentuk dual dengan bantuan pengali Lagrange. Fungsi Lagrange dari masalah optimisasi pada persamaan diatas yaitu [6, 7, 8]

L(w, b, a) = 1 2kwk 2 m X i=1 ai[ti(wTxi+ b) − 1] (4)

Dimana ai ≥ 0 merupakan pengali Lagrange. Untuk mentransformasikan masalah

optimisasi ke bentuk dual, maka fungsi Lagrange L(w, b, a) harus diminimumkan terhadap w dan b serta harus dimaksimalkan terhadap variabel dual ai. Dengan

meminimumkan L(w, b, a) terhadap parameter w dan b diperoleh ∂L ∂w = 0 → w = m X i=1 aitixi (5) ∂L ∂b = 0 → 0 = m X i=1 aiti (6)

(4)

Sehingga, bentuk dual dari masalah klasifikasi dengan margin maksimum dapat dituliskan sebagai berikut [6, 7, 8]:

max a ˆ L(a) = m X i=1 ai− 1 2 m X i=1 m X j=1 aiajtitjxTi xj (7) dengan kendala : ai≥ 0, i = 1, , m (8) m X i=1 aiti = 0 (9)

Dengan demikian, solusi dari bentuk dual ini adalah diperolehnya nilai ai yang

nantinya digunakan untuk menentukan nilai w dan b dengan rumus : w = m X i=1 aitixi (10) b = ti− wTxi (11)

Terdapat nilai ai untuk setiap data pelatihan. Data pelatihan yang memiliki nilai

ai > 0 disebut sebagai support vector. Dengan demikian fungsi keputusan yang

di-hasilkan hanya dipengaruhi oleh support vector. Setelah solusi permasalahan pem-rograman kuadrat ditemukan (nilai ai) maka kelas dari data pengujian x dapat

ditentukan berdasarkan nilai dari fungsi keputusan : f (x) =

ns

X

i=1

aitixTi x + b (12)

2.2 Soft Margin Support Vector Machines

Pada umumnya dua buah kelas pada input space tidak dapat terpisah secara sempurna. Hal ini menyebabkan kendala ti(wTxi + b) ≥ 1, i = 1, 2, , m tidak

dapat terpenuhi, sehingga optimasi tidak dapat dilakukan. Namun, kita tentu ingin mengontrol data yang berada pada kelas yang tidak sesuai. Selanjutnya, untuk mengontrol data yang berada pada kelas yang tidak sesuai kita menggunakan slack variable:

ξi ≥ 0, i = 1, 2, , m (13)

Dengan demikian, masalah optimisasi pada klasifikasi dengan soft margin dapat dinyatakan sebagai [6, 7, 8]: min w,b 1 2kwk 2+ C m X i=1 ξi (14) dengan kendala : ti(wTxi+ b) ≥ 1 − ξi, i = 1, 2, ..., m (15) ξi ≥ 0, i = 1, 2, ..., m (16)

dimana C > 0 adalah parameter yang menentukan besarnya penalti akibat kesala-han dalam klasifikasi data dan nilainya di tentukan oleh user. Parameter C diten-tukan dengan mencoba beberapa nilai dan dievaluasi efeknya terhadap akurasi yang dicapai oleh SVM.

(5)

2.3 Nonlinear Support Vector Machines

Pada kasus-kasus di dunia nyata, data yang terbentuk merupakan data yang nonlinier. Sehingga masalah yang terjadi adalah tidak ada satupun hyperplane yang dapat memisahkan data menjadi beberapa kelas. Untuk menyelesaikan kasus nonlinier SVM, maka pertama-tama data di ruang input Rn dipetakan oleh fungsi transformasi Φ ke ruang Feature F ,

Φ : Rn→ F

dimana dimensi dari F lebih besar dari dimensi Rn. Sehingga, bentuk dual dari masalah klasifikasi dengan soft margin di ruang Feature menjadi [6, 7, 8]:

max a ˆ L(a) = m X i=1 ai− 1 2 m X i=1 m X j=1 aiajtitjΦ(xi)TΦ(xj) (17) dengan kendala : 0 ≤ ai ≤ C, i = 1, 2, ..., m (18) m X i=1 aiti = 0 (19)

Karena untuk mendapatkan fungsi transformasi Φ yang tepat sangat sulit un-tuk diketahui, maka perhitungan dot product Φ(xi)TΦ(xj) digantikan oleh fungsi

Kernel K(xi, xj) yang dapat mendefinisikan secara implisit transformasi Φ. Proses

ini dikenal sebagai Kernel Trick. Tujuan digunakannya fungsi Kernel adalah un-tuk menghitung dot product pada ruang Feature berdimensi tinggi atau bahkan berdimensi tak hingga secara langsung dari ruang input tanpa harus secara eksplisit menghitung fungsi transformasi Φ.

Dengan menggunakan fungsi kernel, bentuk dual dari masalah klasifikasi den-gan soft margin di ruang Feature menjadi [6, 7, 8]:

max a ˆ L(a) = m X i=1 ai− 1 2 m X i=1 m X j=1 aiajtitjK(xi, xj) (20) dengan kendala : 0 ≤ ai ≤ C, i = 1, 2, ..., m (21) m X i=1 aiti = 0 (22)

Fungsi kernel yang digunakan pada penelitian ini adalah Fungsi Radial Basis (RBF) yang didefinisikan sebagai [6, 7, 8]:

K(x, y) = exp(−kx − yk

2

σ2 ), σ > 0. (23)

3. Metodologi

Diagram alur sistem deteksi penyakit diabetes menggunakan SVM dapat dili-hat pada gambar 1 berikut ini.

(6)

Figure 1. Diagram alur sistem deteksi penyakit diabetes 3.1 Dataset

Untuk mengetahui kinerja metode SVM dalam melakukan deteksi penyakit diabetes, dilakukan pengujian terhadap Dataset PIMA Indians Diabetes Database [4, 5, 9]. Dataset PIMA terdiri dari 768 data pasien yang semuanya adalah perem-puan dengan usia ≥ 21 tahun. Dataset berisi 500 pasien tidak terdeteksi diabetes dan 268 pasien terdeteksi diabetes. Selain itu, dataset PIMA terdiri dari dua kelas yaitu kelas positif dan kelas negatif serta delapan atribut dari penyakit diabetes yaitu

• Jumlah kali hamil

• Konsentrasi glukosa plasma 2 jam dalam tes toleransi glukosa oral • Tekanan darah diastolik (mm Hg)

• Triceps ketebalan lipatan kulit (mm) • Serum insulin 2-Jam (mu U / ml) • Indeks massa tubuh (kg/m2)

• Riwayat Keturunan Penyakit Diabetes • Umur (tahun)

3.2 Desain Eksperimen

Desain Eksperimen dari penelitian ini menggunakan 10-fold cross validation [6] dengan tujuan untuk mendapatkan model terbaik untuk memprediksi penyakit dia-betes. Dataset PIMA Indians Diabetes Database dibagi menjadi 10 bagian dengan jumlah kelas sama untuk setiap bagian. Sembilan bagian digunakan untuk melatih model, satu bagian digunakan untuk mengevaluasi model. Hasil rata-rata akurasi yang dicapai oleh 10 fold tersebut digunakan sebagai akurasi deteksi diabetes. 3.3 Evaluasi Eksperimen

Evaluasi eksperimaen yang digunakan pada penelitian ini yaitu Confusion Matrix [10]. Confusion Matrix dideskripsikan pada Tabel 1. TP adalah jumlah record positif yang diklasifikasikan sebagai positif, FP adalah jumlah record negatif yang diklasifikasikan sebagai positif, FN adalah jumlah record positif yang diklasi-fikasikan sebagai negatif, TN adalah jumlah record negatif yang diklasidiklasi-fikasikan se-bagai negatif.

Accuracy dalam klasifikasi adalah persentase ketepatan record data yang dik-lasifikasikan secara benar. Formula Accuracy adalah sebagai berikut [10] :

Accuracy = T P + T N

(7)

Table 1. Confusion matrix Actual Class Output Class

yes no

yes True Positive (TP) False Negative (FN) no False Positive (FP) True Negative (TN)

Kuantitas lain yang digunakan pada bidang medis adalah Sensitivity dan Specificity. Pada kasus evaluasi sistem diagnosis penyakit pasien, sensitivity adalah kemampuan pengujian untuk mendiagnosis semua pasien sakit yang terdiagnosis sakit. Sedan-gkan, specificity adalah kemampuan pengujian untuk mendiagnosis semua pasien tidak sakit yang terdiagnosis tidak sakit. Pada bidang medis semakin besar nilai sensitivity dan specificity berarti sistem yang dibuat semakin baik. Berikut meru-pakan formula sensitivity dan specificity [10]:

Sensitivity = T P

T P + F N (25) Specif icity = T N

T N + F P (26)

4. Hasil Eksperimen

Pada penelitian ini penulis melakukan percobaan deteksi penyakit diabetes, dengan metode Support Vector Machines (SVM) menggunakan software Matlab R2013a. Spesifikasi komputer yang digunakan pada percobaan ini adalah CPU Pro-cessor Intel Core i5 4460 3.2 GHz dengan RAM 4 GB dan OS Windows 7 Ultimate. Pada tahap awal, dataset PIMA dibagi menjadi dua bagian. 576 data digu-nakan sebagai data pelatihan dan sisanya 192 data sebagai data testing. Berdasarkan 10 fold cross validation, pada data pelatihan diperoleh model yang optimal dengan nilai parameter σ = 1.5.

Tabel 2a dan tabel 2b secara berturut-turut merupakan hasil confusion matrix yang diperoleh dari percobaan SVM menggunakan nilai parameter yang telah diper-oleh. Selanjutnya, dilakukan perhitungan untuk mencari nilai accuracy, sensitivity dan specificity dari data training dan data testing, yang hasilnya dapat dilihat pada Tabel 3. Berdasarkan pada tabel 3 diperoleh rata-rata hasil accuracy = 81.34%, Sensitivity = 83.64% dan Specificity = 80.09%.

5. Kesimpulan

Support Vector Machines dapat digunakan untuk menganalisis dan memban-gun sistem deteksi penyakit diabetes. Analisa yang dilakukan mengmemban-gunakan dataset PIMA yang berfungsi sebagai masukan pada SVM. Pada tahap awal dilakukan pemisahan dataset PIMA menjadi dua bagian yaitu 576 data sebagai data pelati-han dan sisanya 192 data sebagai data tes. Tahapan selanjutnya yaitu menentukan

(8)

Table 2. Hasil confusion matrix (a) Confusion matrix pada data training Actual Class Output Class

Tested Positive Tested Negative Tested Positive 170 28 Tested Negative 70 308

(b) Confusion matrix pada data testing Actual Class Output Class

Tested Positive Tested Negative Tested Positive 57 13 Tested Negative 26 96

Table 3. Hasil accuracy, sensitivity dan specificity dari metode SVM Training Testing

Accuracy (%) 82.99 79.69 Sensitivity (%) 85.86 81.43 Specificity (%) 81.48 78.69

nilai parameter σ yang optimal dengan melakukan 10 cross validation. Setelah men-dapatkan nilai σ yang optimal, tahap terakhir adalah melakukan uji sesungguhnya menggunakan data tes untuk mencari nilai accuracy, sensitivity, dan specificity.

Pada penelitian ini nilai parameter optimal yang diperoleh adalah σ = 1.5. Deteksi penyakit diabetes menggunakan SVM dengan kernel RBF menghasilkan nilai rata-rata accuracy sebesar 81.34%, Sensitivity 83.64%, dan Specificity 80.09%. Berdasarkan hasil yang diperoleh pada penelitian ini, kinerja dari SVM sebagai pengklasifikasi lebih baik dari penelitian sebelumnya yang dilakukan oleh Smith, et al [4] dan Kumari, et al [5]. Hasil yang diperoleh menunjukkan bahwa sistem yang dibangun memiliki hasil yang baik dan dapat menjadi suatu alternatif untuk deteksi awal penyakit diabetes.

Ucapan Terima Kasih. Penulis mengucapkan terima kasih kepada Kementerian Pendidikan dan Kebudayaan melalui DIRJEN DIKTI atas dukungan dana peneli-tian, melalui Hibah Penelitian Dosen Pemula Tahun 2015 Nomor DIPA-023.04.1.673453 /2015.

References

[1] World Health Organization. About diabetes. http://www.who.int/diabetes/action_online/ basics/en/. (30 Maret 2015, Pukul 11.54 WIB).

[2] World Health Organization. Diabetes Fact sheet. http://www.who.int/mediacentre/ factsheets/fs312/en/. (30 Maret 2015, Pukul 11.55 WIB).

[3] Muhammadi, F.Z., Simple treatment to curb diabetes. http://www.thebalidaily.com/ 2014-01-20/simple-treatment-curb-diabetes.html. (28 Maret 2015, Pukul 12.07 WIB).

(9)

[4] Smith, J.W., J. E. Everhart, et al., Using the ADAP learning algorithm to forecast the onset of diabetes mellitus, Proceedings of the Symposium on Computer Applications and Medical Care, (1988), 261-265.

[5] Kumari, V. A. dan Chitra, R., ”Classification of Diabetes Disease Using Support Vector Ma-chine”, IJERA, 3 (2013), 1797-1801.

[6] Bishop, C. M., Pattern Recognition and Machine Learning, Springer, 2006.

[7] Christianini, N., and J. C. Shawe-Taylor, An Introduction to Support Vector Machines, Cam-bridge, UK: Cambridge University Press, 2000.

[8] Scholkopf, B., and A. Smola, Learning with Kernels, Cambridge, MA: The MIT Press, 2001. [9] Lichman, M. UCI Machine Learning Repository [http://archive.ics.uci.edu/ml]. Irvine,

CA: University of California, School of Information and Computer Science, 2013. [10] Gorunescu, F., Data mining concepts, models and techniques, Springer, 2011.

(10)

Gambar

Diagram alur sistem deteksi penyakit diabetes menggunakan SVM dapat dili- dili-hat pada gambar 1 berikut ini.
Figure 1. Diagram alur sistem deteksi penyakit diabetes 3.1 Dataset
Table 3. Hasil accuracy, sensitivity dan specificity dari metode SVM Training Testing

Referensi

Dokumen terkait

- Gabungan Bag Ops, Bag Sumda, Bag Binmas dan Primkoppol berada diluar pagar Mako Polres Mataram sepanjang jalan mulai dari depan ruang Bag Ops sampai dengan Primkoppol

bahwa dalam menjalankan tugas memelihara keamanan dan ketertiban masyarakat, menegakkan hukum, serta memberikan perlindungan, pengayoman, dan pelayanan kepada

Responden bidan dengan kinerja baik ternyata yang memiliki dukungan rekan kerja baik lebih besar persentasenya (71,4%) dibandingkan dengan persentase bidan yang mempunyai dukungan

Laju akumulasi amonium yang tinggi pada kombinasi E tersebut dapat disebabkan oleh tingginya aktivitas enzim nitrogenase. Selain amonium, di dalam kultur juga

Berdasarkan hasil pengolahan analisis data dan pembahasan yang diperoleh dari penelitian yang dilakukan mengenai “Pengaruh Model Pembelajaran Kooperatif Tipe Teams

Beberapa keluarga dengan riwayat positif terkena pitiriasis versikolor lebih sering terkena penyakit tersebut, hal ini belum diketahui karena genetik atau disebabkan faktor

Berbasis pada kebutuhan perkembangan jalan yang semakin maju dimana membuat seluruh elemen berkompetisi untuk meraih eksistensi maka dengan tidak mengurangi