Klasifikasi
Nearest Neighbor
Data Mining
Materi 3
K-Nearest Neighbor
Algoritma yang melakukan klasifikasi berdasarkan
kedekatan lokasi (jarak) suatu data dengan data
yang lain.
Prinsip sederhana yang diadopsi oleh algoritma
K-NN adalah: “
Jika suatu hewan berjalan seperti
bebek, bersuara kwek-kwek seperti bebek, dan
penampilannya seperti bebek, maka hewan itu
mungkin bebek
”.
Pada algoritma K-NN, data berdimensi
q
, dapat
dihitung jarak dari data tersebut ke data yang lain,
◦
Nilai jarak ini yang digunakan sebagai nilai
K-Nearest Neighbor
1 tetangga terdekat (1-NN)
2 tetangga terdekat (2-NN)
Algoritma K-NN
z = (x’,y’), adalah data uji dengan
vektor x’ dan label kelas y’ yang belum
diketahui
Hitung jarak d(x’,x), jarak diantara
Contoh
Data uji adalah data (3,4), fitur X=3, Y=4.
Akan dilakukan prediksi, masuk dalam
kelas yang manakah seharusnya ?
Gunakan jarak Euclidean !
Nomor
data
x
y
Kelas
asli
Jarak data uji
ke data latih
1-NN 3-NN 7-NN
1
1
1
1
3.6055
---
---
Nomor
Prediksi dengan K-NN
Untuk K=1
Data latih yang terdekat adalah data nomor 9 (4,4) dengan kelas 2,
maka data uji (3,4) diprediksi masuk kelas 2.
Untuk K=3
Data latih yang terdekat adalah data nomor 9 (4,4) dengan kelas 2,
data nomor 7 (2,3) dan data nomor 4 (3,2) dengan kelas 1, karena
kelas 2 berjumlah 1 dan kelas 1 berjumlah 2 (
lebih banyak kelas 1
daripada kelas 2
) maka data uji (3,4) diprediksi masuk kelas 1.
Untuk K=7
K-NN di matlab
Class = knnclassify(Sample, Training, Group, k, distance, rule)
Parameter Keterangan
Sample Matrik dimana baris merupakan data, kolom merupakan fitur. Sample merupakan data uji yang akan diklasifikasikan kedalam kelas. Matrik Sample harus mempunyai jumlah kolom (fitur) yang sama dengan matrik Training.
Training Matrik yang digunakan untuk mengelompokkan baris didalam matrik Sample. Matrik Traning harus mempunyai jumlah kolom yang sama dengan Sample. Setiap baris dalam matrik Training mempunyai relasi kelas pada baris yang sama pada matrik Group.
Group Vektor (matrik 1 kolom) yang setiap barisnya menyatakan kelas dari baris yang sama dalam matrik Training. k Jumlah tetangga terdekat yang digunakan untuk klasifikasi. Nilai defaultnya adalah 1.
distance String yang menyatakan metrik jarak yang digunakan untuk mencari tetangga terdekat, pilihannya: ‘euclidean’, jarak Euclidean (default)
‘cityblock’, jarak Manhattan atau jumlah absolut perbedaan nilai antar fitur ‘cosine’, jarak 1 – cos(sudut antara 2 titik)
‘correlation’, jarak 1 – korelasi diantara titik (nilai sekuen)
‘hamming’, jarak prosentase bit yang berbeda (cocok untuk data biner)