ANALISIS KINERJA BRAY CURTIS DISTANCE CANBERRA DISTANCE DAN EUCLIDEAN DISTANCE PADA ALGORITMA
K-NEAREST NEIGHBOR
TESIS
OLEH
ANNISA FADHILLAH PULUNGAN 167038065
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2019
ANALISIS KINERJA BRAY CURTIS DISTANCE, CANBERRA DISTANCE DAN EUCLIDEAN DISTANCE PADA
ALGORITMA K-NEAREST NEIGHBOR
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika
ANNISA FADHILLAH PULUNGAN 167038065
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2019
iii
PERNYATAAN
ANALISIS KINERJA BRAY CURTIS DISTANCE CANBERRA DISTANCE DAN EUCLIDEN DISTANCE PADA
ALGORITMA K-NEAREST NEIGHBOR
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 7 Februari 2019
ANNISA FADHILLAH PULUNGAN 167038065
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai civitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:
Nama : Annisa Fadhillah Pulungan
NIM : 167038065
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:
ANALISIS KINERJA BRAY CURTIS DISTANCE , CANBERRA DISTANCE DAN EUCLIDEAN DISTANCE PADA
ALGORITMA K-NEAREST NEIGHBOR
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, 7 Februari 2019
ANNISA FADHILLAH PULUNGAN 167038065
v
Telah diuji pada
Tanggal : 7 Februari 2019
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Muhammad Zarlis Anggota : 1. Prof. Dr. Saib Suwilo
: 2. Prof. Dr. Tulus, M.Si : 3. Dr. Erna Budhiarti Nababan
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap (berikut gelar) : Annisa Fadhillah Pulungan, S.Kom Tempat dan Tanggal Lahir : Medan, 9 Agustus 1993
Alamat Rumah : Jl. Brigjend Katamso Gg. Riwayat No. 10 Kelurahan Kampung Baru, Kecamatan Medan Maimun, Kota Medan, Sumatera Utara
Telepon/HP : 0852-0643-0135
Email : [email protected]
DATA PENDIDIKAN
SD : SD Negeri 167644 Tebing Tinggi TAMAT: 2005
SMP : SMP Negeri 1 Tebing Tinggi TAMAT: 2008
SMA : SMA Negeri 2 Tebing Tinggi TAMAT: 2011
S1 : Teknologi Informasi USU Medan TAMAT: 2016
S2 : Teknik Informatika USU Medan TAMAT: 2019
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“ANALISIS KINERJA BRAYCURTIS DISTANCE, CANBERRA DISTANCE DAN EUCLIDEAN DISTANCE PADA ALGORITMA K-NEAREST NEIGHBOR”
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 Prof. Dr. Runtung Sitepu, S.H., M.Hum., selaku Rektor Universitas Sumatera Utara Medan;
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan;
3. Bapak Prof. Dr. Muhammad Zarlis, M.Sc, selaku Ketua Program Studi S2 Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi UniversitasSumatera Utara Medan sekaligus Dosen Pembimbing I yang telah memberikan bimbingan dan arahan dalam menyelesaikan tesis ini;
4. Bapak Prof. Dr. Saib Suwilo, sebagai Dosen Pembimbing II yang telah memberikan bimbingan dan arahan dalam penyelesaian tesis ini;
5. Bapak Prof. Dr Tulus, M.Si sebagai Dosen Pembanding/Penguji I yang telah memberikan saran dan masukan untuk perbaikan dan penyelesaian tesis ini;
6. Ibu Dr.Erna Budhiarti Nababanselaku Dosen Pembanding/Penguji II yangtelah memberikan saran dan masukan untuk perbaikan dan penyelesaian tesis ini;
7. Orangtua penulis: Ayahanda H. Gong Martua Pulungan, S.E dan Ibunda Faridawaty Marpaung, S.Si, M.Si, beserta Adik penulis : Nurul Hidayah Pulungan, S.Pd dan Syarif Hidayatullah Pulungan, S.Pd, S.H. atas dukungan dan doanya untuk kelancaran dalam menyelesaikan tesis ini;
8. Abangda Chairil Umri, S.Kom yang selalu memberikan dukungan dan doanya untuk kelancaran dalam menyelesaikan tesis.
9. Teman-teman seangkatan di Pascasarjana Teknik Informatika KOM C 2016 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, 7 Februari 2019 Penulis,
ANNISA FADHILLAH PULUNGAN NIM. 167038065
ix
ABSTRAK
Klasifikasi adalah suatu teknik yang digunakan untuk membangun model klasifikasi dari sampel data pelatihan. Salah satu teknik klasifikasi yang paling populer adalah K Nearest Neighbor (KNN). Algoritma KNN memiliki parameter penting yang mempengaruhi kinerja algoritma KNN. Parameter tersebut adalah nilai k dan matriks jarak. Jarak antara dua titik data ditentukan oleh perhitungan matriks jarak sebelum dilakukan proses klasifikasi menggunakan KNN. Tujuan penelitian ini adalah untuk menganalisis dan membandingkan akurasi kinerja KNN menggunakan fungsi jarak Braycurtis Distance, Canberra Distance dan Euclidean Distance berdasarkan sudut pandang akurasi. Adapun data yang digunakan adalah dataset Iris yang bersumber dari UCI Machine Learning Repository. Metode evaluasi yang digunakan adalah 10-Fold Cross Validation dan hasil evaluasi berupa Confusion Matrix untuk penilaian accuracy, sensitivity, dan specificity. Hasil analisis menunjukkan bahwa metode jarak Braycurtis memiliki performance yang lebih baik dibanding dengan metode jarak Canberra dan Euclidean pada nilai K =6, K=7, K=8 dan K=10 dengan nilai accuracy sebesar 96%, sensitivity sebesar 96.8% dan specificity sebesar 98.2 % . Euclidean memiliki performance terbaik pada nilai K=5 dan K=6 dengan nilai accuracy sebesar 95.33%, Sensitivity sebesar 96.04% dan specificity sebesar 97,82%. Dan performance terbaik metode jarak Canberra pada nilai K=3 yaitu accuracy sebesar 94,70%, sensitivity sebesar 95.7% dan specificity sebesar 97,65%.
Kata Kunci : Klasifikasi, K-Nearest Neighbor, Braycurtis, Canberra, Euclidean, 10-Fold Cross Validation, Confusion Matrix.
PERFORMANCE ANALYSIS OF BRAY CURTIS DISTANCE, CANBERRA DISTANCE AND EUCLIDEAN DISTANCE
IN K-NEAREST NEIGHBOR
ABSTRACT
Classification is a technique used to build a classification model from a sample of training data. One of the most popular classification techniques is K Nearest Neighbor (KNN). The KNN algorithm has important parameters that affect the performance of the KNN algorithm.
The parameter is the value of k and distance matrix. The distance between two points is determined by the calculation of the distance matrix before classification process by the KNN.
The purpose of this study was to analyze and compare the performance of the KNN using the distance function. The distance function are Braycurtis Distance, Canberra Distance and Euclidean Distance based on an accuracy perspective. This study uses the Iris dataset from the UCI Machine Learning Repository. The evaluation method used is 10-Fold Cross Validation and evaluation results in the form of Confusion Matrix for evaluation of accuracy, sensitivity, and specificity. The results showed that the Braycurtis distance method had better performance than Canberra distance and Euclidean distance methods at K = 6, K = 7, K = 8 and K = 10 with accuracy values of 96%, sensitivity of 96.8% and specificity of 98.2%.
Euclidean has the best performance at K = 5 and K = 6 with accuracy value of 95.33%, Sensitivity of 96.04% and specificity of 97.82%. And the best performance Canberra distance method on K = 3 is accuracy of 94.70%, sensitivity of 95.7% and specificity of 97.65%.
Keyword : Classification, K-Nearest Neighbor, Braycurtis Distance, Canberra Distance, Euclidean Distance, K-Fold Cross Validation, Confusion Matrix.
xi
DAFTAR ISI
Halaman
HALAMAN JUDUL TESIS i
LEMBAR PERSETUJUAN ii
LEMBAR PERNYATAAN ORISINILITAS iii
LEMBAR PERSETUJUAN PUBLIKASI iv
LEMBAR PANITIA PENGUJI TESIS v
RIWAYAT HIDUP vi
UCAPAN TERIMA KASIH vii
ABSTRAK ix
ABSTRACT x
DAFTAR ISI xi
DAFTAR TABEL xiii
DAFTAR GAMBAR xiv
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 BatasanMasalah 3
1.4 TujuanPenelitian 3
1.5 Manfaat Penelitian 3
BAB 2 LANDASAN TEORI
2.2 K-Nearest Neighbor 7
2.3 Perhitungan Jarak (Measures Distance) 8
2.3.1 Euclidean Distance 8
2.3.2 Braycurtis Distance 9
2.3.3 Canberra Distance 10
2.4 K-Fold Cross Validation 11
2.5 Confusion Matrix 12
2.5.1 Accuracy 12
2.5.2 Sensitivity 12
2.5.3 Specificity 13
2.6 PenelitianTerkait 13
2.6.1 Penelitian Terdahulu 13
2.6.2 Perbedaan Penelitian dengan Penelitian Terdahulu 14 BAB 3 METODOLOGI PENELITIAN
3.1 TahapanPenelitian 15
3.2 Data yang digunakan 16
3.3 Pembagian Data dengan K-Fold Cross Validation 17
3.4 Implementasi KNN dan Matriks Jarak 18
3.4.1 Arsitektur KNN dan Braycurtis Distance 20
3.4.2 Arsitektur KNN dan Canberra Distance 22
3.4.3 Arsitektur KNN dan Euclidean Distance 25
3.5 Evaluasi kinerja KNN dengan Confusion Matrix 28 BAB 4 HASIL DAN PEMBAHASAN
xiii
4.2 Analisis KNN dengan Braycurtis Distance 32
4.3 Analisis KNN dengan Canberra Distance 35
4.4 Analisis KNN dengan Euclidean Distance 37
4.5 Analisis Perbandingan Matriks Jarak 40
4.5.1 Penilaian Confusion Matrix 40
4.5.2 Penilaian Sensitivity 42
4.5.3 Penilaian Specificity 44
4.5.4 Penilaian Accuracy 46
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 49
5.2 Saran 49
DAFTAR PUSTAKA 50
LAMPIRAN 52
DAFTAR TABEL
Halaman
Tabel 3.1 Informasi atribut dataset Iris 16
Tabel 3.2 Dataset Iris 16
Tabel 3.3 Pembagian Data Iris dengan 10-Fold Cross Validation 18
Tabel 3.4 Rincian Data Latih 19
Tabel 3.5 Rincian Data Uji 19
Tabel 3.6 Rincian Data Latih dan Data Uji 20
Tabel 3.7 Perhitungan jarak Braycurtis Distance 21
Tabel 3.8 Pengurutan Jarak Braycurtis Distance 22
Tabel 3.9 Perhitungan jarak Canberra Distance 24
Tabel 3.10 Pengurutan Jarak Canberra Distance 24
Tabel 3.11 Perhitungan Jarak Euclidean Distance 27
Tabel 3.12 Pengurutan Jarak Euclidean Distance 27
Tabel 3.13 Tabel Confusion Matrix Data Iris 30
Tabel 3.14 Table of Confusion Sentosa 31
Tabel 3.15 Table of Confusion Versicolor 31
Tabel 3.16 Table of Confusion Virginia 32
Tabel 4.1 Accuracy KNN dengan metode Braycurtis 34
Tabel 4.2 Nilai Sensitivity KNN dengan metode Braycurtis 34 Tabel 4.3 Nilai Specificity KNN dengan metode Braycurtis 35
Tabel 4.4 Accuracy KNN dengan Canberra Distance 36
Tabel 4.5 Nilai Sensitivity KNN dengan Canberra Distance 36
xv
Tabel 4.6 Nilai Specificity KNN dengan Canberra Distance 37
Tabel 4.7 Accuracy KNN dengan Euclidean Distance 38
Tabel 4.8 Nilai Sensitivity KNN dengan Euclidean Distance 38 Tabel 4.9 Nilai Specificity KNN dengan Euclidean Distance 39 Tabel 4.10 Perbandingan Accuracy, Sensitivity, Spesificity 40
Tabel 4.11 Confusion Matriks Braycurtis 41
Tabel 4.12 Confusion Matriks Canberra 41
Tabel 4.13 Confusion Matriks Euclidean 42
Tabel 4.14 Perbandingan Sensitivity KNN dan Matriks Jarak 43 Tabel 4.15 Perbandingan Specificity KNN dan Matriks Jarak 44 Tabel 4.16 Perbandingan Accuracy KNN dan Matriks Jarak 46
DAFTAR GAMBAR
Halaman
Gambar 2.1 Ilustrasi KNN dengan nilai K=1 dan K=3 7
Gambar 2.2 Pola Euclidean Distance 9
Gambar 2.3 Pola Braycurtis Distance 10
Gambar 2.4 Pola Canberra Distance 11
Gambar 2.5 Confusion Matrix 12
Gambar 3.1 Tahapan Penelitian 15
Gambar 3.2 10-Fold Cross Validation Dataset Iris 17
Gambar 3.3 Diagram Alir KNN dan Braycurtis 20
Gambar 3.4 Diagram Alir KNN dan Canberra 23
Gambar 3.5 Diagram Alir KNN dan Euclidean 25
Gambar 3.6 Diagram Alir Perhitungan Akurasi KNN 29
Gambar 4.1 Grafik Sensitivity matriks Jarak 42
Gambar 4.2 Grafik Specificity matriks Jarak 44
Gambar 4.3 Grafik Accuracy matriks jarak 46
BAB 1 PENDAHULUAN
1.1.Latar Belakang
Klasifikasi adalah suatu teknik yang digunakan untuk membangun model klasifikasi dari sampel data pelatihan. Klasifikasi akan menganalisis data input dan membangun model yang akan menggambarkan kelas dari suatu data. Label kelas dari sampel data yang tidak diketahui dapat diprediksi menggunakan teknik klasifikasi (Mulak &
Talhar, 2015). Salah satu teknik klasifikasi yang paling populer adalah K Nearest Neighbor (KNN).
KNN termasuk sebagai salah satu dari sepuluh algoritma klasifikasi paling populer. KNN dikenal sebagai algoritma yang sangat simpel dan mudah. Banyak peneliti menjadikan algoritma KNN sebagai pilihan algoritma penelitian mereka. Hal ini dikarenakan KNN bagus dalam menangani noise, sederhana, mudah, dan tidak rumit dalam pengimplementasiannya. Algoritma KNN bertujuan untuk mengklasifikasikan objek baru berdasarkan nilai atribut dan data pelatihan (Okfalisa et al, 2017). Algoritma KNN memiliki parameter penting yang mempengaruhi kinerja algoritma KNN. Parameter tersebut adalah nilai k dan matriks jarak. Parameter nilai k digunakan untuk menentukan jumlah tetangga yang akan digunakan untuk dibandingkan dengan nilai prediksi keluaran.
Beberapa penelitian mencoba mengembangkan algoritma KNN berdasarkan parameter nilai k untuk meningkatkan kinerja algoritma KNN . Saputra (2018) melakukan penelitian dalam menentukan nilai k dalam klasifikasi K-Nearest Neighbor menggunakan metode Gini Index dan Local Mean Based. Penelitian ini menghasilkan kesimpulan bahwa metode Gini Index dan Local Mean Based dapat maksimal dalam menentukan nilai k. Okfalisa et al (2017) juga melakukan perbandingan analisis K- Nearest Neighbor (KNN) dan Modified K-Nearest Neighbor (MKNN) pada klasifikasi
data. Penelitian ini menghasilkan nilai akurasi tertinggi KNN sebesar 93.94% dan akurasi MKNN sebesar 99.51%. Hal ini menunjukkan bahwa MKNN memiliki akurasi yang lebih baik dibandingkan dengan algoritma KNN. Selain nilai K, matriks jarak termasuk faktor penting yang bergantung pada kumpulan data algoritma KNN.
Nilai matriks jarak yang dihasilkan akan mempengaruhi kinerja algoritma. Jarak antara dua titik data ditentukan oleh perhitungan matriks jarak dimana Euclidean Distance adalah fungsi matriks jarak yang paling banyak digunakan. Terdapat beberapa jenis fungsi matriks jarak selain Euclidean Distance yaitu Manhattan Distance, Miskowski Distance, Canberra Distance, Braycurtis Distance, Chi-Square dan lainnya.
Beberapa penelitian terkait dengan fungsi matriks jarak juga telah dilakukan dengan membandingkan jarak Euclidean distance dengan Manhattan distance, Canberra distance dan Hybrid distance pada algoritma LVQ. Penelitian ini menghasilkan bahwa Hybrid LVQ memiliki kemampuan terbaik pada pengenalan data, diikuti dengan Canberra, Manhattan dan Euclidean distance (Vashista & Nagar, 2017). Alamri et al (2016) melakukan penelitian klasifikasi citra satelit menggunakan matriks jarak dengan membandingkan Bray Curtis Distance, Manhattan distance, dan Euclidean distance. Dengan menghasilkan akurasi klasifikasi terbaik oleh Bray Curtis Distance sebesar 85 % dan diikuti oleh Manhattan distance(City Block Distance) dan Euclidean distance sebesar 71%.
Mulak & Talhar (2013) juga melakukan penelitian analisis perhitungan jarak menggunakan KNN pada dataset KDD. Penelitian ini membandingkan Euclidean Distance, Chebychev Distance, dan Manhattan Distance menggunakan algoritma KNN. Dari hasil penelitian ini disimpulkan bahwa Manhattan Distance memberikan performa yang lebih baik dibandingkan fungsi matriks jarak yang lainnya.
Berdasarkan latar belakang tersebut diatas, penulis mencoba untuk menganalisis dan membandingkan akurasi kinerja K-Nearest Neighbor (KNN) menggunakan fungsi jarak Canberra Distance dan Braycurtis Distance pada proses klasifikasi berdasarkan sudut pandang akurasi. Adapun data yang akan digunakan pada penelitian ini adalah dataset Iris. Adapun sumber dataset didapat dari UC Irvine Machine Learning Repository (UCI Machine Learning Repository). Atas dasar ini, penulis mengambil
3
judul : ANALISIS KINERJA MODEL JARAK BRAYCURTIS DAN CANBERRA PADA K-NEAREST NEIGHBOR (k-NN).
1.2.Rumusan Masalah
Algoritma KNN memiliki dua parameter penting pada kinerjanya. Salah satu parameter tersebut adalah matriks jarak. Matriks jarak menjadi faktor penting yang bergantung pada kumpulan data yang dapat mempengaruhi kinerja algoritma.
Sehingga diperlukan pengukuran dan perbandingan kinerja matriks jarak pada proses klasifikasi dari sudut pandang akurasi berdasarkan confusion matrix menggunakan metode evaluasi 10-fold cross validation.
1.3.Batasan Masalah
Agar penelitian ini tidak terlalu luas cakupannya dan tetap pada fokus utamanya maka peneliti menerapkan beberapa batasan masalah. Batasan masalah tersebut antara lain yaitu:
1. Data yang akan digunakan adalah dataset Iris yang diperoleh dari UC Irvine Machine learning Repository (UCI Machine Learning Repository)
2. Matriks jarak yang akan dianalisis antara lain Euclidean distance, Braycurtis distance dan Canberra distance.
3. Metode evaluasi yang digunakan adalah 10-fold cross validation.
4. Hasil pengujian akurasi berupa confusion matrix untuk penilaian sensitivity, specificity, dan accuracy.
1.4. Tujuan Penelitian
Adapun tujuan penelitian ini adalah untuk melakukan pengukuran akurasi dan menganalisis perbandingan tingkat akurasi algoritma klasifikasi k-NN pada matriks jarak Euclidean, Braycurtis, dan Canberra Distance berdasarkan confusion matrix menggunakan metode evaluasi 10-fold cross validation.
1.5. Manfaat Penelitian
Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut:
1. Dapat mengetahui lebih dalam tentang proses klasifikasi pada k-NN.
2. Dapat mengetahui penilaian akurasi algoritma k-NN berdasarkan confusion matrix.
3. Dapat mengetahui hasil analisis perhitungan jarak Euclidean Distance, Braycurtis, dan Canberra Distance.
4. Dapat digunakan sebagai landasan penelitian-penelitian selanjutnya yang berkaitan dengaan k-NN dan metode perhitungan matriks jarak.
BAB 2
LANDASAN TEORI
2.1. Klasifikasi
Klasifikasi adalah sebuah teknik yang digunakan untuk membangun sebuah model klasifikasi dari sampel data latih. Suatu label kelas dari data yang tidak diketahui dapat diprediksi menggunakan model klasifikasi (Mulak & Talhar, 2015).
Klasifikasi merupakan salah satu teknik machine learning yang bersifat supervised learning (pembelajaran terbimbing). Klasifikasi merupakan salah satu tugas pembelajaran yang paling umum terjadi dalam praktek komputasi. Secara umum, label kelas tidak dapat ditetapkan secara numerik ataupun secara beberapa nilai lainnya (Novakovic, 2017)
Klasifikasi objek didasarkan pada proses menemukan kesamaan dengan objek yang telah ditentukan dimana objek tersebut merupakan anggota dari kelas yang berbeda.
Kesamaan dari dua objek ditentukan dengan menganalisis karakteristiknya. Dalam proses klasifikasi, setiap objek diklasifikasikan ke dalam salah satu kelas dengan akurasi tertentu. Dengan karakteristik objek yang klasifikasinya telah diketahui sebelumnya akan membuat model yang akan digunakan untuk klasifikasi objek baru (Novakovic, 2017).
Tujuan dari klasifikasi adalah untuk melakukan prediksi terhadap sebuah kategori dari data input. Tersedia beragam algoritma untuk klasifikasi. Masing-masing memiliki kelemahan dan kelebihan sendiri. Tidak ada algoritma pembelajaran yang bekerja paling baik dengan semua masalah pembelajaran yang diawasi.
Terdapat dua metode pembelajaran yang tersedia pada model klasifikasi yaitu :
a. Eager learning adalah proses pembelajaran pada data latih secara intensif sehingga model dapat melakukan prediksi ke label kelas output dengan benar.
Beberapa metode bersifat eager learning antara lain : Neural Network, Bayesian, decision tree, Support Vector Machine.
b. Lazy learning adalah proses pembelajaran tanpa melakukan pelatihan dan hanya menyimpan nilai data latih untuk digunakan pada proses prediksi. Beberapa metode bersifat lazy learning antara lain: K-Nearest Neighbor, Regresi Linear, Fuzzy K-Nearest Neighbor.
Proses klasifikasi pada machine learning memiliki empat komponen (Saputra, 2018) yaitu :
1. Class
Variabel dependen tetamu harus dalam bentuk yang mewakili label yang dimiliki oleh objek.
2. Energi
Variabel independen yang diwakili oleh atribut karakteristik data. Misalnya : gaji, kehadiran, merokok, tekanan darah.
3. Dataset Pelatihan
Satu set data yang memiliki kedua nilai komponen diatas yang digunakan untuk menentukan kelas yang sesuai berdasarkan energi.
4. Menguji dataset
Satu set data baru yang akan diklasifikasi dengan model yang telah dibuat dan akan dievaluasi pada proses akurasi klasifikasi.
Pada proses klasifikasi, sebelum melakukan prediksi, perlu dilakukan proses pembelajaran terlebih dahulu. Proses pembelajaran tersebut memerlukan data. Data yang diperlukan pada saat proses klasifikasi terdiri atas dua jenis, yaitu :
a. Data latih atau data training adalah data yang digunakan pada proses pembelajar dalam proses klasifikasi.
b. Data uji atau data testing adalah data yang digunakan pada proses prediksi dalam proses klasifikasi.
7
2.2. K Nearest Neighbor
Salah satu teknik klasifikasi yang paling populer adalah K-Nearest Neighbor . K-Nearest Neighbor termasuk dalam sepuluh algoritma yang paling populer. K-Nearest Neighbor juga dikenal sebagai algoritma yang digunakan untuk mengklasifikasikan data secara mudah dan simpel. Tujuan algoritma ini adalah untuk mengklasifikasikan objek baru berdasarkan nilai atribut dan data latih (Okfalisa et al, 2017).
Cover and Hart mengenalkan K-Nearest Neighbor pada tahun 1968. K-Nearest Neighbor adalah metode klasifikasi bersifat lazy learner dikarenakan algoritma ini menyimpan semua nilai data latih dan menunda proses pembentukan model klasifikasi sampai data uji diberikan untuk dilakukan prediksi (Mulak & Talhar, 2015). Selama proses klasifikasi terhadap data uji, algoritma KNN akan langsung mencari melalui semua contoh pelatihan dengan menghitung jarak antara data uji dengan semua data latih untuk mengidentifikasi tetangga terdekat dan menghasilkan nilai output klasifikasi. Secara khusus, jarak antara dua titik data ditentukan oleh perhitungan matriks jarak, dimana matriks jarak yang paling banyak digunakan pada algoritma K-Nearest Neighbor adalah Euclidean Distance. Kemudian, KNN akan memberikan titik ke kelas diantara nilai k tetangga terdekatnya (dimana nilai k adalah bilangan bulat) ( Hu et al , 2016). Ilustrasi KNN dapat dilihat pada gambar 2.1
Gambar 2.1 Ilustrasi KNN dengan nilai K=1 dan K=3
Pada gambar 2.1 dapat dilihat bahwa terlebih dahulu dilakukan perhitungan jarak data uji dengan data latih untuk selanjutnya dilakukan diidentifikasi tetangga terdekat.
Selanjutnya KNN akan memberikan titik ke kelas yang memiliki jarak terdekat dengan tetangganya. Pada gambar diatas data uji memiliki matrik jarak terdekat dengan kelas 1 sehingga data uji akan diklasifikasikan sebagai data kelas 1. Adapun langkah-langkah klasifikasi algoritma KNN adalah sebagai berikut:
1. Tentukan parameter nilai k= banyaknya jumlah tetangga terdekat 2. Hitung jarak antara data baru dengan semua data training
3. Urutkan jarak dan tetapkan tetangga terdekat berdasarkan jarak minimum ke-k 4. Periksa kelas dari tetangga terdekat
5. Gunakan mayoritas sederhana dari kelas tetangga terdekat sebagai nilai prediksi data baru
2.3. Perhitungan Jarak (Measures Distance)
Perhitungan jarak banyak digunakan dalam menentukan tingkat kemiripan atau tidaknya dua buah vektor. Sehingga metode ini banyak digunakan untuk melakukan pengenalan pola (Wurdianarto et al, 2014). Beberapa metode jarak yang ada antara lain : Euclidean Distance, Chebyshev, Angular Separation, Canberra Distance, Haming Distance, Sorrensen Distance dan lain sebagainya. Pada algoritma K-Nearest Neighbor, proses klasifikasi menggunakan metode jarak Euclidean Distance.
Perbedaan perhitungan jarak terdekat/ jarak kemiripan sangat tepat digunakan untuk menganalisis kelas perbedaan. Perhitungan jarak terdekat/jarak kemiripan menggunakan beberapa nilai matriks biasanya digunakan untuk mengekstrak kemiripan objek data dan dibantu dengan proses klasifikasi menggunakan algoritma yang efiesien.
Untuk dataset klasifikasi, beberapa metode perhitungan jarak terdekat/jarak kemiripan adalah Euclidean distance, Canberra distance, Braycurtis distance.
9
2.3.1 Euclidean Distance
Jarak Metode perhitungan jarak terdekat / jarak kemiripan Euclidean Distance adalah metode perhitungan jarak yang paling sering digunakan untuk menghitung kesamaan dua buah vektor.
Jarak Euclidean Distance adalah jarak antar titik dalam garis lurus. Metode jarak ini menggunakan teorema Pythagoras. Dan merupakan perhitungan jarak yang paling sering digunakan dalam proses machine learning (Viriyavisuthisakul et al, 2015).Rumus Euclidean distance adalah hasil dari akar kuadrat perbedaan dua buah vektor.
√∑(
)
Keterangan :
dij = jarak perhitungan kemiripan n = jumlah vektor
xik = vektor citra input
xjk = vektor citra pembanding
Dari persamaan 2.1, pola dari Euclidean Distance adalah lingkaran yang ditunjukkan pada gambar 2.2
Gambar 2.2 Pola Euclidean Distance
(2.1)
2.3.2 Bray Curtis Distance
Bray Curtis Distance disebut juga dengan Sorrensen Distance. Ketika perbedaan dijumlahkan antara variabel yang dinormalkan dengan variabel penjumlahan dari objek, sorrensen distance akan menjadi city block distance yang termodifikasi (Moqhtadaiee &
Dempster, 2015).
Sorrensen Distance adalah metode normalisasi jarak yang memandang ruang sebagai grid. Sorrensen Distance memiliki kemiripan dengan city block distance.
Sorrensen Distance memiliki kemampuan yang bagus jika semua nilai koordinatnya positif. Rentang nilainya antara nol dan satu. Normalisasi dilakukan menggunakan perbedaan mutlak dibagi dengan penjumlahan (Kaur, 2014).
∑ |
| (
)
Keterangan :
dij = jarak perhitungan kemiripan n = jumlah vektor
xik = vektor citra input
xjk = vektor citra pembanding
Dari persamaan 2.2, bentuk pola dari jarak Bray-Curtis adalah segiempat yang ditunjukkan oleh gambar 2.3
Gambar 2.3 Pola Jarak Bray-Curtis
(2.2)
11
2.3.3 Canberra Distance
Canberra Distance diperkenalkan dan dikembangkan pertama sekali oleh G.N Lance dan W.T William pada tahun 1966 dan 1967. Matriks jarak Canberra Distance digunakan ketika diperlukan untuk mendapatkan jarak dari pasangan titik dimana data tersebut berupa data asli dan berada dalam ruang vektor. Canberra Distance memberikan dua nilai output yaitu TRUE dan FALSE (Vashista & Nagar, 2017)
∑ |
|
|
| |
|
Keterangan :
dij = jarak perhitungan kemiripan n = jumlah vektor
xik = vektor citra input xjk = vektor citra pembanding
Dari persamaan 2.3, bentuk pola dari canberra distance adalah hampir mendekati segiempat dan ditujukkan pada Gambar 2.4
Gambar 2.4 Pola Canberra Distance
2.4. K-Fold Cross Validation
Sejak diperkenalkannya metode leave-one-out Cross Validation (LOOCV) oleh Stone pada tahun 1974, Cross Validation menjadi salah satu metode yang paling populer dalam mengevaluasi hasil kinerja algoritma. (Jung, 2017). Salah satu prosedur standar untuk
(2.3)
Validation. K-Fold cross validation diilustrasikan dalam membagi kumpulan data secara acak menjadi k lipatan dengan jumlah data sama pada setiap k lipatan. Setiap lipatan pada gilirannya akan digunakan untuk menguji model klasifikasi dari lipatan k lainnya (Wong
& Yank, 2017). Tujuan dilakukannya K-Fold Cross Validation adalah untuk memvalidasi algoritma klasifikasi yang digunakan lebih teruji dan kinerja yang dihasilkan bersifat valid.
Nilai K pada metode K-Fold Cross Validation adalah sebuah bilangan bulat yang digunakan untuk membagi data. Maka data yang dihasilkan akan dibagi sebanyak k bagian dan metode klasifikasi akan melakukan proses pembelajaran dan pengujian sebanyak k. Selama iterasi prosedur klasifikasi sebanyak k kali, masing-masing bagian k akan ditetapkan sebagai data validasi (Jung, 2017). Ketika jumlah atribut dalam kumpulan data sangat besar, maka K-Fold Cross Validation dapat menghasilkan akurasi yang lebih tinggi daripada metode validasi hold-out validation.
2.5. Confusion Matrix
Confusion Matrix adalah sebuah konsep dari teknik machine learning. Confusion Matrix memiliki informasi tentang data aktual dan hasil prediksi sebuah klasifikasi yang telah dilakukan oleh metode klasifikasi. Confusion Matrix mempunyai dua dimensi yaitu dimensi yang berisi data aktual suatu objek dan dimensi yang berisi hasil prediksi teknik klasifikasi. Gambar 2.2 adalah contoh ilustrasi confusion matrix
Gambar 2.5 Confusion Matrix
Pada confusion matrix terdapat beberapa istilah yang digunakan pada kasus klasifikasi yaitu :
1. True Positive (TP) : data positif yang terdeteksi benar
13
2. False Positive (FP) adalah data negatif namun terdeteksi dengan benar 3. False Negative (FN) adalah data positif yang terdeteksi sebagai data negatif 4. True Negative (TN) adalah data negatif yang terdeteksi benar.
Beberapa perhitungan kinerja klasifikasi dapat dijelaskan dari confusion matrix.
Beberapa perhitungan kinerja klasifikasi tersebut adalah
2.5.1 Accuracy
Akurasi adalah presentase dari jumlah total prediksi yang benar pada proses klasifikasi (Deng et al, 2016).
2.5.2 Sensitivity
Sensitivity sering disebut juga sebagai recall. Sensitivity adalah Presentase data positif yang diprediksi sebagai nilai positif (Saraswathi & Sheela, 2016).
2.5.3 Specificity
Specivicity adalah presentasi data negatif yang diprediksi sebagai data negatif pada proses klasifikasi (Saraswathi & Sheela, 2016).
2.6. Penelitian Terkait 2.6.1 Penelitian Terdahulu
Dalam melakukan penelitian, penulis menggunakan beberapa penelitian yang relevan terkait dengan K-Nearest Neighbor dan Perhitungan matriks jarak sebagai acuan dalam melakukan penelitian. Beberapa penelitian telah dilakukan, salah satunya oleh Saputra (2018) yang melakukan penelitian dalam menentukan nilai k dalam klasifikasi K-Nearest Neighbor menggunakan metode Gini Index dan Local Mean Based. Penelitian ini
(2.4)
(2.5)
(2.6)
menghasilkan kesimpulan bahwa metode Gini Index dan Local Mean Based dapat maksimal dalam menentukan nilai k. Okfalisa et al (2017) juga melakukan perbandingan analisis K-Nearest Neighbor (KNN) dan Modified K-Nearest Neighbor (MKNN) pada klasifikasi data. Penelitian ini menghasilkan nilai akurasi tertinggi KNN sebesar 93.94 % dan akurasi tertinggi MKNN sebesar 99.51%. Hal ini menunjukkan bahwa MKNN memiliki akurasi yang lebih baik dibandingkan dengan algoritma KNN.
Beberapa penelitian terkait dengan perhitungan matriks jarak juga telah dilakukan diantaranya oleh Vashista & Nagar (2017) dengan membandingkan jarak euclidean distance, manhattan distance, canberra distance, dan Hybrid distance pada algoritma LVQ. Kesimpulan dari penelitian ini adalah Hybrid Distance memiliki kemampuan terbaik pada pengenalan data LVQ yang diikuti dengan Canberra Distance, Manhattan Distance dan Euclidean Distance. Alamri et al (2016) juga telah melakukan penelitian klasifikasi citra satelit menggunakan matriks jarak dengan membandingkan Bray curtis distance, manhattan distance, euclidean distance. Penelitian ini menunjukkan bahwa bray curtis distance memiliki akurasi terbaik sebesar 85% dan diikuti oleh Manhattan Distance (City Block Distance) dan Euclidean Distance sebesar 71%.
Mulak & Talhar (2013) juga melakukan penelitian analisis perhitungan jarak menggunakan KNN pada dataset KDD. Penelitian ini membandingkan turunan jarak Minkowski Distance yaitu Euclidean Distance, Chebychev Distance, dan Manhattan Distance menggunakan algoritma KNN. Dari hasil penelitian ini disimpulkan bahwa Manhattan Distance memberikan performa yang lebih baik dari sisi akurasi, sensitivity dan spesivicity dibandingkan fungsi matriks jarak yang lainnya.
Kaur (2014) melakukan penelitian dengan melakukan studi perbandingan beberapa jenis metode perhitungan jarak untuk memprediksi kesalahan perangkat lunak menggunakan metode K-means Clustering dengan tiga metode perhitungan jarak yaitu euclidean distance, sorrensen distance dan canberra distance. Data yang digunakan adalah dataset terkumpul dari NASA MDP. Penelitian ini menghasilkan K-Mean Clustering dengan sorrensen distance lebih baik dibandingkan Euclidean Distance dan Canberra Distance.
15
2.6.2 Perbedaan penelitian dengan penelitian terdahulu
Perbedaan penelitian ini dengan penelitian terdahulu terletak pada penggunaan metode bray curtis distance dan canberra distance untuk mengukur jarak matrik pada algoritma K-Nearest Neighbor untuk mendapatkan nilai akurasi terbaik dengan menggunakan metode k-Fold Cross Validation sebagai metode evaluasi kinerja K-Nearest Neighbor dalam melakukan klasifikasi
BAB 3
METODOLOGI PENELITIAN
Bab ini menjelaskan tahapan-tahapan yang dilakukan dalam penelitian, mulai dari data set yang digunakan untuk melatih dan menguji pada algoritma KNN, pembagian data latih dan data uji menggunakan k-fold cross validation, implementasi algoritma KNN dan matriks jarak serta pengukuran evaluasi kinerja algoritma KNN dan matriks jarak dengan confusion matriks.
3.1 Tahapan Penelitian
Tahapan penelitian yang dilakukan pada penelitian ini ditunjukkan pada gambar 3.1
Gambar 3.1 Tahapan Penelitian
17
3.2 Data yang digunakan
Pada penelitian ini digunakan dataset Iris yang berasal dari UC Irvine Machine Learning Repository (UCI Machine Learning Repository). Data set ini memiliki 5 atribut yang akan digunakan pada proses klasifikasi menggunakan KNN. Empat fitur dari 5 fitur diukur dari masing-masing sampel panjang dan lebar sepal dan kelopak bunga dalam satuan sentimeter. Informasi nilai atribut data set Iris dapat dilihat pada Tabel 3.1.
Tabel 3.1 Informasi atribut data set iris No Atribut / Kriteria Nilai
1 Sepal-length 4.3 - 7.9 cm
2 Sepal-width 2.0 – 4.4 cm
3 Petal-length 1.0 – 6.9 cm
4 Petal-width 0.1 – 2.5 cm
5 Species Setosa, versicolor, virginia
Data set ini terdiri atas 150 data bunga iris dengan 3 kelas yaitu kelas yaitu setosa, versicolor dan virginia dimana setiap kelas memiliki 50 data. Data yang digunakan pada penelitian ini dapat dilihat pada tabel 3.2
Tabel 3.2 Dataset Iris
No Sepal-length Sepal-width Petal-length Petal-width Class
1 5.1 3.5 1.4 0.2 Setosa
2 4.9 3.0 1.4 0.2 Setosa
: : : : : :
51 7.0 3.2 4.7 1.4 Versicolor
52 6.4 3.2 4.5 1.5 Versicolor
: : : : : :
149 6.2 3.4 5.4 2.3 Virginica
150 5.9 3.0 5.1 1.8 Virginica
3.3 Pembagian Data dengan K-Fold Cross Validation
Pada penelitian ini, dataset diatas akan dibagi menggunakan metode evaluasi K-Fold Cross Validation. Dimana data ini akan dibagi menjadi dua jenis data, yaitu data latih yang akan digunakan untuk dibandingkan dengan jarak data uji, dan data uji yang akan digunakan untuk proses pengklasifikasian pada tahap pengujian. K-Fold Cross Validation digunakan untuk mengevaluasi kinerja algoritma KNN. Tujuan dilakukannya K-fold cross validation adalah untuk memvalidasi algoritma KNN agar lebih teruji dan kinerja yang dihasilkan bersifat valid. Nilai K pada K-Fold Validation adalah sebuah bilangan bulat yang akan digunakan untuk membagi data. Jika nilai K adalah 5, maka jumlah data akan dibagi menjadi 5 subset dan akan dilakukan proses pembelajaran dan pengujian sebanyak 5 kali.
Pada penelitian ini, peneliti menggunakan K-Fold Cross Validation dimana nilai k adalah 10. Maka dari 150 data pada dataset Iris akan dibagi menjadi 10 subset bagian data. Masing-masing subset akan memiliki 15 data. Dan akan dilakukan pembelajaran dan pengujian sebanyak 10 kali. Gambar 3.2 akan menunjukkan hasil pembagian data menggunakan 10-Fold Cross Validation.
I 15 data
II 15 data
III 15 data
IV 15 data
V 15 data
VI 15 data
VII 15 data
VIII 15 data
IX 15 data
X 15 data Gambar 3.2 10-Fold Cross Validation Dataset Iris
Pada penelitian ini, 9 subset pada kolom yang berwarna abu-abu pada dataset iris akan dijadikan sebagai data training dan 1 subset pada kolom yang berwarna putih akan dijadikan sebagai data testing pada algoritma KNN. Hal ini akan dilakukan sampai 10 kali pengujian sehingga 10 bagian subset masing-masing menjadi data training dan data testing. Selanjutnya kinerja 10 proses pembelajaran dan pengujian dari 10 subset ini akan dirata-ratakan sebagai nilai kinerja metode KNN dalam mengklasifikasikan dataset Iris.
Tabel 3.3 menunjukkan banyaknya jumlah data latih dan data uji pada setiap proses validasi.
19
Tabel 3.3 Pembagian data Iris dengan 10-Fold Cross Validation
No Kategori Species Jumlah
Data Setosa Versicolor Virginia
1 Data Latih 45 45 45 135
2 Data Uji 5 5 5 15
Total 50 50 50 150
3.4 Implementasi algoritma KNN dan Matriks Jarak
Penelitian ini menggunakan algoritma KNN sebagai metode klasifikasi pada data set iris dan menggunakan algoritma Bray Curtis distance dan Canberra distance sebagai metode untuk menghitung jarak antara data tes dan data uji pada algoritma K-Nearest Neighbor.
Dan akan dibandingkan dengan algoritma K-Nearest Neighbor menggunakan metode jarak Euclidean Distance yang merupakan metode jarak yang paling banyak digunakan pada klasifikasi algoritma K-Nearest Neighbor.
Setelah dilakukan proses pembagian data menggunakan 10-Fold Cross Validation, dimana data ini akan dibagi menjadi dua jenis data yaitu data latih dan data uji. Data yang telah dibagi akan membentuk 10 subset, dimana 9 subset akan digunakan sebagai data latih dan 1 subset digunakan sebagai data uji. Selanjutnya dilakukan proses perhitungan matriks jarak pada algoritma K-Nearest Neighbor. Dimana jumlah data yang akan digunakan pada data latih sebesar 135 data dengan jumlah data yang sama pada setiap kelas. . Kemudian diasumsikan pada data uji dengan jumlah karakteristik yang sama dengan data latih, dimana kelas pada setiap data uji akan ditentukan dalam satu kali pengujian dengan membandingkan jarak dengan data latih. Adapun jumlah data uji yang akan digunakan sebesar 15 data. Tabel 3.4 menunjukkan rincian data yang akan digunakan sebagai data latih. Dan Tabel 3.5 menunjukkan rincian data yang akan digunakan sebagai data uji.
Tabel 3.4 Rincian Data Latih Data ke Sepal
length
Sepal width
Petal length
Petal
width species
1 5.2 4.1 1.5 0.1 setosa
2 4.5 2.3 1.3 0.3 setosa
3 5.5 2.4 3.8 1.1 versicolor
4 4.9 3.1 1.5 0.2 setosa
5 5.5 2.5 4.0 1.3 versicolor
6 6.7 3.0 5.2 2.3 virginica
7 7.4 2.8 6.1 1.9 virginica
8 5.3 3.7 1.5 0.2 setosa
9 4.6 3.2 1.4 0.2 Setosa
10 5.0 3.3 1.4 0.2 setosa
... ... ... ... ... ...
135 6.4 3.4 5.6 2.4 Virginica
Tabel 3.5 Rincian Data Uji Data ke Sepal
length
Sepal width
Petal length
Petal width
1 4.8 3.4 1.9 0.2
2 5.5 4.2 1.4 0.2
3 6.5 3.0 5.8 2.2
4 6.7 2.5 5.8 1.8
5 7.7 3.0 6.1 2.3
... ... ... ... ...
15 5.9 3.0 5.1 1.8
21
Dari rincian data latih pada Tabel 3.4 dan rincian data Uji pada Tabel 3.5, dapat diasumsikan menjadi rincian data uji dan data latih pada Tabel 3.6 yang akan digunakan pada proses perhitungan jarak matriks.
Tabel 3.6 Rincian Data Latih dan Data Uji Data
ke
Sepal length
Sepal width
Petal length
Petal
width species Keterangan
1 5.2 4.1 1.5 0.1 setosa Data Latih-1
2 4.5 2.3 1.3 0.3 setosa Data Latih-2
3 5.5 2.4 3.8 1.1 versicolor Data Latih-3
4 4.9 3.1 1.5 0.2 setosa Data Latih-4
5 5.5 2.5 4.0 1.3 versicolor Data Latih-5
6 6.7 3.0 5.2 2.3 virginica Data Latih-6
7 7.4 2.8 6.1 1.9 virginica Data Latih-7
8 4.8 3.4 1.9 0.2 Setosa Data Uji -1
3.4.1 Arsitektur algoritma KNN dan Bray Curtis
Adapun langkah-langkah implementasi algoritma KNN menggunakan metode jarak Bray Curtis distance digambarkan dalam bentuk diagram alir pada Gambar 3.3
Gambar 3.3 Diagram alir algoritma KNN dan matriks jarak Bray Curtis Distance Berikut asumsi perhitungan algoritma KNN menggunakan matriks jarak Bray Curtis distance. Dimana data yang akan diuji akan dibandingkan dan dihitung jarak matriks dengan data latih pada Tabel 3.6.
Proses perhitungan KNN menggunakan matriks jarak Bray Curtis adalah : 1. Parameter K = 3
2. Perhitungan jarak data testing dan jarak data latih menggunakan jarak Bray Curtis Pada penelitian ini akan dilakukan proses perhitungan data latih-1 sebagai data latih dan data uji-1 sebagai data testing
Data Latih-1 : (5.2, 4.1, 1.5, 0.1) Data uji-1 : (4.8, 3.4, 1.9, 0.2) Jarak yang digunakan : Bray Curtis
∑ | | ( )
Jarak data adalah :
23
| | | | | | | |
( ) ( ) ( ) ( ) Perhitungan yang sama juga dilakukan pada data latih lainnya dengan membandingkan dengan data testing sehingga didapatkan perhitungan jarak antar data uji dengan semua data latih. Hasil perhitungan jarak dapat dilihat pada Tabel 3.7.
Tabel 3.7 Perhitungan jarak Bray Curtis Distance Data
ke
Sepal length
Sepal width
Petal length
Petal
width species Jarak dengan data Uji
1 5.2 4.1 1.5 0.1 setosa 0.07547
2 4.5 2.3 1.3 0.3 setosa 0.1123
3 5.5 2.4 3.8 1.1 versicolor 0.1948
4 4.9 3.1 1.5 0.2 setosa 0.04
5 5.5 2.5 4.0 1.3 versicolor 0.2034
6 6.7 3.0 5.2 2.3 virginica 0.28
7 7.4 2.8 6.1 1.9 virginica 0.3193
3. Urutkan jarak data terkecil
Setelah dilakukan perhitungan jarak terkecil pada setiap data latih terhadap data testing, maka dilakukan pengurutan dari jarak terkecil. Hasil pengurutan jarak terkecil data dilihat pada tabel 3.8
Tabel 3.8 Pengurutan Jarak Bray-Curtis Distance Data
ke
Sepal length
Sepal width
Petal length
Petal
width species Jarak dengan data tes
4 4.9 3.1 1.5 0.2 setosa 0.04
1 5.2 4.1 1.5 0.1 setosa 0.07547
2 4.5 2.3 1.3 0.3 setosa 0.1123
3 5.5 2.4 3.8 1.1 versicolor 0.1948
5 5.5 2.5 4 1.3 versicolor 0.2034
0.28
7 7.4 2.8 6.1 1.9 virginica 0.3193 4. Tentukan kelompok data dengan kelas mayoritas
Pada awal perhitungan telah ditetapkan nilai k pada K-Nearest Neighbor adalah 3, maka data yang akan diambil sebagai kelas adalah tiga data yang memiliki nilai paling kecil yaitu data ke-4, data ke-1, dan data ke-2. Dimana dari ketiga
tetangganya memiliki klasifikasi terbanyak adalah setosa, maka data uji-1 sebagai data uji akan diklasifikasikan sebagai spesies setosa.
3.4.2. Arsitektur algoritma KNN dan Canberra
Adapun langkah-langkah implementasi algoritma KNN menggunakan metode jarak Canberra distance digambarkan dalam bentuk diagram alir pada Gambar 3.3
Gambar 3.4 Diagram alir algoritma KNN dan matriks jarak Canberra Distance
Proses perhitungan jarak pada algoritma KNN dan matriks jarak Canberra distance dilakukan sama seperti proses perhitungan jarak menggunakan jarak Bray Curtis distance. Data latih dan data uji yang akan dilakukan perhitungan juga sama seperti yang ditampilkan pada Tabel 3.6 sebagai contoh data latih dan data uji.
25
Proses perhitungan KNN menggunakan matriks jarak Canberra Distance adalah : 1. Parameter K = 3
2. Perhitungan jarak data testing dan jarak data latih menggunakan jarak Canberra Distance.
Pada penelitian ini akan dilakukan proses perhitungan data latih-1 sebagai data latih dan data uji-1 sebagai data testing
Data Latih-1 : (5.2, 4.1, 1.5, 0.1) Data uji-1 : (4.8, 3.4, 1.9, 0.2)
Jarak yang digunakan : Canberra Distance
∑ | |
| | | |
Jarak data adalah :
| | | | | | | |
| | | | | | | | | | | | | | | |
Perhitungan yang sama juga dilakukan pada data latih lainnya dengan membandingkan dengan data testing. Hasil perhitungan jarak dapat dilihat pada Tabel 3.9.
Tabel 3.9 Perhitungan jarak Canberra Distance Data
ke
Sepal length
Sepal width
Petal length
Petal
width species Jarak dengan data Uji
1 5.2 4.1 1.5 0.1 setosa 0.5843
2 4.5 2.3 1.3 0.3 setosa 0.6127
3 5.5 2.4 3.8 1.1 versicolor 1.266
4 4.9 3.1 1.5 0.2 setosa 0.1741
5 5.5 2.5 4.0 1.3 versicolor 1.31
6 6.7 3.0 5.2 2.3 virginica 1.533
7 7.4 2.8 6.1 1.9 virginica 1.644
3. Urutkan jarak data terkecil
Setelah dilakukan perhitungan jarak terkecil pada setiap data latih terhadap data testing, maka dilakukan pengurutan dari jarak terkecil. Hasil pengurutan jarak terkecil data dilihat pada tabel 3.10
Tabel 3.10 Pengurutan jarak Canberra Distance Data
ke
Sepal length
Sepal width
Petal length
Petal
width species Jarak dengan data tes
4 4.9 3.1 1.5 0.2 setosa 0.1741
1 5.2 4.1 1.5 0.1 setosa 0.5843
2 4.5 2.3 1.3 0.3 setosa 0.6127
Data ke
Sepal length
Sepal width
Petal length
Petal
width species Jarak dengan data tes
3 5.5 2.4 3.8 1.1 versicolor 1.266
5 5.5 2.5 4 1.3 versicolor 1.31
6 6.7 3 5.2 2.3 virginica 1.533
7 7.4 2.8 6.1 1.9 virginica 1.644
4. Tentukan kelompok data dengan kelas mayoritas
Pada awal perhitungan telah ditetapkan nilai k pada K-Nearest Neighbor adalah 3, maka data yang akan diambil sebagai kelas adalah tiga data yang memiliki nilai paling kecil yaitu data ke-4, data ke-1, dan data ke-2. Dimana dari ketiga
tetangganya memiliki klasifikasi terbanyak adalah setosa, maka data uji-1 sebagai data uji akan diklasifikasikan sebagai spesies setosa.
3.4.3. Arsitektur algoritma KNN dan Euclidean Distance
Adapun langkah-langkah implementasi algoritma KNN menggunakan metode jarak Euclidean distance digambarkan dalam bentuk diagram alir pada Gambar 3.5
27
Gambar 3.5 Diagram alir algoritma KNN dan matriks jarak Euclidean Distance Proses perhitungan jarak pada algoritma KNN dan matriks jarak Euclidean distance dilakukan sama seperti proses perhitungan jarak menggunakan jarak Bray Curtis distance dan Canberra Distance. Data latih dan data uji yang akan dilakukan perhitungan juga sama seperti yang ditampilkan pada Tabel 3.6 sebagai contoh data latih dan data uji.
Proses perhitungan KNN menggunakan matriks jarak Euclidean Distance adalah : 1. Parameter K = 3
2. Perhitungan jarak data testing dan jarak data latih menggunakan jarak Canberra Distance.
Pada penelitian ini akan dilakukan proses perhitungan data latih-1 sebagai data latih dan data uji-1 sebagai data testing
Data Latih-1 : (5.2, 4.1, 1.5, 0.1) Data uji-1 : (4.8, 3.4, 1.9, 0.2)
Jarak yang digunakan : Euclidean Distance
√∑(
)
Jarak data adalah :
√( ) ( ) ( ) ( )
Perhitungan yang sama juga dilakukan pada data latih lainnya dengan membandingkan dengan data testing. Hasil perhitungan jarak dapat dilihat pada Tabel 3.11.
Tabel 3.11 Perhitungan jarak Euclidean Distance Data
ke
Sepal length
Sepal width
Petal length
Petal
width species Jarak dengan data Uji
1 5.2 4.1 1.5 0.1 setosa 0.9055
2 4.5 2.3 1.3 0.3 setosa 1.292
3 5.5 2.4 3.8 1.1 versicolor 2.431
4 4.9 3.1 1.5 0.2 setosa 0.5099
5 5.5 2.5 4.0 1.3 versicolor 2.631
6 6.7 3.0 5.2 2.3 virginica 4.367
7 7.4 2.8 6.1 1.9 virginica 5.258
3. Urutkan jarak data terkecil
Setelah dilakukan perhitungan jarak terkecil pada setiap data latih terhadap data testing, maka dilakukan pengurutan dari jarak terkecil. Hasil pengurutan jarak terkecil data dilihat pada tabel 3.12
Tabel 3.12 Pengurutan jarak Euclidean Distance
29
Data ke
Sepal length
Sepal width
Petal length
Petal
width species Jarak dengan data tes
4 4.9 3.1 1.5 0.2 setosa 0.5099
1 5.2 4.1 1.5 0.1 setosa 0.9055
2 4.5 2.3 1.3 0.3 setosa 1.292
3 5.5 2.4 3.8 1.1 versicolor 2.431
5 5.5 2.5 4 1.3 versicolor 2.631
6 6.7 3 5.2 2.3 virginica 4.367
7 7.4 2.8 6.1 1.9 virginica 5.258
4. Tentukan kelompok data dengan kelas mayoritas
Pada awal perhitungan telah ditetapkan nilai k pada K-Nearest Neighbor adalah 3, maka data yang akan diambil sebagai kelas adalah tiga data yang memiliki nilai paling kecil yaitu data ke-4, data ke-1, dan data ke-2. Dimana dari ketiga
tetangganya memiliki klasifikasi terbanyak adalah setosa, maka data uji-1 sebagai data uji akan diklasifikasikan sebagai spesies setosa.
3.5 Evaluasi kinerja KNN dengan Confusion matrix
Setelah dilakukan validasi menggunakan 10-Folds Cross Validation maka dilakukan evaluasi kinerja algoritma KNN. Confusion matrix secara umum digunakan untuk mengevaluasi kinerja suatu algoritma. Confusion matrix memiliki informasi tentang data aktual dan hasil prediksi sebuah klasifikasi kedalam bentuk matriks.
Dalam memperoleh nilai akurasi algoritma KNN, dilakukan langkah-langkah sebagai berikut :
1. Penentuan Data tes, data training dan nilai parameter k pada KNN
2. Melakukan pemodelan klasifikasi dengan algoritma KNN untuk mendapatkan model KNN
3. Melakukan proses pelatihan dan pengujian model dengan metode 10-fold cross validation.
4. Memperoleh hasil berupa confusion matrix
5. Mengubah confusion matrix ke dalam table of confusion untuk setiap kelas
6. Menghitung akurasi dalam bentuk penilaian accuracy, sensitivity, dan specivicity dengan persamaan (2.4), (2.5),(2.6) pada setiap kelas berdasarkan table of confusion
7. Menghitung weighted average dari sensitivity dan specivicity setiap kelas pada dataset Iris.
Adapun langkah-langkah pengukuran akurasi dengan algoritma KNN pada klasifikasi dataset Iris digambarkan dalam bentuk diagram alir pada Gambar 3.5 berikut ini.
31
Tabel 3.13 menunjukkan confusion matrix sebagai tahap pengujian terhadap data iris yang memiliki 150 instances dan 3 classes dengan menggunakan klasifikasi K- Nearest Neighbor dengan matriks jarak Bray Curtis Distance dengan nilai parameter k=3.
Tabel 3.13 Tabel Confusion matrix Data Iris
Aktual
Setosa Versicolor Virginia
Prediksi Setosa 50
Versicolor 45 2
Virginia 5 48
Untuk melakukan perhitungan nilai sensitivity dan specificity pada setiap kelas maka perlu dilakukan analisis jumlah true positive (TP), false positive (FP), true negative (TN) dan false negative (FN) pada setiap kelas. Selanjutnya jumlah tersebut akan dibentuk kedalam table of confusion untuk masing-masing kelas. Adapun hasil table of confusion dari dataset Iris dengan kelas Species-Setosa, Species-Versicolor, Species-Virginia adalah sebagai berikut :
Species “Setosa” :
Dalam membentuk table of confusion pada kelas setosa berdasarkan confusion matrix maka dilakukan perhitungan untuk mendapatkan nilai true positive (TP), false positive (FP), true negative (TN) dan false negative (FN) dengan ketentuan sebagai berikut :
True Positif (TP) adalah banyaknya data setosa yang terprediksi benar sebagai setosa.
False Positive (FP) adalah banyaknya data setosa yang terprediksi salah sebagai kelas setosa
True Negative (TN) adalah banyaknya data non-setosa yang terprediksi benar sebagai non-setosa.
False Negative (FN) adalah banyaknya data non-setosa yang terprediksi salah sebagai kelas non-setosa.
33
Tabel 3.14 menunjukkan hasil table of confusion pada kelas setosa berdasarkan penjelasan diatas.
Tabel 3.14 Table of confusion Setosa
50 (TP) 0 (FP)
100 (TN) 0 (FN)
Dengan menggunakan persamaan (2.4), (2.5) dan (2.6) maka dilakukan perhitungan sensitivity, specificity dan accuracy sebagai berikut :
Species “Versicolor” :
Dengan proses penentuan nilai TP, TN, FP dan FN pada kelas Versicolor sama seperti penentuan yang dilakukan dan telah dibahas pada spesies Setosa. Tabel 3.15 menunjukkan hasil table of confusion pada kelas versicolor berdasarkan penjelasan diatas.
Tabel 3.15 Table of confusion Versicolor
45 (TP) 5 (FP)
98 (TN) 2 (FN)
Dengan menggunakan persamaan (2.4), (2.5) dan (2.6) maka dilakukan perhitungan sensitivity, specificity dan accuracy sebagai berikut :
Species “Virginia” :
Dengan proses penentuan nilai TP, TN, FP dan FN pada kelas Virginia sama seperti penentuan yang dilakukan dan telah dibahas pada spesies Setosa. Tabel 3.16 menunjukkan hasil table of confusion pada kelas virginia berdasarkan penjelasan diatas.
Tabel 3.16 Table of confusion Virginia
48 (TP) 2 (FP)
95 (TN) 5 (FN)
Dengan menggunakan persamaan (2.4), (2.5) dan (2.6) maka dilakukan perhitungan sensitivity, specificity dan accuracy sebagai berikut :
Banyaknya data setosa, versicolor dan virginia adalah masing-masing 50 data, maka nilai weighted average dari kelas-kelas yang ada dapat dihitung dengan :
BAB 4
HASIL DAN PEMBAHASAN
4.1. Pendahuluan
Pada bab ini menjelaskan bagaimana hasil penelitian dan pembahasan kinerja dari metode matriks jarak Braycurtis Distance dan Canberra Distance pada algoritma k-Nearest Neighbor dalam mengklasifikasikan suatu data dan tingkat akurasi yang dihasilkan.
Metode matriks jarak Braycurtis Distance dan Canberra Distance diharapkan mendapatkan tingkat akurasi yang lebih baik pada proses klasifikasi jika dibandingkan dengan k-Nearest Neighbor menggunakan matriks jarak Euclidean Distance.
Penelitian dilakukan dengan menggunakan dataset Iris yang diperoleh dari UCI Machine Learning Repository. Data set Iris memiliki 150 instances, 5 atribut dan 3 kelas.
Dimana setiap kelas memiliki kelas Setosa (50 instances), Versicolor (50 instances) dan Virginica (50 Instances). Kemudian data set tersebut akan dibagi menjadi 10 subset menggunakan 10-fold cross validation dimana 10 subset tersebut akan digunakan sebagai data latih dan data uji. Hasil validasi dan pengujian 10 subset ini akan diukur dengan menggunakan Confusion Matrix untuk penilaian Accuracy, Sensitivity, dan Specificity.
Proses penelitian ini akan di implementasikan menggunakan aplikasi R 3.5.2 dan Rstudio 1.0.143 pada sistem operasi Windows 10.
4.2. Analisis KNN dengan Braycurtis Distance.
Pada penelitian ini, dilakukan perhitungan jarak data uji dengan data latih menggunakan metode jarak Braycurtis Distance. Adapun skala nilai k yang diberikan pada algoritma K- Nearest Neighbor adalah k=2 sampai dengan k=10. Tabel 4.1 menunjukkan hasil perhitungan akurasi algoritma KNN dengan metode jarak Braycurtis.