Pernah bertanya-tanya apa itu Algoritma K-NN? Jika ya, teruslah membaca untuk mencari tahu!

Pertama, mari kita bahas dua jenis algoritme pembelajaran mesin dalam pembelajaran mesin:

  • Diawasi: Jenis pembelajaran mesin ini menggunakan kumpulan data berlabel untuk melatih model guna mengklasifikasikan data dan memprediksi hasil secara akurat. Jenis pembelajaran ini berguna dalam memprediksi keluaran atau outcome untuk data baru dan belum terlihat berdasarkan pengalaman sebelumnya. Beberapa contoh praktisnya termasuk mengklasifikasikan gambar, kata, atau jenis file. Pembelajaran mesin yang diawasi berguna ketika Anda mengetahui apa yang Anda cari dalam kumpulan data tertentu
  • Tanpa pengawasan: Ini adalah jenis pembelajaran mesin di mana model pembelajaran mesin mempelajari pola melalui data yang tidak diberi tag dan tidak diberi label. Model menganalisis data untuk menemukan pola yang sebelumnya tidak diketahui dalam data. Dapat juga berguna dalam mencari fitur yaitu variabel independen yang menjadi masukan bagi suatu sistem, yang sangat berguna dalam melakukan kategorisasi. Beberapa contoh praktisnya mencakup eksplorasi data dan sistem rekomendasi media sosial, kampanye pemasaran yang ditargetkan. Pembelajaran mesin tanpa pengawasan berguna ketika Anda tidak tahu apa yang Anda cari dalam kumpulan data tertentu

Ikhtisar Dasar algoritma K-Nearest Neighbors

Algoritma K-Nearest Neighbors dianggap sebagai salah satu algoritma Machine Learning paling sederhana yang masuk dalam kategori algoritma Supervised.

Algoritma K-Nearest Neighbors beroperasi dengan asumsi dasar bahwa benda-benda yang mirip ada di tempat yang berdekatan satu sama lain, dibandingkan benda-benda yang lebih berbeda. Dengan asumsi awal tersebut, algoritma K-NN akan menempatkan data baru yang belum terlihat ke dalam kategori yang paling mirip dengan kategori yang tersedia.

Algoritma K-NN dianggap sebagai jenis algoritma “lazy learning” karena tidak segera belajar dari data pelatihan yang ditugaskan padanya. Sebaliknya, ia hanya menyimpan data pelatihan dan pada saat diperlukan untuk mengklasifikasikan data baru dan yang belum terlihat, ia menempatkan data tersebut ke dalam kategori yang paling mirip dengan data baru.

Algoritma K-NN dikenal sebagai pengklasifikasi ad-hoc yang digunakan untuk mengklasifikasikan data pengujian berdasarkan metrik jarak (seperti Euclidean, Chebyshev, Cosine, dll)

Algoritme K-NN dapat digunakan untuk kedua jenis kategori Supervised Machine Learning: Regresi dan Klasifikasi. Meskipun memiliki fleksibilitas ini, sebagian besar digunakan untuk masalah klasifikasi ML.

Berikut beberapa kelebihan dan kekurangan algoritma K-Nearest Neighbors:

Kelebihan:

  • Pengaturannya relatif mudah dan mudah
  • Ini menangani data pelatihan yang berisik dengan cukup baik, artinya ia memprediksi secara akurat meskipun ada data yang berisik di set pelatihan. “Noise” dalam konteks ini mengacu pada data yang tidak akurat akibat kesalahan manusia dalam proses pengumpulan data untuk dataset yang digunakan
  • Ini efisien dan efektif dalam menggunakan set pelatihan besar dalam proses prediksi

Kekurangan:

  • Nilai K selalu perlu dihitung sebelum membuat prediksi apapun. Hal ini terkadang bisa menjadi sangat membosankan dan rumit
  • Karena jarak antara semua titik data set pelatihan dalam kaitannya satu sama lain harus dihitung, biaya komputasi terkadang bisa menjadi sangat tinggi

Aliran dasar KNN

Daftar langkah-langkah berikut memberikan gambaran umum tentang cara kerja algoritma KNN:

  1. Muat dan bagi data menjadi set pelatihan dan pengujian
  2. Pilih nilai untuk K. Lihat bagian di bawah untuk penjelasan lebih mendalam tentang cara melakukannya
  3. Untuk menghasilkan prediksi, lakukan langkah-langkah berikut untuk semua iterasi dari 1 hingga jumlah total titik data pelatihan:
  4. Pertama, hitung jarak antara data uji dan setiap baris data latih. Metrik jarak yang akan digunakan dapat berupa salah satu dari berikut ini: Euclidean, Chebyshev, Cosine, Manhattan, Minkowski, Jaccard, dll.
  5. Urutkan jarak yang dihitung dalam urutan menaik berdasarkan nilai jarak
  6. Dapatkan jumlah baris yang sama dengan nilai k dari bagian atas array yang diurutkan. Contoh: jika k = 4, dapatkan 4 baris teratas dari array yang diurutkan
  7. Dapatkan kategori paling sering dari baris yang dipilih pada langkah 3
  8. Mengembalikan kategori paling sering sebagai kategori prediksi untuk titik data pelatihan saat ini

Memilih nilai untuk K

Nilai K pada algoritma K-NN menunjukkan jumlah tetangga terdekat.

Nilai K optimalnya harus berupa angka yang tidak terlalu kecil dan tidak terlalu besar. Memilih nilai K yang terlalu kecil menyebabkan batasan keputusan yang tidak stabil dan masalah “overfitting”. Sedangkan nilai k yang terlalu besar dapat menimbulkan masalah “underfitting”. Penting juga untuk diperhatikan bahwa nilai k bersifat non-parametrik, artinya nilai k tidak bergantung pada asumsi apa pun tentang bentuk atau parameter kumpulan data yang menjadi asal pengambilan data pelatihan.

Pertama-tama, perlu diingat bahwa tidak ada cara pasti untuk memilih nilai terbaik untuk K. Strategi yang paling praktis dan banyak digunakan adalah menggunakan trail and error untuk menemukan nilai K yang optimal. Untuk melakukan ini, Anda harus berpura-pura bahwa bagian dari data pelatihan Anda “tidak diketahui”.

Alternatifnya, Anda dapat menggunakan aturan umum ini untuk memilih nilai k terbaik menggunakan rumus berikut:

k = sqrt(N)/2

Dimana N adalah jumlah baris dalam set pelatihan.
Mungkin juga membantu untuk menjaga nilai k pada angka ganjil agar tidak menciptakan situasi jalan buntu/seri, yang timbul dari pemilihan kelas/kategori.

Kesimpulan

Terima kasih telah membaca postingan blog ini!

Jika Anda memiliki pertanyaan atau masalah, silakan kirimkan komentar di postingan ini dan saya akan menghubungi Anda kembali jika saya punya waktu.

Jika Anda merasa artikel ini bermanfaat, silakan bagikan dan pastikan untuk mengikuti saya di Twitter dan GitHub, terhubung dengan saya di LinkedIn dan berlangganan ke saluran YouTube saya.