• Tidak ada hasil yang ditemukan

OPTIMASI K-NEAREST NEIGHBOUR DENGAN PENERAPAN ALGORITMA ADABOOST DALAM PENINGKATAN AKURASI KLASIFIKASI PENYAKIT DEMAM BERDARAH (DBD) DAN TIFUS TESIS

N/A
N/A
Protected

Academic year: 2022

Membagikan "OPTIMASI K-NEAREST NEIGHBOUR DENGAN PENERAPAN ALGORITMA ADABOOST DALAM PENINGKATAN AKURASI KLASIFIKASI PENYAKIT DEMAM BERDARAH (DBD) DAN TIFUS TESIS"

Copied!
69
0
0

Teks penuh

(1)

OPTIMASI K-NEAREST NEIGHBOUR DENGAN PENERAPAN ALGORITMA ADABOOST DALAM PENINGKATAN

AKURASI KLASIFIKASI PENYAKIT DEMAM BERDARAH (DBD) DAN TIFUS

TESIS

Oleh:

ANDY SATRIA 177038010

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2021

(2)

i

OPTIMASI K-NEAREST NEIGHBOUR DENGAN PENERAPAN ALGORITMA ADABOOST DALAM PENINGKATAN

AKURASI KLASIFIKASI PENYAKIT DEMAM BERDARAH (DBD) DAN TIFUS

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

Oleh:

ANDY SATRIA 177038010

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2021

(3)
(4)

iii

PERNYATAAN

OPTIMASI K-NEAREST NEIGHBOUR DENGAN PENERAPAN ALGORITMA ADABOOST DALAM PENINGKATAN

AKURASI KLASIFIKASI PENYAKIT DEMAM BERDARAH (DBD) DAN TIFUS

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 21 Oktober 2021

ANDY SATRIA 177038010

(5)

iv

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Sebagai civitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:

Nama : Andy Satria

NIM : 177038010

Program Studi : S2 Teknik Informatika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalti Free Right) atas tesis saya yang berjudul:

OPTIMASI K-NEAREST NEIGHBOUR DENGAN PENERAPAN ALGORITMA ADABOOST DALAM PENINGKATAN

AKURASI KLASIFIKASI PENYAKIT DEMAM BERDARAH (DBD) DAN TIFUS

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 21 Oktober 2021

ANDY SATRIA 177038010

(6)

vii Telah diuji pada

Tanggal : 21 Oktober 2021

PANITIA PENGUJI TESIS

Ketua : Dr. Syahril Efendi, S.Si, M.IT Anggota : 1. Prof. Dr. Saib Suwilo

: 2. Prof. Dr. Opim Salim Sitompul, M.Sc 3. Prof. Dr. Herman Mawengkang :

v

(7)

vii

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap (berikut gelar) : Andy Satria, S.Kom Tempat dan Tanggal Lahir : Sigli, 02 Oktober 1991

Alamat Rumah : Jl.Yayasan II No.10 Gaperta Ujung.

Telepon/Faks/HP : 0812-2082-0210

Email : andysatriaceh@gmail.com

Website : -

Instansi Tempat Kerja : SMK Telkom 2 Medan

Alamat Kantor : Jl. Halat No.68, Kota Matsum II, Kec. Medan Area, Kota Medan

DATA PENDIDIKAN

SD : SDN 1 Sigli TAMAT: 2003

SMP : SMPS Unggul YPPU Sigli TAMAT: 2006

SMA : SMAN Modal Bangsa TAMAT: 2009

S1 : Teknik Informatika Universitas Telkom TAMAT: 2016

S2 : Teknik Informatika USU Medan TAMAT: 2021

vi

(8)

vii

UCAPAN TERIMAKASIH

Puji dan rasa syukur dipanjatkan kehadirat Allah SWT yang telah melimpahkan segala karunia, rahmat dan hidayah-Nya sehingga penyusunan tesis ini dengan judul “ OPTIMASI K-NEAREST NEIGHBOUR DENGAN PENERAPAN ALGORITMA ADABOOST DALAM PENINGKATAN AKURASI KLASIFIKASI PENYAKIT DEMAM BERDARAH (DBD) DAN TIFUS” dapat diselesaikan dengan baik. Selawat beriring salam turut sertadisampaikan kepada Nabi Muhammad SAW, semoga diberikan syafaat pada hariakhirat kelak.

Tesis ini merupakan syarat untuk menyelesaikan studi pada jenjang magister (S2) yang dalam penyusunannya tidak terlepas dari dukungan berbagai pihak, baik secaramoril maupun materil. Pada kesempatan yang sangat berbahagia saat ini dan dalamruang ucapan terima kasih ini, kami menyampaikan rasa terima kasih dan penghargaanyang setinggi-tingginya dengan tulus dan ikhlas kepada :

1. Bapak Dr Muryanto Amin S.Sos., M.Si, selaku Rektor Universitas Sumatera Utara Medan;

2. Ibu Dr. Maya Silvi Lydia, M.Sc, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informatika Universitas Sumatera Utara Medan.

3. Bapak Dr. Eng. Ade Chandra, ST., M.Kom., selaku Ketua Program Studi S2 Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informatika Universitas Sumatera Utara Medan.

4. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc, sebagai Dosen Pembimbing I yang telah memberikan bimbingan dan arahan dalam penyelesaian tesis ini.

5. Bapak Prof. Dr. Herman Mawengkang sebagai Dosen Pembimbing II yang telah memberikan bimbingan dan arahan dalam penyelesain tesis ini;

6. Bapak Dr. Syahril Efendi, S.Si, M.IT, selaku Dosen Pembanding/Penguji I yang telah memberikan saran dan masukan untuk perbaikan dan penyelesaian tesis ini;

7. Bapak Prof. Dr. Saib Suwilo, selaku Dosen Pembanding/Penguji II yang telah memberikan saran dan masukan untuk perbaikan dan penyelesaian tesis ini.

8. Kedua orangtua penulis: Ayahanda AKBP Fakhruddin dan Ibunda Salamah, M.KM tercinta, beserta saudara penulis Reza Rukmana, S.H, Deni Arianda dan

(9)

viii

Alfarazil atas dukungan dan doanya untuk kelancaran dalam menyelesaikan tesis ini;

9. Kepada istri tercinta Fanny Ramadhani, M.Kom dan ananda tercinta Muhammad Arfhan Assajid Satria yang selalu memberikan bantuan dan semangat sehingga selesailah pembuatan buku tesis ini.

10. Teman-teman seangkatan di MTI-Kom-A-2017 yang telah bersama-sama menempuh pendidikan pada Program Studi S2 Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.

Penulis menyadari bahwa penelitian ini masih jauh dari kata sempurna, ini dikarenakan oleh keterbatasan, kemampuan dan pengetahuan penulis. Harapan penulis, semoga penelitian ini bermanfaat bagi penulis khususnya dan pembaca pada umumnya.

Sekali lagi penulis mengucapkan terima kasih, semoga Allah SWT membalas kebaikan yang telah diberikan. Amin.

Medan, 21 Oktober 2021 Penulis,

ANDY SATRIA NIM. 177038010

(10)

ix ABSTRAK

Pada masa pandemi seperti saat ini, ketepatan dan keakuratan dalam memberikan vonis terhadap suatu jenis penyakit menjadi sangat krusial. Ada banyak jenis penyakit yang memiliki gejala yang hampir serupa seperti demam berdarah (DBD) dan tifus.

