Anda di halaman 1dari 12

K-Nearest Neighbor (KNN)

Oleh:
Muhamad Nur Azmi Wahyudi
K3519053

1.1 Ringkasan
Menurut Santosa (2007), data mining merupakan kegiatan
pengumpulan dan pemakaian data historis yang bertujuan untuk
menemukan keteraturan, pola, atau hubungan dalam suatu set
data yang berukuran besar. Pendapat lainnya, Suntoro (2019)
menjelaskan bahwa data mining merupakan proses untuk
mendapatkan informasi berguna yang diekstraksi dari suatu
basis data yang besar sehingga didapatkan informasi baru yang
dapat membantu dalam pengambilan keputusan.
Salah satu metode atau algoritma dalam data mining
adalah K-Nearest Neighbor (KNN). Laporan ini bertujuan
menjelaskan terkait KNN beserta review contoh penerapannya
dalam penelitian.

1.2 KNN
Menurut Liantoni (2015) algoritma KNearest Neighbor
(KNN) adalah metode untuk mengklasifikasikan objek
berdasarkan data latih yang paling dekat dengannya. Data latih
diproyeksikan ke dalam ruang multidimensi di mana setiap
dimensi mewakili karakteristik data. Algoritma KNN berisi
metode yang menggunakan algoritma yang supervised
(diawasi). Perbedaan antara supervised learning dan
unsupervised learning adalah supervised learning bertujuan
untuk menemukan pola baru dalam data dengan
mengasosiasikan pola data yang ada dengan data baru. Dalam
unsupervised learning, data belum memiliki pola. Tujuan dari
unsupervised learning adalah untuk menemukan pola dalam
data.

1.2.1 Prinsip Kerja KNN


Prinsip kerja KNN adalah mencari jarak terpendek antara
data yang dievaluasi dengan K tetangga pada data latih. Teknik
ini termasuk dalam kelompok klasifikasi nonparametrik. Kita
tidak memperhatikan distribusi data yang akan dikelompokkan.
Teknik ini sangat sederhana dan mudah diterapkan. Mirip
dengan teknik clustering, yaitu mengelompokkan data baru
berdasarkan jarak dari data baru ke data terdekat/berdekatan
(data neighbor). Dalam proses klasifikasi, algoritma ini tidak
menggunakan model apapun untuk dicocokkan dan hanya
didasarkan pada memori.
Algoritma KNN menggunakan klasifikasi ketetanggaan
sebagai prediktor data uji baru. Jarak yang digunakan adalah
jarak Euclidean. Jarak Euclidean adalah jarak yang paling umum
digunakan untuk data numerik. Nilai K optimal untuk algoritma
ini tergantung pada data. Secara umum, nilai K yang lebih tinggi
memiliki dampak noise yang lebih sedikit pada klasifikasi. Kasus
khusus dimana klasifikasi diprediksi berdasarkan data latih
terdekat disebut algoritma KNN. Urutan algoritma KNN adalah
sebagai berikut.
1. Tentukan parameter K.
2. Hitung jarak antara data yang dievaluasi dalam setiap
pelatihan.
3. Urutkan jarak yang terbentuk (dari minimum ke
maksimum).
4. Carilah jarak terpendek dari beberapa K.
5. Pasangkan kelas yang sesuai.
6. Cari jumlah kelas dari tetangga terdekat dan tetapkan
kelas tersebut sebagai kelas data yang nantinya
dievaluasi.

Umumnya digunakan rumus Euclidean untuk menentukan jarak


antara dua objek x dan y . Rumus tersebut adalah sebagai
berikut.

√∑
n
2
d xy = ( xi + y i )
i=1

Keterangan :
d xy = Jarak kedekatan
x = Data Testing
y = Data Training
n = Jumlah atribut, 1 sampai n

1.2.2 Tujuan Algoritma KNN


Tujuan dari algoritma KNN adalah untuk
mengklasifikasikan objek baru berdasarkan atribut dan training
sample. Pengklasifikasi tidak menggunakan model tertentu
untuk dicocokkan dan hanya didasarkan pada memori. Saat kita
menentukan titik kueri sebanyak K obyek atau (titik latih) yang
paling dekat dengan titik kueri akan dicari. Klasifikasi
menggunakan jumlah terbanyak dalam klasifikasi K obyek.
Algoritma KNN menggunakan klasifikasi ketetanggaan sebagai
prediktor untuk instance kueri baru. Algoritma metode KNN
sangat sederhana dan didasarkan pada jarak terpendek dari
contoh kueri ke contoh latih.
Nilai K yang optimal untuk algoritma ini tergantung pada
data. Secara umum, nilai K yang tinggi mengurangi efek noise
pada klasifikasi, tetapi membuat batas antar klasifikasi semakin
ambigu. Nilai yang sesuai untuk K dapat dipilih dengan optimasi
4

parameter, misalnya validasi silang (cross valitadion). Kasus


khusus dimana klasifikasi diprediksi berdasarkan data latih
tetangga terdekat (yaitu, K = 1) disebut algoritma tetangga
terdekat (Lestari, 2014).

