Ahmad Farid Muharram
Nov 1 · 2 min read

Seputar KNN (K-Nearest Neighbors)

Kali ini kita membahas tentant KNN ya bukan KKN…

Mulai dari pengertiannya, cara kerja algoritmanya, pro kontranya sampai perbedaan diantara K-Means dam KNN.

Apa sih KNearest Neighbors?

  • Supervised machine learning algorithm

sebagai variabel target yang dikenal

  • Non — Parametic

tidak membuat asumsi tentang pola distribusi data yang mendasarinya

  • Lazy Algorithm (Alogritma Malas)

Dikatakan seperti ini karena KNN tidak punya langkah langkah pelatihan data. Semua titik data hanya akan digunakan pada saat prediksi.

  • Digunakan untuk Klasifikasi dan Regresi
  • Menggunakan fitur ‘similiarity’ untuk memprediksi cluster, titik baru akan jatuh kemana

Nih, kita ambil contoh seperti ini :


Kamu pindah rumah, lalu kamu bertemu tetangga baru dan mau temenan sama tetangga barumu itu. Kamu mulai bersosialisasi sama tetangga kamu. Nah, kamu memutuskan buat temenan sama tetangga yang pemikirannya sama seperti kamu, hobinya sama, ketertarikannya sama. Pemikiran, Hobi dan Ketertarikan itu disebut fitur dalam KNN. Kamu memutuskan lingkaran pertemanan dengan tetanggamu itu berdasarkan Ketertarikan, Hobi dan Kesamaan Pemikiran. Seperti itu lah cara menganalogilan cara kerja KNN


Udah mulai paham?

Sekarang kita bahas K nya si KNearest Neighbors

K adalah angka yang digunakan untuk mengidentifikasi tetangga yang serupa untuk titik data baru.

Mengacu pada contoh kita tentang lingkaran teman di lingkungan baru kita. Kami memilih 3 tetangga yang kami ingin menjadi teman yang sangat dekat berdasarkan pemikiran atau hobi yang sama. Dalam hal ini K adalah 3.

KNN mengambil K tetangga terdekat untuk memutuskan di mana titik data baru milik. Keputusan ini didasarkan pada kesamaan fitur.

Bagaimana kita memilih nilai K?

Pilihan K memiliki dampak drastis pada hasil yang kami peroleh dari KNN.

kita dapat mengambil set tes dan plot tingkat akurasi atau skor F1 terhadap nilai K. yang berbeda

Kami melihat tingkat kesalahan tinggi untuk set tes ketika K = 1. Maka kita dapat menyimpulkan bahwa model overfits ketika k = 1.

Untuk nilai K yang tinggi, kita melihat bahwa skor F1 mulai turun. Set tes mencapai tingkat kesalahan minimum ketika k = 5. Ini sangat mirip dengan metode siku yang digunakan dalam K-means.

Nilai K pada siku tingkat kesalahan uji memberi kita nilai optimal K.

gambar diatas adalah Plot K terhadap skor F1 untuk basis data mobil yang digunakan dalam contoh python

Selanjutnya kita bahas Pro Kontra KNN

Pro :

  • Algoritma sederhana dan karenanya mudah untuk menafsirkan prediksi
  • Non parametrik, jadi tidak membuat asumsi tentang pola data yang mendasarinya
  • Digunakan untuk klasifikasi dan Regresi
  • Langkah pelatihan jauh lebih cepat untuk tetangga terdekat dibandingkan dengan algoritma pembelajaran mesin lainnya

Kontra :

  • KNN mahal secara komputasi karena mencari titik terdekat baru pada tahap prediksi
  • Persyaratan memori tinggi karena KNN harus menyimpan semua titik data
  • Tahap prediksi sangat mahal
  • Sensitif terhadap pencilan, akurasi dipengaruhi oleh noise atau data yang tidak relevan.

sumber : https://medium.com/datadriveninvestor/k-nearest-neighbors-knn-7b4bd0128da7

https://archive.ics.uci.edu/ml/datasets/car+evaluation

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade