Anda di halaman 1dari 16

K-nearest neighbor

KNN
K-nearest neighbor (KNN)
Algoritma K-nearest neighbor (KNN) merupakan
algoritma supervised learning di mana hasil klasifikasi
data baru berdasar kepada kategori mayoritas tetangga
terdekat ke-K.
Tujuan dari algoritma ini adalah mengklasifikasikan
objek baru berdasarkan atribut dan data training.
Algoritma KNN menggunakan kalsifikasi
ketetenggaan sebagai prediksi terhadap data baru
Cara Kerja Algoritma KNN
Algoritma KNN sangat sederhana.
Algoritma ini bekerja berdasarkan jarak minimum
dari data baru terhadap K tetangga terdekat yang telah
ditetapkan.
Setelah diperoleh K tetangga terdekat, prediksi kelas
dari data baru akan ditentukan berdasarkan mayoritas
K tetangga terdekat.
Data untuk KNN terdiri dari beberapa atribut
multivariat Xi yang akan digunakan untuk
mengklasifikasikan Y.
Data untuk KNN dapat berupa data ordinal, nominal
sampai dengan skala kuantitatif namun yang akan
dibahas hanya skala kuantitatif Xi dan biner (nominal)
Y.
Algoritma KNN
Here is step by step on how to compute K-nearest
neighbors KNN algorithm:
1. Determine parameter K = number of nearest neighbors
2. Calculate the distance between the query-instance and
all the training samples
3. Sort the distance and determine nearest neighbors
based on the K-th minimum distance
4. Gather the category of the nearest neighbors
5. Use simple majority of the category of nearest
neighbors as the prediction value of the query instance
Algoritama KNN (2)
1. Tentukan parameter K = jumlah tetangga terdekat
2. Hitung jarak antara data baru dengan semua data
training
3. Urutkan jarak tersebut 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
Contoh
Diberikan data training berikut, terdiri dari 2 atribut
dengan skala kuantitatif yaitu X1 dan X2 serta 2 kelas
yaitu baik dan buruk.
Jika terdapat data baru dengan nilai X1=3 dan X2=7,
tentukan kelasnya!
Contoh (2)
Tabel Data Training
X1 X2 Y
7 7 Buruk
7 4 Buruk
3 4 Baik
1 4 Baik

Data Baru
X1=3 dan X2=7
Kelas (Y) ??
Langkah Klasifikasi
1. Tentukan parameter K = jumlah tetangga terdekat
Misalkan ditetapkan K = 3
Langkah Klasifikasi (2)
2. hitung jarak antara data baru dengan semua data
training

X1 X2 Euclediean Distence
Data baru (3,7)
7 7
7 4
3 4
1 4
Langkah Klasifikasi (3)
3. urutkan jarak tersebut dan tetapkan tetangga terdekat
berdasarkan jarak minimum ke-K

X1 X2 Euclediean Distence Peringkat Termasuk 3


Data baru (3,7) Berdasarkan tetangga terdekat
jarak minimum
7 7 Sqrt((7-3)2+(7-7)2)=4 3 Ya

7 4 Sqrt((7-3)2+(4-7)2 )=5 4 Tidak

3 4 Sqrt((3-3)2+(4-7)2 )=3 1 Ya

1 4 Sqrt((1-3)2+(4-7)2 )=3.6 2 Ya
Langkah Klasifikasi (4)
4. periksa kelas dari tetangga terdekat

X1 X2 Euclediean Distence Peringkat Termasuk 3 Y


Data baru (3,7) Berdasarkan tetangga
jarak minimum terdekat

7 7 Sqrt((7-3)2+(7-7)2 )= 4 3 Ya Buruk

7 4 Sqrt((7-3)2+(4-7)2 )= 5 4 Tidak -

3 4 Sqrt((3-3)2+(4-7)2 )= 3 1 Ya Baik

1 4 Sqrt((1-3)2+(4- 2 Ya Baik
7)2 )=3,6
Langkah Klasifikasi (5)
5. gunakan mayoritas sederhana dari kelas tetangga
terdekat sebagai nilai prediksi data baru

Hasil pada no 4 menunjukkan bahwa dari 3 tetangga


terdekat, terdapat 2 kelas Baik dan 1 kelas Buruk,
maka disimpulkan bahwa data baru termasuk ke
dalam kelas Baik.
Kelebihan Algoritma KNN
Beberapa kelebihan algoritma KNN antara lain adalah:

1. Robust terhadap data training yang memiliki noise


(terutama jika digunakan invers kuadrat jarak
terboboti sebagai “jarak”)

2. Efektif jika data training berukuran besar


Kelemahan Algoritma KNN
Beberapa kelemahan dari KNN antara lain:

1. Perlu menentukan parameter K

2. Jarak sebagai basis pembelajaran tidak jelas, tipe jarak apa yang harus

digunakan dan atribut mana saja yang harus digunakan untuk

mendapatkan hasil yang optimal. Apakah semua atribut harus digunakan

atau hanya atribut tertentu saja?

3. Computation cost sangat tinggi karena harus menghitung jarak antara

data baru dengan semua data training. Beberapa metode pengindeksan

(misal, . K-D tree) mungkin dapat mengurangi computational cost.


Daftar Pustaka
1. http://paul.luminos.nl/documents\/ndex.php
2. Teknomo, Kardi. K-Nearest Neighbors Tutorial.
http://people.revoledu.com/kardi/tutorial/KNN/
3. Aziz Kustiyo, Kuliah Metode Kuantitatif
Departemen Ilmu Komputer FMIPA IPB

Anda mungkin juga menyukai