Ketepatan dan tingkat akurasi pada suatu algoritma dalam mengklasifikasi suatu penyakit menjadi sangat penting. Penerapan algoritma KNN pada kasus pengklasifikasian penyakit demam berdarah dan tifus bertujuan untuk mendapatkan hasil akurasi klasifikasi yang baik. Kemudian dalam penelitian ini, penulis melakukan kombinasi KNN dengan algoritma Adaboost untuk mendapatkan hasil akurasi yang lebih optimum daripada hasil yang diperoleh dari komputasi algortma KNN secara mandiri. Dalam penelitian ini, penulis menggunakan algoritma K-Nearest Neighbor (KNN) sebagai base learner dari algoritma adaptive boosting (Adaboost). Adaboost adalah metode boosting yang mampu memberikan bobot pada tingkat error klasifikasi yang dapat merubah distribusi data.

Dengan menambahkan bobot error pada hasil klasifikasi yang salah diharapkan hasil klasifikasi selanjutnya menjadi benar dan dapat meningkatkan akurasi menjadi lebih optimum. Hasil percobaan yang dilakukan menunjukkan hasil bahwa metode Adaboost dengan base learner K-Nearest Neighbor (KNN) mempunyai akurasi sebesar 95.54%, precision sebesar 97.43% dan nilai recall sebesar 90.47%. Sedangkan nilai akurasi K- Nearest Neighbor (KNN) adalah sebesar 90.17%, nilai precision dan recall yang masing- masing sebesar 96.96% dan 76.19%.

Kata Kunci: Akurasi, K-Nearest Neighbor (KNN), Adaptive Boosting (Adaboost), Demam Berdarah (DBD) dan Tifus

(11)

x

OPTIMIZATION OF K-NEAREST NEIGHBOUR WITH ADABOOST ALGORITHM IN CLASSIFICATION ACCURACY IMPROVEMENT OF

DENGUE HAEMORAGIC FEVER (DHF) DISEASE AND TYPHUS

ABSTRACT

During a pandemic like today, exactness and accuracy in giving a verdict on a type of disease is very crucial. There are many types of diseases that have almost similar symptoms such as dengue haemoragic fever (DHF) and typhus. The level of accuracy in an algorithm in classifying a disease is very important. The application of the KNN algorithm in cases of classifying dengue fever and typhus aims to obtain good classification accuracy results. Then in this study, the authors combined KNN with the Adaboost algorithm to obtain more optimum accuracy results than the results obtained from computing the KNN algorithm independently. In this study, the author uses the K- Nearest Neighbor (KNN) algorithm as the base learner of the adaptive boosting algorithm (Adaboost). Adaboost is a boosting method that is able to give weight to the classification error level that can change the distribution of data. By adding error weights to the wrong classification results, it is hoped that the next classification results will be correct and can increase the accuracy to be more optimum. The experimental results show that the Adaboost method with the base learner K-Nearest Neighbor (KNN) has an accuracy of 95.54%, a precision of 97.43% and a recall value of 90.47%.

While the accuracy value of K-Nearest Neighbor (KNN) is 90.17%, precision and recall are 96.96% and 76.19%, respectively.

Keywords: Accuracy, K-Nearest Neighbor (KNN), Adaptive Boosting (Adaboost), Dengue Fever (DHF) and Typhoid

(12)

xi DAFTAR ISI

Halaman

HALAMAN JUDUL ... i

LEMBAR PERSETUJUAN ... ii

LEMBAR PERNYATAAN ... iii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ... iv

LEMBAR PANITIA PENGUJI ... v

LEMBAR RIWAYAT HIDUP ... vi

UCAPAN TERIMA KASIH ... vii

ABSTRAK ... ix

ABSTRACT ... x

DAFTAR ISI ... xi

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xii

BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 5

1.3. Tujuan Penelitian ... 5

1.4. Batasan Masalah ... 5

1.5. Manfaat Penelitian ... 5

BAB 2 LANDASAN TEORI ... 6

2.1. Penelitian Relevan ... 6

2.2. Klasifikasi ... 7

2.3. Algoritma KNN ... 8

2.4. Boosting ... 9

2.5. Algoritma Adaboost ... 10

2.5.1. Adaboost Algorithm... 11

2.6. Label Encoding ... 12

(13)

xii

2.7. K-Fold Cross Validation ... 12

2.8. Entropy ... 13

2.9 Information Gain ... 13

2.10 Confusion Matrix ... 15

BAB 3 METODOLOGI PENELITIAN ... 17

3.1. Metodologi Penelitian ... 17

3.2. Proses Penelitian ... 20

3.3. Pseudocode Penelitian ... 22

3.4 . Teknik Pengumpulan Data ... 22

3.5. Dataset ang digunakan ... 23

3.6. Contoh Peritungan KNN ... 23

3.7. Perhitungan Analisis Akurasi Tiap Eksperimen pada KNN .. 36

3.8. Contoh Perhitungan Algoritma Adaboost ... 37

BAB 4 HASIL DAN PEMBAHASAN ... 44

4.1. Pembahasan... 44

4.2. Data Penelitian ... 44

4.3. Hasil Perhitungan KNN dengan Metode K-Fold Cross Validation ... 45

4.4 . Hasil Perhitungan KNN dengan Menggunakan Data Testing ... 47

4.5. Hasil Perhitungan KNN Kombinasi Adaboost ... 48

4.6. Hasil Perhitungan KNN tanpa Adaboost dan Kombinasi Adaboost ... 48

4.7. Kontribusi ... 49

BAB 5 KESIMPULAN DAN SARAN ... 50

5.1. Kesimpulan ... 50

5.2. Saran ... 50

DAFTAR PUSTAKA

(14)

xiii

DAFTAR TABEL

Halaman

Tabel 3.1. Dataset Awal Sebelum Label Encoding ... 24

Tabel 3.2. Hasil Encoding ... 25

Tabel 3.3. Proses Partisi Data dengan Metode 5-Fold Cross Validation ... 26

Tabel 3.4. Data Training ... 27

Tabel 3.5. Data Testing ... 27

Tabel 3.6 Data Eucidean Distance dari data training dan data uji ... 34

Tabel 3.7 Proses ranking dengan K yang ditentukan ... 35

Tabel 3.8 Proses 1 Confusion Matrix Data Sampel ... 36

Tabel 3.9 Proses 2 Confusion Matrix Data Sampel ... 36

Tabel 3.10 Tabel Nilai Akurasi pada Data Sampel ... 37

Tabel 3.11 Pemberian Bobot Amatan pada Data Sampel ... 38

Tabel 3.12 Perhitngan Entropy dan Gain Prediktor ... 40

Tabel 4.1 Hasil Akurasi pada 5 Eksperimen dan Nilai K berbeda ... 45

Tabel 4.2 Hasil Akurasi pada K yang berbeda... 47

Tabel 4.3 Hasil Akurasi pada KNN-Adaboost ... 48

Tabel 4.4 Hasil Perbandingan Akurasi pada KNN dan KNN-Adaboost ... 49

(15)

xiv

DAFTAR GAMBAR

Halaman

Gambar 3.1. Flowchart Gambaran Umum Sistem ... 18

Gambar 3.2 Flowchart detail dari proses KNN dan KNN yang sudah Dikombinasikan dengan Adaboost ... 19

Gambar 3.3 Proses Split pada X1 ... 39

Gambar 3.4 Stump 1 ... 41

Gambar 4.1 Perbandingan akurasi eksperimen dan K berbeda ... 46

Gambar 4.2 Perbandingan akurasi dengan nilai K berbeda ... 47