1.2.2 Kelebihan dan Kekurangan Algoritma KNN


Kelebihan:
1. Tangguh terhadap data latih yang memiliki banyak
noise.
2. Efektif jika data latih besar.

Kelemahan:
1. Perlu menentukan nilai K (jumlah tetangga
terdekat).
2. Training berdasarkan jarak tidak jelas mengenai
jenis jarak apa yang harus digunakan.
3. Atribut mana yang harus digunakan untuk
mendapatkan hasil terbaik.
4. Biaya komputasi cukup tinggi karena diperlukan
perhitungan jarak dari tiap query instance pada
keseluruhan training sample.

1.3 Contoh Kasus


Contoh yang digunakan adalah penelitian “PENENTUAN
STATUS STUNTING PADA ANAKDENGAN MENGGUNAKAN
ALGORITMA KNN”yang disusun oleh Otong Saeful Bachri dan
Raden Mohamad Herdian Bhakti pada tahun 2021.
Usia balita merupakan salah satu usia penting dalam
proses tumbuh kembang seorang anak. Menurut data Dinas
Kesehatan Jawa Tengah pada Tahun 2013 terdapat sekitar 200
anak balita di Kabupaten Brebes yang mengalami stunting.
Namun saat ini prosentase stunting yang terjadi di Desa
Sirampog Kabupaten Brebes masih cenderung tinggi yaitu
sekitar 3,77% balita yang masih mengalami gizi buruk dan
stunting, serta 13,20% balita yang masih mengalami gizi kurang
dan cenderung stunting. Berdasarkan hal tersebut maka
penelitian ini bertujuan untuk melakukan klasifikasi status gizi
balita dengan menggunakan algoritma KNN dan mengetahui
keakuratan yang dihasilkan oleh algoritma K-Nearest Neighbor
(KNN) dalam melakukan klasifikasi. Melalui hasil pengujian pada
114 data ujidiketahui bahwa algoritma KNN mampu melakukan
klasifikasi penentuan status stunting pada anak berdasarkan
umur (U), berat badan( BB), tinggi badan (TB), dan lingkar kepala
(LK)dengan akurasi tertinggi dan nilai error rate terkecil terdapat
pada nilai k=3.
Dataset yang digunakan dalam penelitian ini berjumlah
171 data balita yang diambil dari salah satu posyandu yang
berada di Kecamatan Sirampog Kabupaten Brebes sejak Februari
2020 sampai dengan Februari 2021. Sedangkan atribut yang
digunakan dalam penelitian ini diambil dari pengukuran
anthropometri berupa umur (U), berat badan (BB), tinggi badan
(TB), dan lingkar kepala (LK). Dan kelas data yang digunakan
adalah status gizi berdasarkan BB/U yaitu gizi buruk, gizi kurang,
gizi baik, dan gizi lebih; TB/U yaitu sangat pendek, pendek,
normal, tinggi; serta BB/TB yaitu sangat kurus, kurus, normal, dan
gemuk.
6

Table 1. Dataset yang digunakan

Setelah didapatkan dataset, maka langkah selanjutnya


akan dilakukan cleaningdata. Hal ini bertujuan untuk meyakinkan
bahwa sudah tidak adalagi data yang tidak konsisten, outlier
bahkan data-data yang bersifat redudance karena adanya
integrasi terhadap data tersebut. Pada tahapan cleaning data,
ternyata dataset berkurang 27 sehingga jumlah dataset yang
siap untuk digunakan untuk proses selanjutnya hanyalah
berjumlah 144 data. Setelah dilakukan cleaning data maka
langkah selanjutnya akan dilakukan transformasi data yang akan
merubah data menjadi numerik, hal ini bertujuan untuk
mempermudah proses perhitungan secaraKNN. Data yang akan
ditransformasi adalah data jenis kelamin, dengan numerisasi laki-
laki adalah 1 dan perempuan adalah 2.
Table 2. Hasil transformasi pada dataset

Ketika semua data tersebut telah siap untuk digunakan


maka langkah selanjutnya adalah proses perhitungan KNN, pada
penelitian ini nilai k yang digunakan adalah 3, 5,7, dan 9 hal ini
bertujuan untuk mencari nilai akurasi tertinggi yang dihasilkan
oleh KNN dalam melakukan klasifikasi terhadap status gizi balita.
Sedangkan pembagian jumlah data trainingdan data testing
untuk setiap nilai k adalah 115 data untuk data testingdan 29
untuk data training. Setelah ditentukan nilai k, maka langkah
selanjutnya adalah mengitung jarak antara semua variable pada
data testing dengan data training.
8

Table 3. Hasil klasifikasi untuk k = 3

Dari 114 data yang diuji, diketahui hanya terdapat 106


data dengan hasil klasifikasi yang benar, dan 9 data yang salah
dalam klasifikasi. Melalui perhitungan persamaan (2) dan (3)
maka nilai akurasi yang dihasilkan adalah 83% dengan error rate
0,142.
Table 4. Hasil klasifikasi untuk k = 5

