875 penerapan adaboost untuk klasifikasi support

advertisement
Prosiding SNATIF Ke -4 Tahun 2017
ISBN: 978-602-1180-50-1
PENERAPAN ADABOOST UNTUK KLASIFIKASI SUPPORT VECTOR MACHINE
GUNA MENINGKATKAN AKURASI PADA DIAGNOSA CHRONIC KIDNEY DISEASE
Eka Listiana1*, Much Aziz Muslim 1
Program Studi Teknik Informatika, Fakultas MIPA, Universitas Negeri Semarang
1
*
Email:[email protected]
Abstrak
Database masa kini berkembang dengan sangat pesat khususnya dalam bidang kesehatan.
Data tersebut apabila tidak diolah dengan baik maka akan menjadi sebuah tumpukan data
yang tidak bermanfaat, sehingga perlu adanya proses untuk mengolah data tersebut
menjadi sebuah informasi yang bermanfaat. Proses tersebut biasa disebut dengan data
mining yang merupakan suatu bidang ilmu penelitian yang mampu mengolah database
menjadi pengetahuan yang dapat dimanfaatkan khusunya dalam penelitian ini akan
digunakan untuk mendiagnosa penyakit, diantaranya chronic kidney disease. Salah satu
metode data mining yang digunakan untuk memprediksi sebuah keputusan dalam suatu hal
adalah klasifikasi, di mana dalam metode klasifikasi ada algoritma support vector machine
yang bisa digunakan untuk mendiagnosa chronic kidney disease. Dalam penelitian ini
untuk meningkatkan akurasi algoritma support vector machine dalam mendiagnosa chronic
kidney disease menggunakan adaptive boosting (adaboost) sebagai ensemble learning
dengan pemilihan kernel, nilai parameter C, dan iterasi yang sesuai. Dari hasil percobaan,
menerapkan adaboost, dengan kernel linier dan pemilihan nilai parameter C pada
algoritma support vector machine dalam mendiagnosa chronic kidney disease
menunjukkan bahwa tingkat akurasi mempunyai peningkatan sebesar 37% dengan
pemaparan hasil seperti berikut, 62,5% (SVM); 97,75% (SVM+linier kernel); 99,5%
(SVM+linier kernel +adaboost).
Kata Kunci: adaboost, data mining, SVM, Adaptive boosting, chronic kidney disease
1. PENDAHULUAN
Perkembangan database pada masa kini tumbuh dengan sangat pesat, khususnya data dalam
bidang kesehatan. Dari kumpulan banyak data tersebut apabila tidak digunakan maka hanya
menjadi sebuah kumpulan data yang tidak bermanfaat. Oleh karena itu, dari tumpukan data yang
tidak bermanfaat tersebut dapat dijadikan sebagai sumber data yang kemudian diolah supaya lebih
bermanfaat yang biasa sering disebut dengan istilah data mining. Data mining menurut adalah
proses yang mempekerjakan satu atau lebih teknik pembelajaran komputer (machine learning)
untuk menganalisis dan mengekstraksi pengetahuan (knowledge) secara otomatis. Salah satu
metode atau teknik yang digunakan untuk memprediksi sebuah keputusan, yaitu klasifikasi.
Menurut Han J, et al. (2012) Klasifikasi adalah suatu proses yang digunakan untuk
menemukan model (atau fungsi) dengan menggambarkan dan membedakan kelas data atau konsep.
Salah satu jenis algoritma pada klasifikasi yaitu Supprot Vector Machine (SVM). Menurut
Dhayanand dan Vijayarani (2015) Support vector machine merupakan metode baru yang digunakan
untuk klasifikasi data baik itu data linier maupun nonlinier, yang menciptakan diskrit hyperplane
dalam ruang descriptor dari data pelatihan dan diklasifikaskan berdasarkan sisi hyperplane berada.
Menurut Chezian dan Kumar (2015) Support vector machine memetakan data input nonlinier ke
beberapa ruang dimensi yang lebih tinggi di mana data dapat dipisahkan secara linier, sehingga
akan memberikan klasifikasi atau regresi data yang besar.
Agoritma tersebut dapat dimanfaatkan dan membantu ahli medis dalam mendiagnosa suatu
penyakit, salah satunya adalah Chronic Kidney Disease (CKD). Menurut Levey dan Coresh (2012)
CKD adalah gangguan heterogen yang mempengaruhi struktur dan fungsi ginjal secara progresif
dan sukar untuk pulih kembali, dimana tubuh tidak mampu memelihara metabolisme dan gagal
memelihara keseimbangan cairan dan elektrolit yang berakibat pada peningkatan ureum.
Sedangkan menurut Muslim, dkk., (2015) CKD juga merupakan proses fisiologi patogen dengan
berbagai variasi yang akan menyebabkan turunnya fungsi renal (kelenjar pada ginjal) secara
signifikan dimana yang pada akhirnya akan terjadi gagal ginjal. CKD pada umumnya merupakan
suatu penyakit yang dapat dideteksi melalui tes urin dan tes darah dari uji laboratorium secara rutin
Fakultas Teknik – Universitas Muria Kudus
875
Prosiding SNATIF Ke -4 Tahun 2017
ISBN: 978-602-1180-50-1
dan beberapa perawatan untuk mencegah pengembangan dan memperlambat perkembangan
penyakit.
Penelitian diagnosa ini menggunakan dataset chronic kidney disease. Dataset yang
digunakan dalam penelitian ini diperoleh dari UCI repository of machine learning datasets.
Datasets merupakan kumpulan dari objek dan sifat atau karakteristik dari suatu objek itu sendiri
(atribut). Penelitian ini menggunakan ensemble learning adaboost sebagai teknik untuk
memperbaiki tingkat klasifikasi yang diterapkan untuk mengklasifikasikan teks pada komentar dari
review suatu restoran untuk meningkatkan akurasi dalam mendiagnosa chronic kidney disease.
Tujuan dari penelitian ini yaitu meningkatkan akurasi dari algoritma support vector machine
dengan menerapkan adaboost dan pemilihan kernel dan nilai parameter C dalam memprediksi
chronic kidney disease dengan membandingkan hasil sesudah dan sebelum diterapkan information
gain dan adaboost. Validasi dalam penelitian ini menggunakan 10 fold cross validation. Sedangkan
pengukuran akurasi diukur dengan confussion matrix.
2. METODOLOGI
Penelitian ini bertujuan untuk mengoptimalisasi atribut dari dataset yang digunakan guna
meningkatkan akurasi dengan menerapkan adaboost serta pemilihan parameter C dan kernel linier.
Penelitian ini diterapkan pada algoritma support vector machine untuk mendiagnosa chronic kidney
disease, agar dapat membuktikan bahwa adaboost serta dengan pemilihan parameter C dan kernel
linier dapat meningkatkan akurasi, maka penelitian ini akan membandingkan performa akurasi dari
algoritma suppport vector machine yang tidak diterapkan adaboost dengan yang menerapkannya.
Flowchart penerapan adaboost pada algoritma support vector machine dapat dilihat pada Gambar
1.
Gambar 1. Flowchart penerapan adaboost pada algoritma support vector machine
Fakultas Teknik – Universitas Muria Kudus
876
Prosiding SNATIF Ke -4 Tahun 2017
ISBN: 978-602-1180-50-1
Support Vector Machine (SVM)
SVM dikembangkan pada tahun 1992 oleh Vladimir Vapnik dan rekannya, Bernhard Boser
dan Isabelle Guyon yang dikembangkan dari teori structural risk minimaization. Menurut Li, et al.
(2008) Dengan menggunakan trik kernel untuk memetakan sampel pelatihan dari ruang input ke
ruang fitur dimensi tinggi. Xuchun, et al. (2008) menjelaskan dasar untuk SVM telah ada sejak
1960-an metode ini menjadikan SVM sebagai metode baru yang menjanjikan untuk
mengklasifikasi data, baik data linear maupun nonlinear. SVM adalah sebuah algoritma yang
bekerja menggunakan pemetaan nonlinear untuk mengubah data pelatihan asli ke dimensi yang
lebih tinggi, dalam dimensi yang baru, kemudian akan mencari linear optimal pemisah hyperplane
(yaitu, “decision boundary” yang memisahkan tupel dari satu kelas dengan kelas lainnya). Dengan
pemetaan nonlinear yang tepat untuk dimensi yang cukup tinggi, data dari dua kelas selalu dapat
dipisahkan dengan hyperplane. SVM menemukan hyperplane ini menggunakan support vector
(“essential” training tupels) dan margins (didefinisikan oleh support vectors).
Langkah awal suatu algoritma SVM adalah pendefinisian persamaan suatu hyperplane
pemisah yang dituliskan dengan Persaman 1.
𝑋
(1)
*
+ n adalah jumlah
Di mana w merupakan suatu bobot vektor, yaitu
atribut dan b merupakan suatu skalar yang disebut dengan bias. Jika berdasarkan pada atribut A1,
A2 dengan permisalan tupel pelatihan X = (
), x1 dan x2 merupakan nilai dari atribut A1 dan
A2, dan jika b dianggap sebagai suatu bobot tambahan
, maka persamaan suatu hyperplane
pemisah dapat ditulis ulang seperti pada Persamaan 2.
(2)
Setelah persamaan dapat didefinisikan, nilai
dan
dapat dimasukkan ke dalam
persamaan untuk mencari bobot
, dan
atau b. Grafik pemisahan dua kelas data dengan
margin maksimum dapat dilihat pada Gambar 2.
Gambar 2. Pemisahan dua kelas data dengan margin maksimum
Pada Gambar 2, SVM menemukan hyperlane pemisah maksimum, yaitu hyperlane yang
mempunyai jarak maksimum antara tupel pelatihan terdekat. Support vector ditunjukkan dengan
batasan tebal pada titik tupel. Dengan demikian, setiap titik yang terletak di atas hyperplane
pemisah memenuhi Persamaan 3.
(3)
Sedangkan, titik yang terletak di bawah hyperlane pemisah memenuhi rumus seperti pada
Persamaan 4.
Fakultas Teknik – Universitas Muria Kudus
877
Prosiding SNATIF Ke -4 Tahun 2017
ISBN: 978-602-1180-50-1
(4)
Melihat dua kondisi di atas, maka didapatkan dua persamaan hyperplane, seperti pada
Persamaan 5 dan 6.
(5)
(6)
Artinya, setiap tuple yang berada di atas H1 memikiki kelas +1, dan setiap tuple yang berada
di bawah H2 memiliki kelas -1. Perumusan model SVM menggunakan trik matematika yaitu
lagrangian formulation. Perumusan model SVM menggunakan trik matematika yaitu lagrangian
formulation. Berdasarkan lagrangian formulation, Maksimum Margin Hyperplane (MMH) dapat
ditulis ulang sebagai suatu batas keputusan (decision boundary) dituliskan dengan Persamaan 7.
(𝑋 )
(7)
∑
𝑋𝑋
adalah label kelas dari support vector 𝑋 𝑋 merupakan suatu tupel test. dan
adalah
parameter numerik yang ditentukan secara otomatis oleh optimalisasi algoritma SVM dan adalah
jumlah vector support.
Adaptive Boosting (Adaboost)
Adaptive boosting (adaboost) merupakan salah satu dari beberapa varian pada algoritma
boosting [1]. Adaboost merupakan ensemble learning yang sering digunakan pada algoritma
boosting. Boosting bisa dikombinasikan dengan classifier algoritma yang lain untuk meningkatkan
performa klasifikasi. Tentunya secara intuitif, penggabungan beberapa model akan membantu jika
model tersebut berbeda satu sama lain [1].
Adaboost dan variannya telah sukses diterapkan pada beberapa bidang (domain) karena dasar
teorinya yang kuat, presdiksi yang akurat, dan kesederhanaan yang besar. Langkah-langkah pada
algoritma adaboost adalah sebagai berikut.
a. Input: Suatu kumpulan sample penelitian dengan label {(
)
(
)+, suatu
component learn algoritma, jumlah perputaran T.
b. Initialize: Bobot suatu sampel pelatihan
, untuk semua i=1,...,N
c. Do for t= 1, ...,T
d. Gunakan component learn algoritma untuk melatih suatu komponen klasifikasi, , pada
sample bobot pelatihan.
∑
e. Hitung kesalahan pelatihannya pada
( )
f.
(
Tetapkan bobot untuk component classifier
*
g. Update bobot sample pelatihan
konstanta normalisasi.
(∑
h. Output: ( )
( )+
)
adalah suatu
( )).
Dataset
Dataset merupakan kumpulan dari objek dan atributnya. Atribut merupakan sifat atau
karakteristik dari suatu objek. Contohnya: warna mata seseorang, suhu, dsb. Atribut juga dikenal
sebagai variabel, field, karakteristik atau fitur. Kumpulan dari atribut menggambarkan sebuah objek
bisa disebut record, titik, kasus, sample, entitas atau instance[1].
Selain itu, dataset merupakan suatu kumpulan data atau satu data statistik di mana setiap
atribut data dapat mewakili suatu variabel dan setiap instance memiliki deskripsi sendiri (Tang, et
al.(2014) dan Ian, et al. (2011)).
Fakultas Teknik – Universitas Muria Kudus
878
Prosiding SNATIF Ke -4 Tahun 2017
ISBN: 978-602-1180-50-1
3. HASIL DAN PEMBAHASAN
Proses eksperimen ini menggunakan aplikasi weka 3.6. Untuk pengujian model dilakukan
menggunakan dataset chronic kidney disease yang diambil dari UCI repository of machine
learning. Spesifikasi yang digunakan untuk penelitian ini, yaitu processor intel(R) Core(TM) i33227U CPU @1.90GHz (4 CPUs), ~1,9GHz; memori 2,00 GB; dan sistem operasi Windows 8.1.
Langkah awal dari penelitian ini, yaitu pemilihan kernel yang dilakukan pada pengklasifikasian
SVM. Perbandingan antara SVM dan SVM linier kernel dapat dilihat pada Gambar 2.
Gambar 3. Perbnadingan akurasi SVM, SVM Linier, dan SVM RBF
Hasil perbandingan akurasi diatas SVM dengan kernel linier lebih baik daripada SVM RBF
dengan data chronic kidney disease. Maka, SVM dengan kernel linier akan dicari lebih lanjut nilai
parameter C untuk memperoleh akurasi yang lebih baik dengan menerapkan adaboost untuk dapat
memperoleh akurasi yang lebih baik.
Penilaian nilai parameter C akan dipilih dengan dengan melihat implikasi terhadap hasil
akurasi yang paling tinggi terhadap nilai C yang diberikan. Nilai C ditentukan sebelumnya dengan
mencari tahu nilai C dari 10 sampai dengan 90. Berhenti pada 90 disebabkan pada nilai C dari 70
sampai dengan 90 mengalami nilai yang stagnan (tidak aa perubahan). Hasil akurasi perbandingan
nilai parameter C pada SVM linier dapat dilihat pada Gambar 4.
99
98,8
98,6
98,4
98,2
98
97,8
97,6
97,4
97,2
98,75
98,5
98,5
98,5
98,5
C=70
C=80
C=90
98,25
98
98
C=40
C=50
97,75
C=10
C=20
C=30
C=60
Akurasi (%)
Gambar 4. Hasil akurasi perbandingan nilai parameter C pada SVM linier
Fakultas Teknik – Universitas Muria Kudus
879
Prosiding SNATIF Ke -4 Tahun 2017
ISBN: 978-602-1180-50-1
Hasil percobaan nilai C dengan akurasi yang paling tinggi didapat oleh C dengan nilai 10
dengan akurasi 98,75%. Maka langkah selanjutnya SVM kernel linier dan nilai parameter C dengan
nilai 10 akan digunakan sebagai base classifier dari ensemble learning adaboost.
Berdasarkan tingkat kesalahan base classifier dapat dikurangi dengan memperbesar iterasi
yang tepat pada adaboost. Maka percobaan selanjutnya, pemilihan iterasi K digunakan untuk
memperoleh hasil yang lebih baik. Perbandingan hasil akurasi dari setiap iterasi dapat dilihat pada
Tabel 1. Di mana pada tabel tersebut menunjukkan proses peningkatan akurasi algoritma support
vctor machine dengan iterasi adaboost yang dimulai dari angka 1 sampai dengan default putarannya
yaitu 10. Sehingga, setelah diiterasi ke-3 akurasi baru meningkat, dalam hal ini berarti adaboost
telah dapat memperbaiki kesalahan pada SVM.
Iterasi
Akurasi (%)
Tabel 1. Perbandingan hasil akurasi dari setiap iterasi
K=1 K=2 K=3 K=4 K=5 K=6 K=7 K=8 K=9 K=10
98,75 98,75 99,5 99,5 99,5 99,25 99,25 99,25 99,25 99,25
Berdasarkan percobaan yang telah dilakukan pada pengklasifikasi dasar SVM, yaitu SVM
linier, SVM dioptimasi dengan pemilihan nilai parameter C=10 dan adaboost-SVM. Maka hasil
perbandingan akurasi dapat dilihat pada Tabel 2.
Tabel 2. Hasil perbandingan akurasi model
SVM
Perbandingan
SVM
AdaboostSVM
Optimasi
Model
linier
SVM
(C=10)
Akurasi (%)
62,5
97,75
98,75
99,5
Dari pengolahan data yang sudah dilakukan dengan metode boosting yaitu adaboost, terbukti
dapat meningkatkan akurasi algoritma support vector machine pada diagnosa chronic kidney
disease. Data yang digunakan dapat diklasifikasikan dengan baik ke dalam bentuk positif dan
negatif.
4. KESIMPULAN
Pengolahan dataset chronic kidney disease yang diambil dari UCI repository of machine
learning peneliti menggunakan algoritma support vector machine. Dan ternyata, jika hanya support
vector machine saja yang digunakan hanya mencapai 62,5%, jika pemilihan kernel menggunakan
kernel linier mencapai 97,75%, setelah diberi nilai parameter C mencapai 98,75%, dan setelah
ditambah dengan adaboost mencapai 99,5%. Dari penelitian yang dilakukan dengan menggunakan
boosting dan pemeilihan kernel serta nilai parameter C memiliki peningkatan akurasi sebesar 37%.
DAFTAR PUSTAKA
Chezian, D. R. M., & Kumar, K. S. 2014. Support Vector Machine and K-Nearest Neighbor Based
Analysis for the Prediction of Hypothyroid. International Journal of Pharma and Bio
Sciences. 5(4): (B) 447- 453.
Dhayanand, M, S., & Vijayarani, S. 2015. Data Mining Classification Algorithms for Kidney
Disease Prediction. International Journal on Cybernetics & Informatics (IJCI). Vol. 4 (4):
13-25.
Han, J., Micheline, K. & Jian, P. 2012. Data mining: Concepts and Techniques (3th ed.). Waltham,
MA: Elsevier/Morgan Kaufmann.
Ian H Witten, Eibe Frank, and Mark A Hall, Data Mining Practical Machine Learning Tools and
Techniques, 3rd ed. USA: Morgan Kaufmann Publishers, 2011.
Levey, A. S., & Coresh, J. 2012. Chronic kidney disease. The Lancet. 379(9811): 165-180.
Li, X., Wang, L., & Sung, E. 2008. AdaBoost with SVM-based component classifiers. Engineering
Applications of Artificial Intelligence. Vol. 21 (5): 785-795.
Muslim, M. A., Kurniawati, I., & Sugiharti, E. 2015. Expert System Diagnosa Chronic Kidney
Disease Based On Mamdani Fuzzy Inference System. Journal of Theoretical and applied
Information Technology, 78(1), 70.
Fakultas Teknik – Universitas Muria Kudus
880
Prosiding SNATIF Ke -4 Tahun 2017
ISBN: 978-602-1180-50-1
Xuchun Li, Lei Wang, & Eric Sung. 2008. AdaBoost with SVM-based component classifiers.
Engineering Applications of Artificial Intelligence. vol. 21, pp. 785–795.
Tang, J., Alelyani, S., & Liu, H. 2014. Feature selection for classification: A review. Data
Classification: Algorithms and Applications. (37).
Fakultas Teknik – Universitas Muria Kudus
881
Download