Anda di halaman 1dari 23

K-Nearest

Neighbor
GHEA SEKAR PALUPI, M.I.M.
Apa itu K-NN?

 Algoritma K-Nearest Neighbor (K-NN) adalah algoritma sederhana


yang menyimpan semua case yang tersedia dan mengklasifikasikan
data atau case baru berdasarkan ukuran kesamaan.

 Sebagian besar digunakan untuk mengklasifikasikan titik data


berdasarkan bagaimana tetangganya diklasifikasikan.

 klasifikasi terhadap objek berdasarkan dari data pembelajaran (data


training) yang jaraknya paling dekat dengan objek tersebut.
Ilustrasi cerita dari K-NN

Bertanya pada Tetangga – Anda diundang ke


sebuah pertemuan. Namun, Anda tidak tahu tema
dari pertemuan tersebut, maupun kegiatan apa saja
yang akan dilakukan di pertemuan tersebut. Anda
benar-benar tidak tahu apakah pertemuan itu akan
bermanfaat atau tidak untuk Anda. Yang Anda
tahu, beberapa (anggap saja 6 orang) teman Anda
juga diundang ke acara yang sama. Dalam kondisi
seperti itu, apa yang Anda lakukan?
Apa yang Anda lakukan?

1. Bertanya kepada teman-teman apakah mereka akan datang ke


pertemuan tersebut atau tidak.
2. Orang-orang yang pertama ditanya adalah orang-orang yang dekat
dengan Anda.
3. Dari enam orang tersebut, empat orang menyatakan akan datang, tapi
dua orang ternyata memutuskan tidak datang, entah mengapa alasannya.

Lalu, keputusan apa yang Anda ambil?


Aplikasi K-NN

 Data mining
 Pattern recognition
 Image processing
 Machine learning
 Dua komponen kimia yang disebut
Rutime dan Myricetin di dalam wine.

 Pertimbangkan pengukuran level


Rutine vs Myricetin dengan dua titik
data, anggur Merah dan Putih.
Misalkan, jika kita menambahkan segelas anggur baru dalam
dataset. Kita ingin tahu apakah anggur baru itu merah atau putih?
Katakanlah k = 5 dan titik data baru
diklasifikasikan oleh mayoritas suara dari
lima negara tetangganya dan titik baru akan
diklasifikasikan sebagai merah karena empat
dari lima tetangga berwarna merah.
Bagaimana cara memilih nilai k pada
algoritma K-NN?
Berikut beberapa hal yang perlu
diingat dalam menentukan nilai k:

 Saat kita menurunkan nilai K ke 1, prediksi kita menjadi kurang stabil.


Coba pikirkan sebentar, bayangkan K = 1 dan kita memiliki titik kueri
yang dikelilingi oleh beberapa warna merah dan satu warna hijau, tetapi
hijau adalah tetangga terdekat. Secara wajar, kita akan berpikir bahwa
titik kueri kemungkinan besar berwarna merah, tetapi karena K = 1, KNN
salah memprediksi bahwa titik kueri berwarna hijau.
 Sebaliknya, ketika kita meningkatkan nilai K, prediksi kita menjadi
lebih stabil karena mayoritas memilih / rata-rata, dan dengan
demikian, lebih cenderung membuat prediksi yang lebih akurat
(hingga titik tertentu). Akhirnya, kita mulai menyaksikan semakin
banyak kesalahan. Pada titik ini kita tahu bahwa kita telah
mendorong nilai K terlalu jauh.
Beberapa cara memilih nilai k

1. Coba beberapa nilai sebelum menentukan satu. Kita bisa


melakukan ini dengan berpura-pura sebagian dari data pelatihan
itu “tidak diketahui”.
2. Pilih nilai k dengan k = 𝑁 dimana N adalah jumlah sampel pada
training dataset.
3. Menggunakan angka ganjil, misalnya k = 1, 3, 5, dst untuk
menghindari kebingungan antara dua kelas data.
Start

Tentukan Jumlah Tetangga Terdekat K (K


ditentukan oleh user)

Hitung Kuadrat Jarak Euclidean Test Data ke


Training Data

How does K-NN Urutkan Data berdasarkan Data yang


Algorithm works? mempunyai Jarak Euclidean Terkecil

Tentukan Kelompok Test Data berdasarkan Label


Mayoritas pada K

End
Euclidean Distance

 Kesamaan didefinisikan
berdasarkan metrik jarak antara
dua titik data.

 Salah satu yang populer adalah


metode jarak Euclidean.
Diberikan data Training berupa dua atribut Bad dan Good untuk mengklasifikasikan
sebuah data apakah tergolong Bad atau Good , berikut ini adalah contoh
datanya (k=3):
Kita diberikan data baru yang akan kita
klasifikasikan, yaitu X = 3 dan Y = 5. Jadi termasuk
klasifikasi apa data baru ini ? Bad atau Good ?
Langkah
penyelesaian
Hitung jarak antara data
baru dengan semua
data training
menggunakan Euclidea
n Distance.
2. Urutkan jarak dari data baru dengan data training dan menentukan
tetangga terdekat berdasarkan jarak minimum K.
3. Tentukan kategori dari tetangga terdekat. Perhatikan
baris 3, 4, dan 5 pada gambar sebelumnya (diatas).
Kategori Ya diambil jika nilai K<=3. Jadi baris 3, 4,
dan 5 termasuk kategori Ya dan sisanya Tidak.
4. Gunakan kategori mayoritas yang sederhana dari tetangga
yang terdekat tersebut sebagai nilai prediksi data yang baru.

Dari jumlah mayoritas (Good > Bad) tersebut kita simpulkan bahwa
data baru (X=3 dan Y=5) termasuk dalam kategori Good.
Kelebihan dan
Kekurangan K-NN
Algorithm
Kelebihan

1. Mudah dipahami dan


diimplementasi
2. Sangat fleksibel dan non-
linear
Kekurangan

1. Perlu menentukan parameter K (jumlah tetangga terdekat)


2. Fleksibilitas mengakibatkan KNN cenderung sensitif terhadap
data pencilan (outlier)
3. Biaya perhitungan cukup tinggi karena kita perlu menghitung
jarak setiap contoh kueri untuk semua sampel pelatihan.

Anda mungkin juga menyukai