Pendahuluan


K-Nearest Neighbor (K-NN) adalah salah satu algoritma machine learning yang paling sederhana namun efektif

Terutama dalam masalah klasifikasi dan regresi.

K-NN termasuk ke dalam algoritma lazy learning.

Artinya algoritma ini tidak belajar dari data selama proses training, melainkan langsung melakukan prediksi saat diberikan data baru (instance baru).


🤔 Kenapa K-NN Dibuat ?


Tujuan dibuatnya K-NN adalah untuk menyelesaikan masalah klasifikasi atau regresi tanpa memerlukan model rumit atau proses pelatihan yang panjang.

Algoritma ini sangat berguna dalam kasus-kasus berikut:

  • Klasifikasi berbasis kemiripan: Misalnya, apakah sebuah email termasuk spam atau tidak berdasarkan kemiripan dengan email sebelumnya.
  • Rekomendasi sederhana: Seperti sistem rekomendasi film yang menyarankan film berdasarkan kesamaan dengan yang sudah ditonton.
  • Kasus dengan data yang mudah divisualisasikan: Karena cara kerjanya intuitif dan berbasis jarak antar titik, K-NN sering digunakan untuk edukasi atau eksplorasi awal data.

💡 Bagaimana Cara Kerja K-Nearest Neighbor ?


Mari kita bayangkan sebuah peta dua dimensi berisi titik-titik data yang masing-masing mewakili suatu kategori, misalnya:

Titik merah = Kelas A

Titik biru = Kelas B

Lalu, kita ingin mengetahui ke mana sebuah titik baru (belum diketahui kelasnya) termasuk. Di sinilah K-NN digunakan.


Langkah-langkah K-NN:


1. Tentukan Nilai K

Nilai K adalah jumlah “tetangga terdekat” yang akan diperhitungkan. Contohnya, jika K = 3, maka kita akan melihat 3 data terdekat dari titik baru.



2. Hitung Jarak

Ukur jarak antara titik baru dan seluruh titik di data pelatihan. Umumnya menggunakan:

  • Euclidean Distance (jarak lurus)
  • Manhattan Distance
  • atau metode lainnya tergantung konteks data


3. Pilih K Tetangga Terdekat

Ambil K data dengan jarak terdekat ke titik yang ingin diprediksi.



4. Voting untuk Klasifikasi / Rata-rata untuk Regresi


Untuk klasifikasi, titik baru diberi label berdasarkan mayoritas dari label K tetangga.

Untuk regresi, nilai yang diprediksi adalah rata-rata dari nilai K tetangga.


🔍 Contoh Sederhana ?


Misalnya kita ingin menentukan apakah seseorang akan membeli produk atau tidak.

Berdasarkan usia dan penghasilan.

Kita punya data historis dari pelanggan sebelumnya.

  • Orang baru: usia 30 tahun, penghasilan 5 juta.
  • Data historis: kombinasi usia dan penghasilan, masing-masing sudah diberi label “beli” atau “tidak beli”.
  • Kita gunakan K = 3.
  • Hitung jarak orang baru ke semua pelanggan lama.
  • Lihat 3 pelanggan terdekat.
  • Jika 2 dari 3 pelanggan tersebut membeli, maka prediksi: orang baru juga akan membeli.

🧠 Kelebihan K-NN


  • ✅ Sederhana dan mudah diimplementasikan
  • ✅ Tidak memerlukan pelatihan
  • ✅ Efektif pada data dengan pola yang jelas
  • ✅ Bisa digunakan untuk klasifikasi dan regresi

🧠 Kekurangan K-NN


  • ⚠️ Lambat saat prediksi, karena harus menghitung jarak ke semua data
  • ⚠️ Sensitif terhadap skala data — butuh normalisasi
  • ⚠️ Sensitif terhadap noise dan data outlier
  • ⚠️ Pemilihan nilai K sangat mempengaruhi hasil

🔁 Tips Menggunakan K-NN


  • Gunakan normalisasi data agar fitur yang besar tidak mendominasi perhitungan jarak.
  • Eksperimen dengan nilai K, biasanya dicoba beberapa nilai dan dipilih yang paling akurat.
  • Gunakan K ganjil untuk menghindari hasil voting yang imbang (khusus klasifikasi).