(16)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Pada masa pandemi seperti saat ini, ketepatan dan keakuratan dalam memberikan vonis terhadap suatu jenis penyakit menjadi sangat krusial. Ada banyak jenis penyakit yang memiliki gejala yang hampir serupa, seperti demam. Demam adalah proses di mana suhu tubuh normal meningkat akibat homeostasis yaitu proses kemampuan tubuh untuk mempertahankan keadaan internal yang relatif stabil meskipun ada perubahan pada eksternal tubuh (Plaza, et al, 2016). Demam bukanlah suatu penyakit, melainkan awal gejala seseorang terserang penyakit. Beberapa penyakit tersebut antara lain seperti Covid-19, Hantavirus Pulmonary Syndrome (HPS), Malaria yang disebabkan oleh infeksi Plasmodium falciparum, Meningitis, Infeksi Saluran Kemih, Tifus, bahkan penyakit yang lebih berbahaya seperti Demam Berdarah (Plaza, et al, 2016). Ada beberapa penyakit yang apabila diamati secara klinis akan sulit membedakan diagnosisnya. Dan apabila salah dalam mendiagnosis penyakit yang diderita maka akan menyebabkan fatal pada pasien. Contohnya dalam mendiagnosis penyakit Typhoid Fever (TF) dan Dengue Haemorhagic Fever (DHF), penyakit ini memiliki gejala serupa yang keduanya akan menyebabkan demam tinggi sehingga akan merasa sulit dalam membedakannya. (Shaufiah, 2016)

Penyakit Typhoid Fever (TF) atau tifus ialah penyakit demam karena adanya infeksi bakteri Salmonella Typhi yang menyebar ke seluruh tubuh. Gejala penyakit ini berkembang selama satu sampai dua minggu setelah seorang pasien terinfeksi oleh bakteri tersebut. Gejala umum yang terjadi pada penyakit tifus mencakup suhu tubuh yang tinggi mencapai 39oC - 40oC, sakit kepala, nyeri pada otot, sakit perut, hilangnya nafsu makan, kelelahan dan lidah kotor. Sedangkan, Dengue Haemorhagic Fever (DHF) merupakan penyakit yang disebabkan oleh virus Dengue yang ditularkan melalui gigitan nyamuk Aedes aegypti. Gejala awal penyakit DHF antara lain demam tinggi yang berlangsung sepanjang hari selama 2-7 hari, manifestasi pendarahan, trobosit yang turun secara terus menerus, hemokonsentrasi, pembesaran hati, nyeri otot, mual dan

(17)

2

muntah, dan diare. (Depkes, 2015).

Dengan permasalahan diatas, dibutuhkan sebuah proses klasifikasi yang akurat untuk menentukan jenis penyakit yang sedang diderita oleh pasien. Karena selain ketepatan dalam melakukan klasifikasi jenis penyakit yang sedang di derita, keakuratan juga menjadi hal yang utama dalam proses pengklasifikasian.

Klasifikasi adalah tugas untuk memprediksi label kategori yang sebelumnya tidak diketahui untuk berpindah antara satu objek ke objek lainnya berdasarkan atribut atau fiturnya. Dalam teknik ini data akan dibagi dengan data latih yaitu data yang akan dikaitkan untuk mengetahui label kategori dan data uji yang akan dijadikan sampel uji untuk menemukan label kategori. (Okfalisa., et al, 2017).

Ada beberapa penelitian terkait mengenai prediksi penyakit menggunakan teknik klasifikasi. Sinkon Nayak,(2019) dalam penelitiannya menyebutkan bahwa pada masa saat ini abstraksi data yang sangat besar dihasilkan dan dikumpulkan di setiap waktu. Jadi menganalisisnya adalah tugas terberat yang harus dilakukan. Volume data, menjadi salah satu tantangan dalam mengolah data sudah berukuran sangat besar dewasa ini dihasilkan dari berbagai sumber seperti perawatan kesehatan, media sosial, aplikasi bisnis, industri manufaktur, dan banyak lagi. Penelitian ini menekankan pada diagnosis penyakit jantung pada tahap dini sehingga akan mengarah pada keberhasilan penyembuhan penyakit. menggunakan beberapa teknik klasifikasi untuk membandingkan klasifikasi terbaik dalam memprediksi penyakit jantung, sehingga penentuan dan pengamanan penyakit dapat dilakukan secara dini dan bisa diobati dan dicegah lebih awal. Ada beragam metode klasifikasi data mining seperti klasifikasi Decision Tree, klasifikasi Naive Bayes, klasifikasi Support Vector Machine dan klasifikasi K-NN. Proses selanjutnya yaitu menyusun pendeteksian kunci dan gangguan jantung terkait ketidakseimbangan dengan berbagai metode klasifikasi yang diimplementasikan menggunakan alat analisis R. Untuk antisipasi penyakit jantung terkait pada periode waktu primaeval. Akurasi Naive Bayes lebih dominan dibandingkan dengan yang lain. Namun dalam penelitian tersebut juga menyimpulkan bahwa Naive Bayes memiliki kekurangan yaitu Naive Bayes memiliki kelas independen bersyarat sehingga kurang akurat dan ketergantungan antar atribut tidak dapat dipertimbangkan.

Keyue, kent dan iftikhar (201l), mengusulkan pendekatan hybrid baru yang disebut Genetic Algorithms (GAs) dan Support Vector Machines (SVMs). Dari proses

(18)

evolusi, mereka telah membuktikan bahwa algoritma genetika paling cocok untuk pengumpulan kumpulan data atribut. Itu mencapai akurasi rata-rata tinggi 76,20% .

Theresa & Thomas (2016) menyebutkan dalam penelitiannya bahwa saat ini penyakit kesehatan semakin meningkat karena gaya hidup yang turun temurun.

Penelitian ini memberikan survey tentang berbagai teknik klasifikasi yang digunakan untuk memprediksi tingkat risiko setiap orang berdasarkan usia, jenis kelamin, tekanan darah, kolesterol, denyut nadi. Tingkat risiko pasien diklasifikasikan menggunakan teknik klasifikasi data mining seperti Naïve Bayes, KNN, Decision Tree Algorithm, Neural Network. Berbagai teknik dan pengklasifikasi data mining dibahas dalam banyak penelitian yang digunakan untuk diagnosis penyakit jantung yang efisien dan efektif. Sesuai mode analisis, terlihat bahwa banyak penulis menggunakan berbagai teknologi dan jumlah atribut yang berbeda untuk studi mereka. Karenanya, teknologi yang berbeda memberikan presisi yang berbeda tergantung pada sejumlah atribut yang dipertimbangkan. Penelitian ini mengkombinasikan algoritma KNN dan ID3, tingkat risiko penyakit jantung terdeteksi dan tingkat akurasi juga diberikan untuk jumlah atribut yang berbeda. Keakuratan tingkat risiko tinggi saat menggunakan lebih banyak atribut.

Pada penelitian ini, penulis menggunakan KNN untuk melakukan klasifikasi.

Literatur menunjukkan KNN memiliki hasil konsistensi yang kuat. KNN adalah metode non-parametrik yang digunakan untuk klasifikasi dan regresi. Dibandingkan dengan algoritma pembelajaran mesin lainnya KNN adalah algoritma yang paling sederhana.

Algoritme ini terdiri dari contoh pelatihan K-closet di ruang fitur. Dalam algoritma ini K adalah konstanta yang ditentukan pengguna. Data pengujian diklasifikasikan dengan memberikan nilai konstan yang paling kronis di antara sampel K-training yang terdekat dengan titik. Pohon keputusan membangun model klasifikasi dalam bentuk struktur pohon. KNN memecah dataset menjadi subset yang lebih kecil sementara pada saat yang sama pohon keputusan terkait dikembangkan secara bertahap. (Theresa &

Thomas, 2016).

Kelebihan algoritma KNN adalah terletak pada kemudahan dalam pengimplemtasiannya dan kuat terhadap data yang berantakan. Walaupun data traning yang digunakan berukuran sangat besar, KNN dapat bekerja sangat efisien. Serta efektif jika data pelatihan besar. (Nikhitha & Jabbar, 2019)

Namun dibalik itu, kelemahan KNN yang terindenfikasi algoritma ini tidak

(19)

4

menentukan besaran dari variable K sebagai acuan jumlah tetangga yang di cari kedekatan posisinya dan komputasi algoritma ini memakan biaya yang sangat tinggi di bandingkan dengan algoritma lain yang sejenis, Untuk mengklasifikasi sebuah data x, KNN harus menghitung jarak antara x dengan semua data lain dalam dataset yang dimiliki. Dengan kata lain, kompleksitas waktu klasifikasi kNN berbanding lurus dengan jumlah data latih memiliki komputasi kompleks, keterbatasan memori, sering terabaikan dengan atribut yang tidak relevan dan memiliki akurasi yang rendah terhadap data sedikit. (Bhatia & Vandana, 2010).

Sehingga untuk memperkuat akurasi KNN yang lemah terhadap data sedikit penulis menkombinasikan KNN dan Adaboost agar klasifikasi yang dihasilkan memiliki hasil konsistensi yang kuat dan akurasi yang tinggi terhadap data sedikit.

AdaBoost adalah algoritma pembelajaran yang khas, yang secara efektif dapat meningkatkan kemampuan classifier dalam beberapa iterasi. Dalam inisialisasi, semua sampel pelatihan dihitung dengan bobot yang sama, kemudian akan mendapatkan beberapa pengklasifikasi lemah dengan beberapa putaran pelatihan. Setelah akhir setiap putaran pelatihan, menghitung tingkat kesalahan dari pengklasifikasi lemah, meningkatkan bobot sampel yang diklasifikasikan salah, dan mengurangi bobot sampel yang diklasifikasikan dengan benar. (Li, et al, 2017). Akhirnya classifier lemah ini menjadi classifier yang kuat untuk menyelesaikan tugas klasifikasi. Algoritma Adaboost dapat dianggap sebagai algoritma gradient descent dalam ruang fungsi, di mana fungsi biaya diminimalkan oleh algoritma gradient descent. Dalam setiap iterasi, kita akan memilih classifier lemah baru yang arahnya dekat dengan arah gradien negatif menjadi classifier kuat. Target algoritma adaboost untuk mengoptimalkan akurasi keseluruhan. Kesalahan yang disebabkan oleh kesalahan klasifikasi kelas yang berbeda adalah sama. Algoritma Adaboost akan lebih memperhatikan sampel kesalahan yang diklasifikasikan oleh pengklasifikasi yang ada, pengklasifikasi tidak akan bekerja dengan baik dalam mengklasifikasikan kelas minoritas. Jelas bahwa ini bukan efek belajar yang sangat baik, sehingga algoritma pembelajaran tradisional memiliki batasan besar dalam pembelajaran data yang tidak seimbang. (Li, et al, 2017).

Sehingga dalam penelitian ini, penulis mencoba memperbaiki akurasi yang rendah terhadap data training yang sedikit dimana KNN sering mengabaikan data pada atribut yang tidak relevan, padahal data tersebut bisa saja data yang tidak bisa

(20)

diabaikan. Untuk memperbaiki akurasi dalam proses klasifikasi yang lemah pada KNN, penulis menggabungkan proses klasifikasi KNN dengan menambahkan algoritma Adaboost. Diharapkan hasil akurasi setelah menjalani proses diatas dapat memperbesar keakuratan klasifikasi pada data trainin yang sedikit.

1.2 Rumusan Masalah

Penerapan algoritma KNN pada kasus pengklasifikasian penyakit demam berdarah dan tifus untuk mendapatkan hasil akurasi klasifikasi yang baik namun jika dalam penelitian didapatkan hasil akurasi klasifikasi yang kurang optimal. Maka algoritma KNN ini akan dikombinasikan dengan algoritma Adaboost sehingga mendapatkan hasil akurasi yang lebih optimum.

1.3 Tujuan Penelitian

Penelitian ini bertujuan untuk memperbaiki keakuratan hasil klasifikasi KNN yang kurang optimal pada kasus pengklasifikasian penyakit demam berdarah dan tifus dengan mengkombinasikan Algoritma Adaboost pada KNN.

1.4 Batasan Masalah

Adapun batasan masalah pada tesis ini adalah:

a. Data yang digunakan adalah data sekunder dari salah satu rumah sakit Adam Malik Medan.

b. Algoritma klasifikasi yang digunakan adalah KNN dan akan dikombinasikan dengan algoritma Adaboost untuk memperbaiki tingkat akurasi dari klasifikasi.

c. Akurasi terbaik yang dihasilkan antara algoritma KNN dengan KNN- Adaboost akan diukur dengan confusion matrix.

(21)

BAB 2

LANDASAN TEORI

2.1 Penelitian Relevan

Pada penelitian Kewen Li, (2017) menujukkan pada masalah ketidakseimbangan data, makalah ini mengusulkan algoritma K-AdaBoost. Penelitian ini melakukan perbaikan pada adaBoost dengan menggunakan algoritma KNN. Fungsi error diganti dengan hasil dari akurasi kelas mayoritas dan akurasi kelas minoritas untuk mencerminkan performa classifier pada data imbalanced, maka fungsi bobot diganti dengan fungsi Sigmoid. Selain itu, algoritma K-Adaboost menggunakan algoritma KNN untuk mengurangi bobot kelas mayoritas yang mendekati kelas minoritas, sehingga pengklasifikasian dapat lebih memperhatikan kelas minoritas.

Sistem akan memberikan bobot yang lebih tinggi kepada pengklasifikasi yang berkinerja baik dan menghindari distorsi bobot. Efisiensi K-AdaBoost lebih baik daripada Algoritma AdaBoost pada data yang tidak seimbang, yang tingkat kesalahannya dan nilai AUCnya ditingkatkan. (Li, et al, 2017).

Wu yan menambahkan faktor bobot latihan, bobot sampel positif dikendalikan secara dinamis, dan kinerja klasifikasi dan tingkat konvergensi ditingkatkan.

Algoritma AdaBoost tradisional mungkin menghadapi masalah distorsi distribusi berat, yang membuat classifier lebih pas untuk satu kelas, dan adanya bias ke kelas lain. (WU Yan & XIANG Enning.,2007).

Pada makalah ini, huang Jie dkk menunjukkan pada permasalahan bahwa algoritma KNN rentan terhadap pilihan k-terdekat tetangga dan metode penilaian kelas, makalah ini mengusulkan algoritma kNN berdasarkan kontribusi kelas dan pembobotan fitur yang disebut DCT-kNN. Pertama, menggunakan kNN tradisional untuk menghitung akurasi set data asli dan kekurangan data dari setiap fitur dimensi secara berturut-turut. Kemudian dengan membandingkan dua akurasi untuk membobot fitur dan menghitung jarak bobot, dimana diperoleh k-terdekat. Akhirnya, dengan menggunakan kontribusi kelas yang menggabungkan jumlah k-tetangga terdekat dan jarak rata-rata mereka, label akhir dari sampel diperoleh. Percobaan perbandingan

(22)

kumpulan data UCI menunjukkan tingkat peningkatan tertentu dalam akurasi klasifikasi dari metode yang diusulkan (Jie, et al ,2018).

Di antara algoritma klasifikasi dalam mesin learning, algoritma KNN adalah salah satu metode yang paling sering digunakan karena karakteristik kesederhanaan dan efisiensinya. Meskipun algoritma KNN sangat efektif dalam banyak situasi meskipun masih memiliki dua kekurangan, tidak hanya efisiensi algoritma klasifikasi ini jelas dipengaruhi oleh fitur dimensi yang berlebihan, tetapi juga akurasi kategorisasi sangat dipengaruhi oleh distribusi sampel pelatihan. Dalam makalah ini, mereka mengusulkan algoritma KNN bertahap berdasarkan metode kernel dan pengurangan atribut yang secara efektif dapat mengatasi masalah di atas. mereka menghitung tingkat akurasi dari algoritma yang diusulkan dan membandingkannya dengan algoritma KNN dasar dalam percobaan dengan menggunakan empat dataset UCI. Hasil percobaan menunjukkan bahwa algoritma KNN bertahap (dilambangkan dengan SWKNN) berkinerja lebih baik daripada algoritma KNN asli dengan peningkatan akurasi rata-rata 13,8%. (Xueli,et al, 2015).

Menurut Yuxuan Tan, K-Nearest Neighbours (KNN) merupakan algoritma penting yang digunakan dalam klasifikasi teks yang memiliki keunggulan sederhana dan efektif. Namun, overhead komputasinya sangat tinggi. Untuk mengatasi masalah ini, algoritma KNN yang ditingkatkan bernama KM-RS-KNN yang memperkenalkan K-medoids dan rough set ke KNN diusulkan dalam makalah ini. K-medoids digunakan untuk mengurangi data pelatihan dengan kesamaan antara teks baru yang masuk dan pusat cluster, sedangkan pendekatan atas dan bawah dalam teori himpunan kasar digunakan untuk mengurangi ruang pencarian sampel. Simulasi menunjukkan bahwa KM-RS-KNN memiliki efisiensi klasifikasi dan efek klasifikasi yang lebih baik daripada algoritma KNN tradisional. (Tan, 2018).

2.2 Klasifikasi

Klasifikasi adalah proses dalam membuat kategori dataset yang diberikan kedalam kelas yang bertujuan untuk memprediksi label kategori benda yang tidak diketahui sebelumnya, dalam membedakan antara objek yang satu dengan yang lainnya berdasarkan atribut atau fitur. Klasifikasi terbagi menjadi dua yaitu supervised learning dan unsupervised learning. Algoritma yang digunakan pada supervised learning adalah Decision tree, naïve bayes classifier dan K-nearest neighbors

(23)

8

algorithm (K-NN). Sedangkan algoritma pada unsupervised learning adalah K-Means dan Hierarchical clustering. (Theodoridis, 2020)

2.3 Algoritma KNN

KNN adalah sebuah algoritma pembelajaran terawasi (supervised learning) dimana hasil dari instance yang baru, diklasifikasikan berdasarkan mayoritas dari kategori K- tetangga terdekat. Dengan kata lain, jika Anda mirip dengan tetangga Anda, maka Anda adalah salah satu satu dari mereka. Algoritma ini mengklasifikasikan obyek baru berdasarkan atribut dan training sample. (Jie, et al,2018).

Algoritma K-Nearest Neighbor ini memiliki sifat yang sangat sederhana, dikarena bekerja berdasarkan pada jarak yang paling pendek dari satu data sampel ke sebuah data training yang ada yang nantinya berguna untuk menentukan jarak dari tetangganya yang paling dekat. Kemudian Setelah didapatkan K-Nearest Neighbor yang paling terdekat, akan diambil mayoritas dari K-Nearest Neighbor untuk ditentukannya suatu prediksi dari data sampel yang ada. Algoritma KNN sendiri memiliki beberapa kelebihan yaitu sangat kuat atau tahan terhadap data training yang kabur dan sangat efektif apabila terdapat suatu data training yang berkapasitas besar.

Pada waktu pelatihan data atau training, algoritma ini hanya melakukan penyimpanan ukuran ukuran perhitungan dari sebuah fitur dan klasifikasi dari suatu sampel data training. Kemudian Pada waktu dilakukannya pengklasifikasian, atribut atau fitur yang sama dihitung yang akan digunakan untuk data testing nanti ketika akan dilakukannya pembelajaran,atau yang klasifikasinya tidak diketahui. Jarak dari titik baru yang ini terhadap seluruh ukuran perhitungan dari data training dihitung dan sejumlah k buah yang paling terdekat tersebut yang akan digunakan. Titik yang baru klasifikasinya akan diprediksikan dan akan masuk pada klasifikasi terbanyak dari titik-titik tersebut.

(Rezki, 2018)

Ketepatan metode algoritma KNN dipengaruhi ada kemunculan atau tidak fitur yang tidak bersesuaian atau apabila bobot fitur tidak sama dengan kesesuaiannya terhadap klasifikasi. Percobaan terhadap algoritma ini sebagian besar bertujuan membahas bagaimana menentukan dan memberi beban terhadap fitur agar hasil dari klasifikasi menjadi lebih baik (Rezki, 2018).

(24)

KNN menyimpulkan dua langkah utama Pertama, temukan k-terdekat tetangga: menghitung jarak euclidean antara dua titik.

X1 = (X11,X12,…X1n) , X2 = (X21,X22,…X2n)

Rumus :

Jarak (X1, X2) = √∑ni=1(𝑋𝑖1− 𝑋𝑖2) (2.1)

2.4 Boosting

Boosting merupakan salah satu metode ensemble yang digunakan untuk mengimprovisasi performa suatu algoritma learning dengan mengkombinasikan kumpulan classifier lemah guna membentuk suatu classifier akhir yang kuat. Boosting mengasumsikan ketersediaan dari suatu algoritma learning yang lemah (suatu algoritma learning yang menghasilkan model classifier lemah atau model yang kurang akurat dalam memprediksi suatu training). Ide utama didalam proses boosting yaitu memilih sekumpulan data training (sampel training) dengan beberapa cara untuk kemudian dipelajari oleh suatu base learner, dimana base learner tersebut dipaksa menarik sesuatu yang baru tentang sampel tersebut setiap kali base learner itu dipanggil. Proses ini dapat dicapai dengan memilih sampel training yang diharapkan dapat membuat performa dari base classifier menjadi sangat buruk bahkan lebih buruk dari pada performa base classifier secara reguler. Jika hal ini dapat dicapai, kemudian pada iterasi selanjutnya diharapkan base learner dapat menghasilkan suatu base classifier baru yang secara signifikan berbeda dari pendahulunya. Hal ini dikarenakan meskipun base learner diharapkan sebagai sesuatu algoritma learning yang lemah dan medioker, namun base learner ini diharapkan pula dapat memberikan output suatu classifier yang membuat prediksi nontivial (Schapire dan Freund, 2012).

AdaBoost adalah salah satu representasi algoritma boosting. Algoritma AdaBoost diperkenalkan oleh Freund dan Schapire (1995), memecahkan banyak masalah practical dari algoritma boosting terdahulu.

2.5 Algoritma Adaboost

(25)

10

Metode AdaBoost merupakan salah satu algoritma supervised pada data mining yang diterapakan secara luas untuk membuat model klasifikasi. Walaupun pada awalnya algoritma ini diterapkan pada model regresi, seiring dengan perkembangan teknologi komputer yang cepat, metode ini juga dapat diterapkan pada model statistik lainnnya.

Metode adaBoost merupakan salah satu teknik ensamble dengan menggunakan loss function fungsi exponential untuk memperbaiki tingkat akurasi dari prediksi yang dibuat. Algoritma ini menggunakan database berulang kali dan tidak perlu memiliki database yang besar. ( Bahramian & Nikravanshalmani,2016).

AdaBoost secara efektif dapat melakukan klasifikasi pada beberapa iterasi.

Dalam inisialisasi, semua sampel akan dihitung menggunakan bobot yang sama yaitu 1/N, kemudian mendapatkan beberapa pengklasifikasi lemah dengan beberapa putaran pelatihan. Setelah akhir setiap putaran pelatihan, menghitung tingkat kesalahan dari pengklasifikasi lemah, meningkatkan bobot sampel yang diklasifikasikan salah, dan mengurangi bobot sampel yang diklasifikasikan dengan benar. Akhirnya, klasifikasi lemah ini menjadi klasifikasi yang kuat untuk menyelesaikan tugas klasifikasi.

