19/10/2020

Definisi Algoritma k-NN

 

Hai semua, jika sebelumnya mimin telah membahas mengenai algortima K-Means maka di kesempatan kali ini, mimin akan membahas algoritma lain yang biasa digunakan untuk melakukan implementasi machine learning.  Yuk mari kita bahas mengenai algoritma kNN.

 

Pengertian Algoritma k-Nearest Neighbor  (kNN)

Algoritma k-Nearest Neighbor adalah algoritma supervised learning dimana hasil dari instance yang baru diklasifikasikan berdasarkan mayoritas dari kategori k-tetangga terdekat. Algoritma ini juga merupakan salah satu teknik lazy learning. kNN dilakukan dengan mencari kelompok k objek dalam data training yang paling dekat (mirip) dengan objek pada data baru atau data testing (Wu, 2009). Tujuan dari algoritma ini adalah untuk mengklasifikasikan obyek baru berdasarkan atribut dan sample-sample dari training data. Algoritma k-Nearest Neighbor menggunakan Neighborhood Classification sebagai nilai prediksi dari nilai instance yang baru.

Tahapan Langkah Algoritma k-Nearest Neighbor  (kNN)

  • Menentukan parameter k (jumlah tetangga paling dekat).
  • Menghitung kuadrat jarak eucliden objek terhadap data training yang diberikan.
  • Mengurutkan hasil no 2 secara ascending (berurutan dari nilai tinggi ke rendah)
  • Mengumpulkan kategori Y (Klasifikasi nearest neighbor berdasarkan nilai k)
  • Dengan menggunakan kategori nearest neighbor yang paling mayoritas maka dapat dipredisikan kategori objek

Kelebihan dan Kekurangan Algoritma k-Nearest Neighbor  (kNN)

Kelebihan

  1. Sangat nonlinear

kNN merupakan salah satu algoritma (model) pembelajaran mesin yang bersifat nonparametrik. Pembahasan mengenai model parametrik dan model nonparametrik bisa menjadi artikel sendiri, namun secara singkat, definisi model nonparametrik adalah model yang tidak mengasumsikan apa-apa mengenai distribusi instance di dalam dataset. Model nonparametrik biasanya lebih sulit diinterpretasikan, namun salah satu kelebihannya adalah garis keputusan kelas yang dihasilkan model tersebut bisa jadi sangat fleksibel dan nonlinear.

  1. Mudah dipahami dan diimplementasikan

Dari paparan yang diberikan dan penjelasan cara menghitung jarak dalam artikel ini, cukup jelas bahwa algoritma kNN mudah dipahami dan juga mudah dimplementasikan. Untuk mengklasifikasi instance x menggunakan kNN, kita cukup mendefinisikan fungsi untuk menghitung jarak antar-instance, menghitung jarak x dengan semua instance lainnya berdasarkan fungsi tersebut, dan menentukan kelas x sebagai kelas yang paling banyak muncul dalam k instance terdekat.

Kekurangan

  1. Perlu menunjukkan parameter K (jumlah tetangga terdekat)
  2. Tidak menangani nilai hilang (missing value) secara implisit

Jika terdapat nilai hilang pada satu atau lebih variabel dari suatu instance, perhitungan jarak instance tersebut dengan instance lainnya menjadi tidak terdefinisi.

  1. Sensitif terhadap data pencilan (outlier)

kNN bisa jadi sangat fleksibel jika k kecil. Fleksibilitas ini mengakibatkan kNN cenderung sensitif terhadap data pencilan, khususnya pencilan yang terletak di “tengah-tengah” kelas yang berbeda.

  1. Rentan terhadap variabel yang non-informatif
  2. Rentan terhadap dimensionalitas yang tinggi
  3. Rentan terhadap perbedaan rentang variabel
  4. Nilai komputasi yang tinggi.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *