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
Data Baru
X1=3 dan X2=7
Kelas (Y) ??
X1 X2 Y
7 7 Buruk
7 4 Buruk
3 4 Baik
1 4 Baik
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
Data baru (3,7)
Peringkat
Berdasarkan
jarak
minimum
Termasuk 3
tetangga
terdekat
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
Data baru (3,7)
Peringkat
Berdasarkan
jarak
minimum
Termasuk
3 tetangga
terdekat
Y
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-7)2
)=3,6
2 Ya Baik
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

knn.pptx

  • 1.
  • 2.
    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
  • 3.
    Cara Kerja AlgoritmaKNN  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.
  • 4.
     Data untukKNN 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.
  • 5.
    Algoritma KNN Here isstep 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
  • 6.
    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
  • 7.
    Contoh Diberikan data trainingberikut, 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!
  • 8.
    Contoh (2) Tabel DataTraining Data Baru X1=3 dan X2=7 Kelas (Y) ?? X1 X2 Y 7 7 Buruk 7 4 Buruk 3 4 Baik 1 4 Baik
  • 9.
    Langkah Klasifikasi 1. Tentukanparameter K = jumlah tetangga terdekat Misalkan ditetapkan K = 3
  • 10.
    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
  • 11.
    Langkah Klasifikasi (3) 3.urutkan jarak tersebut dan tetapkan tetangga terdekat berdasarkan jarak minimum ke-K X1 X2 Euclediean Distence Data baru (3,7) Peringkat Berdasarkan jarak minimum Termasuk 3 tetangga terdekat 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
  • 12.
    Langkah Klasifikasi (4) 4.periksa kelas dari tetangga terdekat X1 X2 Euclediean Distence Data baru (3,7) Peringkat Berdasarkan jarak minimum Termasuk 3 tetangga terdekat Y 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-7)2 )=3,6 2 Ya Baik
  • 13.
    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.
  • 14.
    Kelebihan Algoritma KNN Beberapakelebihan 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
  • 15.
    Kelemahan Algoritma KNN Beberapakelemahan 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.
  • 16.
    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