Algoritma Adaboost dapat dianggap sebagai algoritma gradient descent dalam ruang fungsi, di mana fungsi biaya diminimalkan oleh algoritma gradient descent. Dalam setiap iterasi, kita akan memilih classifier lemah baru yang arahnya dekat dengan arah gradien negatif menjadi classifier kuat. Target algoritma adaboost untuk mengoptimalkan akurasi keseluruhan. Kesalahan yang disebabkan oleh kesalahan klasifikasi kelas yang berbeda adalah sama. Algoritma Adaboost akan lebih memperhatikan sampel kesalahan yang diklasifikasikan oleh pengklasifikasi yang ada, pengklasifikasi tidak akan bekerja dengan baik dalam mengklasifikasikan dalam jumlah sedikit. Jelas bahwa ini bukan efek belajar yang sangat baik, sehingga algoritma pembelajaran tradisional memiliki batasan besar dalam pembelajaran data yang tidak seimbang. (Li, et al, 2017).

Keuntungan utama dari AdaBoost sebagai mekanisme pemilihan fitur, dibandingkan pesaing seperti metode pembungkus adalah kecepatan belajar.

Mengingat kendala bahwa fitur pencarian lebih serakah, AdaBoost secara efisien memilih fitur yang meminimalkan zm , pengganti untuk kesalahan klasifikasi keseluruhan. Seluruh ketergantungan pada fitur yang dipilih sebelumnya secara efisien dan kompak dikodekan menggunakan contoh bobot. Akibatnya, penambahan fitur ke- 100 tidak membutuhkan usaha lebih dari pemilihan fitur pertama. (Li, et al, 2017).

(26)

Adaptive Boosting atau AdaBoost merupakan salah satu metode boosting yang umum dan popular digunakan. AdaBoost pertama kali diperkenalkan oleh Freund dan Schapire 1996 yang disebut dengan “AdaBoost.M1”. Prinsip dari metode boosting yaitu menghasilkan prediksi yang akurat dengan mengkombinasikan pengklasifikasi- pengklasifikasi lemah. Pengklasifikasi lemah merupakan pengklasifikasi yang memiliki tingkat kesalahan sedikit lebih baik dibandingkan dengan tebakan acak.

AdaBoost memberikan bobot lebih besar pada amatan yang diklasifikasikan tidak tepat. Sehingga pada iterasi selanjutnya, amatan yang sulit diklasifikasi menerima pengaruh yang lebih besar (Hastie et al. 2008).

2.5.1 AdaBoost Algorithm:

