K-Nearest Neighbor

5
K-Nearest Neighbor (KNN) Algoritma K-Nearest Neighbor (KNN) adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut.Data pembelajaran diproyeksikan k ruang berdimensi banyak, dimana masing – masing dimensi merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian – bagian berdasarkan klasifikasi data pembelajaran. Sebuah titik pada ruangan ini ditandai dengan kelas c, jika kelas c merupakan klasifikasi yang paling banyak ditemui pada k buah tetangga terdekat titik tersebut. K-Nearest Neighbor merupakan metode yang bersifat supervised, dimana hasil dari query instance yang baru diklasifikasikan berdasarkan mayoritas kategori pada KNN. Pada fase training, algoritma ini hanya melakukan penyimpanan vektor – vektor fitur dan klasifikasi data training sample. Pada fase klasifikasi, fitur – fitur yang sama dihitung untuktesting data (klasifikasinya belum diketahui). Jarak dari vektor yang baru ini terhadap seluruh vektor training sample dihitung, dan sejumlah k buah yang paling dekat diambil. Titik yang baru klasifikasinya diprediksikan termasuk pada klasifikasi terbanyak dari titik – titik tersebut.

description

Semua Tentang K-Nearest Neighbor

Transcript of K-Nearest Neighbor

Page 1: K-Nearest Neighbor

K-Nearest Neighbor (KNN)

Algoritma K-Nearest Neighbor (KNN) adalah sebuah metode untuk

melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang

jaraknya paling dekat dengan objek tersebut.Data pembelajaran

diproyeksikan k ruang berdimensi banyak, dimana masing – masing dimensi

merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian – bagian

berdasarkan klasifikasi data pembelajaran. Sebuah titik pada ruangan ini ditandai

dengan kelas c, jika kelas c merupakan klasifikasi yang paling banyak ditemui

pada k buah tetangga terdekat titik tersebut.

K-Nearest Neighbor merupakan metode yang bersifat supervised, dimana

hasil dari query instance yang baru diklasifikasikan berdasarkan mayoritas

kategori pada KNN. Pada fase training, algoritma ini hanya melakukan

penyimpanan vektor – vektor fitur dan klasifikasi data training sample. Pada fase

klasifikasi, fitur – fitur yang sama dihitung untuktesting data (klasifikasinya

belum diketahui). Jarak dari vektor yang baru ini terhadap seluruh vektor training

sample dihitung, dan sejumlah k buah yang paling dekat diambil. Titik yang baru

klasifikasinya diprediksikan termasuk pada klasifikasi terbanyak dari titik – titik

tersebut. 

Ketepatan algoritma KNN oleh ada atau tidak adanya fitur – fitur yang

tidak relevan, atau jika bobot fitur tersebut setara dengan relevansinya terhadap

klasifikasi. Algoritma K Nearest Neighbor memiliki kelebihan yaitu dapat

menghasilkan data yang kuat atau jelas dan efektif jika digunakan pada data yang

besar. Dari beberapa kelebihan tersebut,  K-Nearest Neighbor juga memiliki

kekurangan yaitu membutuhkan nilai K sebagai parameter, jarak dari data

percobaan tidak dapat jelas dengan tipe jarak yang digunakan dan dengan atribut

yang digunakan untuk memperoleh hasil yang terbaik, maka harus menggunakan

semua atribut atau hanya satu atribut yang telah pasti, dan perhitungan harga

sangat tinggi karena percobaan ini membutuhkan perhitungan jarak dari

beberapa query untuk semua data percobaan.

Page 2: K-Nearest Neighbor

Adapun algoritma dari KNN ditunjukan pada flowchart berikut :

Gambar 1. Flowchart kNN

Contoh kasus :

Semisalnya diinginkan untuk mencari solusi terhadap masalah seorang pasien baru dengan menggunakan solusi dari pasien lama. Untuk mencari solusi dari pasien baru tersebut digunakan kedekatan dengan kasus pasien lama, solusi dari kasus lama yang memiliki kedekatan dengan kasus baru digunakan sebagai solusinya. Terdapat pasien baru dan 4 pasien lama, yaitu P, Q, R, dan S (Gambar 2). Ketika ada pasien baru maka yang diambil solusi adalah solusi dari kasus pasien lama yang memikili kedekatan terbesar.

Gambar 2. Ilustrasi kasus algoritma kNN

Misal D1 adalah jarak antara pasien baru dengan pasien P, D2 adalah jarak antara pasien baru dengan pasien Q, D3 adalah jarak antara pasien baru dengan pasien R, D4 adalah jarak antara pasien baru dengan pasien S. Dari ilustrasi

Page 3: K-Nearest Neighbor

gambar terlihat bahwa D2 yang paling terdekat dengan kasus baru. Dengan demikian maka solusi dari kasus pasien Q yang akan digunakan sebagai solusi dari pasien baru tersebut.

Ada banyak cara untuk mengukur jarak kedekatan antara data baru dengan data lama (data training), diantaranya euclidean distance dan manhattan distance (city block distance), yang paling sering digunakan adalah euclidean distance (Bramer,2007), yaitu

Untuk mengukur jarak dari atribut yang mempunyai nilai besar, seperti atribut pendapatan, maka dilakukan normalisasi. Normalisasi bisa dilakukan dengan min-max normalization atau Z-score standardization (Larose, 2006). Jika data training terdiri dari atribut campuran antara numerik dan kategori, lebih baik gunakan min-max normalization (Larose, 2006). Untuk menghitung kemiripan kasus, digunakan rumus (Kusrini, 2009) :

Keterangan :

P = Kasus baru

q = Kasus yang ada dalam penyimpanan

n = Jumlah atribut dalam tiap kasus

i = Atribut individu antara 1 sampai dengan n

f = Fungsi similarity atribut i antara kasus p dan kasus q

w = Bobot yang diberikan pada atribut ke-i