Berbeda halnya dengan hasil uji untuk k=3, untuk k=5 dari
114 data yang diujihanya terdapat 101 data dengan hasil
klasifikasi yang benar, dan 14 data yang salah dalam klasifikasi.
Melalui perhitungan persamaan (2) dan (3) juga nilai akurasi
yang dihasilkanuntuk k=5 adalah 76,2% dengan error rate 0,193.
Table 5. Hasil klasifikasi untuk k = 7

Berbeda halnya dengan hasil uji untuk k=3 dan 5, untuk


k=7 jumlah datauji yang sesuai dengan hasil prediksi hanya
menghasilkan 95 data dengan hasil klasifikasi yang benar, dan 20
data yang salah dalam klasifikasi. Sehingga diketahui akurasi
yang dihasilkan adalah 75,11% dengan error rate 0,203.
Table 6. Hasil klasifikasi untuk k = 9

Berbeda halnya dengan hasil uji sebelumnya, untuk k=9


jumlah data uji yang sesuai ternyata lebih sedikit dari pada hasil
10

klasifikasi sebelumnya yang hanya menghasilkan 86 data benar,


dan 29 data yang salah dalam klasifikasi. Sehingga secara
automatis akurasi yang dihasilkan untuk nilai k=9 juga akan lebih
kecil bila dibandingkan dengan yang lain yaitu 63,07% dengan
error rate 0,254.

Gambar 1. Hasil pengujian akurasi


Berdasarkan gambar 1 diketahui bahwa akurasi tertinggi
didapatkan dari hasil perhitungan klasifikasi nilai k=3 dengan
balita pendek = 1, sangat pendek = 50, gemuk = 2, kurus = 1,
berat badan kurang = 3, balita bawah garis merah = 49. Dan
dengan jumlah balita stunting adalah 49 balita.
Berdasarkan hasil pengujian pada 114 data uji diketahui
bahwa algoritma KNN mampu melakukan klasifikasi untuk
menentukan status stunting pada anak berdasarkan atribut
antropomethri umur (U), berat badan (BB), tinggi badan (TB), dan
lingkar kepala (LK). Untuk mendapatkan hasil akurasi tertinggi,
dilakukan pengujian terhadap nilai k yaitu 3, 5, 7, dan 9.
Berdasarkan hasil pengujian didapatkan bahwa tingkat akurasi
tertinggi dan nilai error rate terkecil yang dihasilkan terdapat
pada nilai k=3 yaitu 83% dengan error rate 0,142.
1.4 Kesimpulan
Data mining merupakan kegiatan pengumpulan dan
pemakaian data historis yang bertujuan untuk menemukan
keteraturan, pola, atau hubungan dalam suatu set data yang
berukuran besar serta mendapatkan informasi baru yang dapat
membantu dalam pengambilan keputusan.
Salah satu contoh algoritma data mining adalah K-Nearest
Neighbor, yang merupakan metode untuk mengklasifikasikan
objek berdasarkan data latih yang paling dekat dengannya. Data
latih diproyeksikan ke dalam ruang multidimensi di mana setiap
dimensi mewakili karakteristik data. Algoritma KNN berisi
metode yang menggunakan algoritma yang supervised
(diawasi). Tujuan dari algoritma KNN adalah untuk
mengklasifikasikan objek baru berdasarkan atribut dan training
sample. Pengklasifikasi tidak menggunakan model tertentu
untuk dicocokkan dan hanya didasarkan pada memori. Saat kita
menentukan titik kueri sebanyak K obyek atau (titik latih) yang
paling dekat dengan titik kueri akan dicari. Nilai K yang optimal
untuk algoritma ini tergantung pada data. Secara umum, nilai K
yang tinggi mengurangi efek noise pada klasifikasi, tetapi
membuat batas antar klasifikasi semakin ambigu. Nilai yang
sesuai untuk K dapat dipilih dengan optimasi parameter,
misalnya validasi silang (cross valitadion).

Daftar Pustaka
Bachri, O. S., & Bhakti, R. M. H. (2021). Penentuan Status Stunting
pada Anak dengan Menggunakan Algoritma KNN. Jurnal
Ilmiah Intech: Information Technology Journal of UMUS,
3(02), 130-137.
Lestari, M. E. I. (2015). Penerapan algoritma klasifikasi Nearest
Neighbor (K-NN) untuk mendeteksi penyakit jantung.
12

Faktor Exacta, 7(4), 366-371


Liantoni, F. (2015). Klasifikasi Daun Dengan Perbaikan Fitur Citra
Menggunakan Metode K-Nearest Neighbor. Ultimatics:
Jurnal Teknik Informatika, 7(2), 98-104.
Santosa, B. (2007). Data Mining Teknik Pemanfaatan Data untuk
Keperluan Bisnis. Yogyakarta: Graha Ilmu, 978(979), 756.
Suntoro, J. (2019). DATA MINING: Algoritma dan Implementasi
dengan Pemrograman php. Elex Media Komputindo.

Anda mungkin juga menyukai