Input : Dataset T = {(x1, y1), (x2, y2), …, ((xN, yN)}, xi ∈ 𝑅𝑛 , y ∈ Y = {-1, +1}

Output : Classifier kuat G(x) (1) Inisialisasi

D1 = (w11,… , w1i, …, w1N), w1i = 1

𝑁 , i = 1,2, …, N (2.2)

(2) For m = 1,2, …, M

a. Mendapatkan klasifikasi lemah berdasarkan distribusi bobot Dm

Gm (x) = {-1, +1} (2.3)

b. Menghitung error paada dataset dengan Gm (x)

m = P (Gm (x) ≠ yi )

= ∑𝑁𝑖=1𝑤mi I (Gm (x) ≠ yi ) (2.4) c. Menghitung bobot Gm (x)

am = = 1

2log = 1−℮𝑚

℮𝑚 (2.5)

d. Update Dm

Dm+1 = (wm+1,1, … , wm+1,i, …, wm+1,N) (2.6) wm+1,i = wm𝑖

𝑍𝑚exp(-αm yi Gm (xi) (2.7) zm = ∑𝑁𝑖=1𝑤 mi exp(-αm yi Gm (xi) (2.8)

(3) Mendapatkan klasifikasi kuat

f(x) = ∑𝑀𝑚=1𝛼m Gm (x) (2.9)

(27)

12

G(x) = sign (f(x)) = sign (= ∑𝑀𝑚=1𝛼m Gm (x)) (2.10)

2.6 Label Encoding

Label encoding adalah sebuah teknik data encoding yang paling sederhana, dengan cara merubah data dalam variabel kategori (non-number) menjadi data dalam bentuk number dengan memasukkan suatu nilai integer kepada setiap nilai dari suatu variabel kategorikal secara berurutan. Contoh sebuah set yang bernilai (mawar, melati, anggrek, lily) dapat ditransformasikan menjadi set (0, 1, 2, 3) secara berurutan. Teknik ini merupakan cara yang paling sederhana untuk mengonversi nilai kategorikal ke nilai numerik. Pengkodean label adalah contoh bagus mengapa kami memilih untuk menyebut kelas teknik pengkodean ini ditentukan. Setelah kita mengetahui semua nilai yang mungkin dari variabel kategori, ekuivalen yang dikodekan ditentukan oleh bagaimana kita memilih untuk menetapkan nilai integer pada dataset. (Hancock and Khoshgoftaar ,2020)

2.7 K-Fold Cross Validation

Cross-validation adalah metode statistik untuk mengevaluasi dan membandingkan algoritma learning dengan membagi data menjadi dua bagian yaitu data training yang digunakan untuk pelatihan dan data testing yang digunakan untuk memvalidasi model.

Bentuk dasar cross-validation adalah k-fold cross-validation. Pada k-fold cross- validation, data dipartisi secara acak menjadi k bagian yang bersifat mutually exlclusive D1,D2,....,Dk, yang masing masing memiliki ukuran yang sama. Proses training dan testing dilakukan sebanyak k kali. Dalam iterasi ke-i, data partisi Di

diposisikan sebagai data testing, sementara partisi lain yang tersisa secara kolektif digunakan untuk melatih model. Misalkan pada iterasi pertama, D1 digunakan sebagai data testing, sementara D2D3,……….Dk digabungkan untuk digunakan sebagai data training untuk menghasilkan model,yang kemudian diuji pada data D1. Pada iterasi kedua, data D1,D3, ……, Dk digabungkan untuk digunakan sebagai data training dan kemudian model yang dihasilkan dilakukan pengujian menggunakan data D2. Akurasi klasifikasi model diperoleh dengan cara merata-ratakan akurasi dari setiap iterasi (Han dkk, 2012).

2.8 Entropy

(28)

Entropi adalah ukuran kuantitatif dari ketidakteraturan dalam suatu sistem/model.

Entropy digunakan untuk menghitung data yang homogenitas dalam dataset untuk selanjutnya membagi dataset menjadi beberapa kelas. Jika kelas yang dihasilkan berisi data yang sama, maka entropi akan menjadi nol dan jika kelas yang dihasilkan dibagi rata menjadi dua kumpulan data maka entropi akan menjadi satu. Di sisi lain, entropy mengukur keseluruhan dataset yang berarti semakin tinggi nilai entropi menghasilkan lebih banyak konten informasi. Entropi digunakan untuk mengukur seberapa informatif sebuah node. (Pooja Gulati,2016). Adapun rumus entropy adalah sebagai berikut :

Entropy (S) = ∑𝑛𝑖=1−pi Log2 pi (2.11)

Dimana :

S = Himpunan Kasus n = Jumlah partisi S

pi = Probabiliitas yang didapat dari jumlah kelas dibagi total kasus

Entropi digunakan untuk:

1. Ketika simpul hanya dimiliki oleh satu kelas, maka entropi akan menjadi nol.

2. Ketika ketidakteraturan dataset tinggi atau kelas dibagi sama rata maka entropi akan maksimal.

3. Membantu pengambilan keputusan pada beberapa tahap.

2.9 Information Gain

Feature selection dapat digunakan untuk mengurangi atribut yang kurang relevan pada dataset (Chandani, 2015). Salah satu algoritma feature selection adalah Information Gain. Information Gain dapat membantu mengurangi noise yang disebabkan oleh fitur-fitur yang tidak relevan. Information Gain mendeteksi fitur-fitur yang paling banyak memiliki informasi berdasarkan kelas tertentu. (Waruwu, Y.F., 2018).

Information gain merupakan salah satu metode seleksi fitur yang banyak

dipakai oleh peneliti untuk menentukan batas dari kepentingan sebuah atribut (Novakovic, 2010). Nilai information gaindiperoleh dari nilai entropy sebelum pemisahan dikurangi dengan nilai entropy setelah pemisahan. Pengukuran nilai ini

(29)

14

hanya digunakan sebagai tahap awal untuk penentuan atribut yang nantinya akan digunakan atau dibuang. Atribut yang memenuhi kriteria pembobotan yang nantinya akan digunakan dalam proses klasifikasi sebuah algoritma (Prasetyo, 2014). Pemilihan fitur dengan information gain dilakukan dalam 3 tahapan, yaitu:

1 Menghitung nilai information gain untuk setiap atribut dalam dataset original.

2 Tentukan batas (treshold) yang diinginkan. Hal ini akan memungkinkan atribut yang berbobot sama dengan batas atau lebih besar akan dipertahankan serta membuang atribut yang berada dibawah batas.

3 Dataset diperbaiki dengan pengurangan atribut. Pengukuran atribut ini pertama kali dipelopori oleh Claude Shannon didalam teori informasi (Gallager and Fellow 2001) serta dituliskan sebagai:

Info(D) = − ∑𝑚𝑖=1𝑝𝑖 Log2 (2.12)

Dimana:

D = Himpunan kasus M = Jumlah partisi D

pi = Proporsi dari Di terhadap D

Sedangkan pi merupakan probabilitas sebuah tuple pada D yang masuk kedalam kelasCi dan diestimasi dengan |Ci,D|/|D|. Fungsi log dalam hal ini digunakan log berbasis 2 karena informasi dikodekan berbasis bit. Perhitungan nilai entropy setelah pemisahan dapat dilakukan dengan menggunakan rumus berikut:

InfoA(D) = - ∑ |𝐷𝑗|

𝐷

𝑣𝑗=1 x I(Dj) (2.13) Dimana:

D = Himpunan kasus A = Atribut

v = Jumlah partisi atribut A

|Dj| = Jumlah kasus pada partisi ke j

|D| = Jumlah kasus dalam D I (Dj) = Total entropy dalam partisi

Sedangkan untuk mencari information gain atribut A dapat digunakan rumus berikut:

(30)

Gain (A) = I (D) – I (A) (2.14)

Dimana:

Gain (A) = Information atribut A I (D) = Total entropy

I (A) = entropy A

Gain (A) merupakan reduksi yang diharapkan di dalam entropy yang disebabkan oleh pengenalan nilai atribut dari A. Atribut yang memiliki nilai information gain terbesar selanjutnya dipilih sebagai uji atribut himpunan S. Lalu suatu simpul dibuat dan diberi label sesuai dengan atribut tersebut, kemudian cabang-cabang dibuat untuk masing- masing nilai atribut yang lain.

2.10 Confusion Matrix

Confusion matrix adalah suatu metode yang biasanya digunakan untuk melakukan perhitungan akurasi pada konsep data mining. Pengukuran terhadap kinerja suatu sistem klasifikasi merupakan hal yang penting. Kinerja sistem klasifikasi menggambarkan seberapa baik sistem dalam mengklasifikasikan data. Pada dasarnya confusion matrix mengandung informasi yang membandingkan hasil klasifikasi yang dilakukan oleh sistem dengan hasil klasifikasi yang seharusnya.(E. Prasetyo, 2012).

Akurasi = TP+TN

TP+TN+FP+FN∗ 100% (2.15)

Precison = TP

TP+FP (2.16)

Recall = TP

TP+ FN (2.17)

Dimana:

(31)

16

1. TP adalah True Positive, yaitu jumlah data positif yang terklasifikasi dengan benar oleh sistem.

2. TN adalah True Negative, yaitu jumlah data negatif yang terklasifikasi dengan benar oleh sistem.

3. FN adalah False Negative, yaitu jumlah data negatif namun terklasifikasi salah oleh sistem.

4. FP adalah False Positive, yaitu jumlah data positif namun terklasifikasi salahh oleh sistem.

(32)

17

BAB 3

METODOLOGI PENELITIAN

3.1 Metodologi Penelitian

Pada bab ini berisi uraian dan penjelasan mengenai tahapan, teknik dan langkah- langkah yang akan dilakukan dalam penelitian ini. Penelitian ini bertujuan untuk mengoptimalisasi akurasi algoritma KNN yang rendah terhadap jumlah data training yang sedikit dengan mengkombinasikan algoritma adaboost. Penelitian ini diterapkan pada algoritma KNN untuk mengklasifikasikan penyakit, agar dapat membuktikan bahwa mengkombinasikan algoritma KNN dengan algoritma adaboost dapat meningkatkan akurasi, maka penelitian ini akan membandingkan performa akurasi dari algoritma KNN yang tidak diterapkan adaboost dengan yang menerapkannya.

Flowchart penerapan adaboost pada algoritma KNN dapat dilihat pada Gambar 3.1 yang akan menjadi rancangan penelitian ini. Algoritma KNN sebagai algoritma dasar dan lemah diperkuat dengan algoritma Adaboost melalui pembobotan sampel dan selama implementasi, pengklasifikasian diatur demi sampel yang salah untuk mengklasifikasikan lebih banyak sampel.

Pada gambar 3.2 merupakan detail dari proses perhitungan KNN serta KNN yang sudah dikombinasikan dengan adaboost. Validasi dalam penelitian ini menggunakan k-fold cross validation. Sedangkan pengukuran akurasi diukur dengan confussion matrix.

(33)

18

Gambar 3.1 Flowchart Gambaran Umum Sistem

(34)

Gambar 3.2 Flowchart Detail dari proses KNN dan KNN yang sudah dikombinasikan dengan Adaboost

(35)

20

3.2 Proses Penelitian

Proses dari rancangan penelitian diatas adalah sebagai berikut : a Input dataset

b Preprocessing dengan melakukan transformasi data menggunakan label encoding c Mendapatkan dataset baru

d Membagi dataset menjadi data training dan data uji.

e Melakukan klasifikasi dengan metode 5-Fold Cross Validation pada data training.

f Menentukan beberapa nilai K

g Menghitung jarak antar data latih dan data testing

h Mengurutkan jarak antar data latih dari yang terkecil hingga terbesar i Mengambil urutan jarak antar data latih sebanyak nilai k

j Mengumpulkan label class Y (klasifikasi Nearest Neighbours).

k Menghasilkan sebuah klasifikasi. Hitung beberapa k sampai menemukan k yang akurasinya paling baik dan mencari partisi yang memiliki akurasi terbaik.

l Mendapatkan model KNN dan lakukan uji akurasi model KNN dengan data testing.

m Model KNN yang didapatkan sebelumnya, menjadi base learner pada Adaboost.

n Adaboost akan melakukan boosting pada base learner KNN o Memberikan Bobot Amatan sample pada seluruh dataset

D1 = w1i = 1

𝑁 , i = 1,2, …, N

p Cari stump dengan memilih predictor yang mempunyai nilai information gain tertinggi

q Gunakan variable algoritma KNN untuk suatu komponen ht pada sample bobot pelatihan.

For M = K

a. Mendapatkan klasifikasi lemah pada KNN berdasarkan distribusi bobot Dm

Gm (x) = {-1, +1}

r Hitung kesalahan pelatihan ht (error rate) Menghitung error pada dataset dengan Gm (x)

m = P (Gm (x) ≠ yi )

(36)

= ∑𝑁𝑖=1𝑤m,i I (Gm (xi) ≠ yi )

s Tetapkan bobot suara untuk komponen latih Menghitung bobot Gm (x)

αm = log 1−℮𝑚

℮𝑚

t Perbaharui komponen bobot latih Update Dm

Dm+1 = (wm+1,1, … , wm+1,i, …, wm+1,N) wm+1,i = wm𝑖

𝑍𝑚exp(-αm yi Gm (xi) zm = ∑𝑁𝑖=1𝑤 mi exp(-αm yi Gm (xi)

u Hasil klasifikasi yang salah, bobotnya akan di naikkan sehingga pada prediksi selanjutnya tidak salah lagi.

v Lakukan normalisasi bobot agar jumlah total bobot sama dengan 1.

Normalisasi bobot = bobot baru / total bobot.

w Mendapatkan classifier kuat f(x) = ∑𝑀𝑚=1αm Gm (x)

Y(x) = sign (f(x)) = sign (= ∑𝑀𝑚=1αm Ym(x))

(37)

22

3.3 Pseudocode Penelitian Input dataset

Input K as integer

Hitung d(x,xi) for i=1,,…N

misalkan k adalah a + ve integer, ambil jarak k pertama dari daftar yang diurutkan Tentukan titik-k yang sesuai dengan jarak k.

Misalkan ki menunjukkan jumlah poin yang termasuk dalam kelas ke-i di antara k poin, yaitu k ≥ 0

Jika ki> kj ∀ i ≠ j maka letakkan x di kelas i.

Input : N label {( x1, y1), (x2, y2), …, ((xN, yN)}, Input : K from KNN

Klasifikasi algoritma KNN lemah Integer T untuk jumah iterasi

Inisialisasi : weights w, wi= 1/N for i=1,,…N T=0,℮m’=0

Normallisasi wt

Call Knn, membuktikan wt dapatkan hipotesis G(x) : X → {-11}

Compute ℮m t== ∑𝑁𝑖=1𝑤mi I where ℮𝑚 =1 Set am = = 1

2log = 1−℮𝑚

℮𝑚

Update bobot zm = ∑𝑁𝑖=1𝑤 mi exp(-am yi Gm (xi) Output

G(x) = sign (f(x)) = sign (= ∑𝑀𝑚=1𝑎m Gm (x))

3.4. Teknik Pengumpulan Data

Teknik pengumpulan data yang digunakan peneliti dalam pengumpulan data adalahsebagai berikut:

1. Mengumpulkan literatur, jurnal, paper, dan bacaan-bacaan lainnya yang berhubungan dengan algoritma klasifikasi data mining.

2. Mengumpulkan data penelitian yang diperoleh dari Rumah Sakit Adam Malik Medan.

(38)

3.5 Dataset yang digunakan

Dataset yang digunakan adalah data pasien demam berdarah dan tifus yang diambil dari Rumah Sakit Adam Malik Medan. Dataset ini terdiri dari 512 data, 13 atribut dan 2 label. Sehingga dalam penelitian ini diperlukan beberapa langkah pre-processing guna mengolah raw data yang didapat sehingga menjadi data yang siap di training.

Nama atribut dari dataset ini diubah menjadi variabel sebagai berikut:

1. Jenis Kelamin diubah menjadi X1

2. Tempat Tinggal diubah menjadi X2

3. Demam diubah menjadi X3

4. Nyeri Kepala diubah menjadi X4

5. Anoreksia diubah menjadi X5

6. Mual diubah menjadi X6

7. Petekie diubah menjadi X7

8. Gusi Berdarah diubah menjadi X8

9. Diare diubah menjadi X9

10. Mimisan diubah menjadi X10

11. Nyeri Hati diubah menjadi X11

12. Nyeri Sendi diubah menjadi X12

13. Nyeri Perut. diubah menjadi X13

3.6 Contoh Perhitungan KNN

Pada dataset yang digunakan dilakukan proses Label Encoding terlebih dahulu agar tidak terjadi berbagai anomali data dan tidak konsistensinya data. Metode untuk preprocessing data yang digunakan adalah Label encoding, dapat dilihat pada tabel 3.1 dan 3.2 sebelum dan sesudah data di Label Encoding.

(39)

24

Tabel 3.1 Dataset sebelum Label Encoding.

Data pada tabel 3.1 di atas merupakan data sebelum Label Encoding. Sedangkan untuk hasil Label Encoding dapat dilihat pada tabel 3.2 sebagai berikut.

No X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13

1 Laki- laki

Kota

Medan Ada Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Tidak Ada

Tidak Ada

2 Peremp uan

Luar

Kota Ada Ada Tidak

Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak

Ada Ada Tidak Ada Ada

3 Peremp uan

Kota

Medan Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tida k Ada

Tidak Ada

Tidak Ada

4 Laki- laki

Kota

Medan Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tida k Ada

Tidak Ada

Tidak Ada

5 Peremp uan

Kota

Medan Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Tidak Ada Ada

6 Peremp uan

Luar

Kota Ada Tidak

Ada Ada Ada Tidak

Ada

Tidak Ada

Tidak Ada

Tidak

Ada Ada Tidak Ada

Tidak Ada

7 Peremp uan

Kota

Medan Ada Ada Tidak

Ada Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tida k Ada

Tidak Ada

Tidak Ada

8 Peremp uan

Kota

Medan Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Tidak Ada Ada

9 Peremp uan

Kota

Medan Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tidak

Ada Ada Tidak Ada

Tida k Ada

Ada Tidak Ada

10 Peremp uan

Kota

Medan Ada Ada Tidak

Ada Ada Tidak Ada

Tidak

Ada Ada Tidak

Ada Ada Tidak Ada

Tidak Ada 11 Peremp

uan

Kota

Medan Ada Tidak

Ada Ada Ada Tidak

Ada

Tidak

Ada Ada Tidak

Ada Ada Tidak Ada

Tidak Ada

408

Peremp uan

Luar Kota

Ada Tidak Ada

Tidak Ada

Tidak Ada

Ada Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Tidak Ada

Tidak Ada

409 Laki- Laki

Luar Kota

Ada Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Tidak Ada

Ada

410

Peremp uan

Luar Kota

Ada Ada Tidak Ada

Tidak Ada

Ada Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Ada Tidak Ada

411 Laki- Laki

Luar Kota

Ada Ada Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Ada Tidak Ada

412

Peremp uan

Luar Kota

Ada Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tidak Ada

Tida k Ada

Ada Ada

Referensi

Garis besar

Dokumen terkait

Metode yang digunakan adalah membandingkan training data set dengan data uji yang kemudian diolah menggunakan algoritma K-Nearest Neighbour (KNN) dalam proses data mining

Oleh karena itu dengan adanya sebuah prediksi kelulusan mahasiswa dengan teknik klasifikasi menggunakan algoritma k-nearest neighbor diharapkan agar mahasiswa dapat

Wibisono dan Fahrurozi (2019) membandingkan algoritma klasifikasi Naïve Bayes, K-Nearest Neighbor, Decision Tree dan Random Forest dalam pengklasifikasian data

Dalam penelitian ini menggunakan metode data mining yang di bantu dengan menggunakan Algoritma K-Nearest Neighbor (KNN) serta di dukung oleh data – data yang sudah ada

Hasil pengujian akurasi tertinggi yang diperoleh dari metode Modified K-Nearest Neighbor pada klasifikasi masa studi mahasiswa Teknik Informatika berdasarkan Index

Klasifikasi dan Evaluasi Dataset yang telah selesai dilakukan pembagian dan seleksi fitur menggunakan XGBoost dilanjutkan dengan proses klasifikasi pada K-Nearest Neighbor menggunakan

Gambar 5.7 Grafik hasil pengujian perbandingan metode KNN-CF, Naïve Bayes dan J48 Dari grafik diatas dapat disimpulkan bahwa metode K-Nearest Neighbor – Certainty Factor lebih

K-Nearest Neighbor sering digunakan dalam klasifikasi dengan tujuan dari algoritma ini adalah untuk mengklasifikasi objek baru berdasarkan atribut dan training samples