“ Memahami konsep k-NN ” yang mudah dipahami
haloo, saya Bangkit Amsal Sulaeman Gultom. Artikel ini merupakan tugas kuliah saya. Kiranya teman-teman sekalian dapat memahami konsep dari k-NN.
Yuk cekidot!! oiya lupa nimnya’4817070421' dari Politeknik Negeri Jakarta.
Apa sihh k-NN itu?
K-nearest neighbors atau knn adalah algoritma yang berfungsi untuk melakukan klasifikasi suatu data berdasarkan data pembelajaran (train data sets), yang diambil dari k tetangga terdekatnya (nearest neighbors). Dengan k merupakan banyaknya tetangga terdekat.
K-Nearest Neighbor adalah metode yang menggunakan algoritma supervised learning yang mana hasil dari instance yang baru diklasifikasikan mayoritas dari kategori k-tetangga terdekat. Algoritma k-Nearest Neighbor menggunakan Neighborhood Classification sebagai nilai prediksi dari nilai instance yang baru.
Tahapan Langkah Algoritma k-NN
- 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 dari Algoritma k-NN
Kelebihan Algoritma k-NN
- 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.
2. 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 Algoritma k-NN
- Perlu menunjukkan parameter K (jumlah tetangga terdekat)
- Tidak menangani nilai hilang (missing value) secara implisit
- Sensitif terhadap data pencilan (outlier)
- Rentan terhadap variabel yang non-informatif
- Rentan terhadap dimensionalitas yang tinggi
- Nilai komputasi yang tinggi
Kapan kita menggunakan algoritma k-NN?
KNN dapat digunakan untuk masalah prediksi klasifikasi dan regresi. Namun, ini lebih banyak digunakan dalam masalah klasifikasi di industri. Untuk mengevaluasi teknik apa pun kita biasanya melihat 3 aspek penting:
1. Mudah untuk menginterpretasikan output
2. Waktu perhitungan
3. Kekuatan Prediktif
Mari kita ambil beberapa contoh untuk menempatkan KNN dalam skala:

Algoritma KNN menunjukkan seluruh parameter pertimbangan. Ini biasanya digunakan untuk interpretasi yang mudah dan waktu perhitungan yang rendah.
Bagaimana cara kerja algoritma k-NN?
Mari kita ambil contoh sederhana untuk memahami algoritma ini. Berikut ini adalah penyebaran lingkaran merah (RC) dan kotak hijau (GS):

Anda berniat mencari tahu kelas bintang biru (BS). BS dapat berupa RC atau GS dan tidak ada yang lain. “K” adalah algoritme KNN adalah tetangga terdekat yang ingin kami pilih. Katakanlah K = 3. Oleh karena itu, kita sekarang akan membuat lingkaran dengan BS sebagai pusat hanya untuk melampirkan hanya tiga titik data di pesawat. Lihat diagram berikut untuk detail lebih lanjut:

Tiga poin terdekat ke BS adalah semua RC. Oleh karena itu, dengan tingkat kepercayaan yang baik kita dapat mengatakan bahwa BS harus menjadi milik kelas RC. Di sini, pilihan menjadi sangat jelas karena ketiga suara dari tetangga terdekat pergi ke RC. Pilihan parameter K sangat penting dalam algoritma ini. Selanjutnya kita akan memahami faktor-faktor apa saja yang dipertimbangkan untuk menyimpulkan K. terbaik.
Bagaimana kita memilih faktor K?
Pertama mari kita coba memahami apa sebenarnya pengaruh K dalam algoritma. Jika kita melihat contoh terakhir, mengingat bahwa semua pengamatan 6 pelatihan tetap konstan, dengan nilai K yang diberikan kita dapat membuat batasan masing-masing kelas. Batas-batas ini akan memisahkan RC dari GS. Dengan cara yang sama, mari kita coba untuk melihat efek dari nilai “K” pada batas kelas. Berikut ini adalah batasan yang berbeda yang memisahkan dua kelas dengan nilai K. yang berbeda.

Jika Anda memperhatikan dengan seksama, Anda dapat melihat bahwa batas menjadi lebih halus dengan meningkatnya nilai K. Dengan K bertambah hingga tak terbatas, akhirnya menjadi semua biru atau merah tergantung pada mayoritas total. Tingkat kesalahan pelatihan dan tingkat kesalahan validasi adalah dua parameter yang perlu kita akses pada nilai-K yang berbeda. Berikut ini adalah kurva untuk tingkat kesalahan pelatihan dengan nilai K yang bervariasi:

Seperti yang Anda lihat, tingkat kesalahan pada K = 1 selalu nol untuk sampel pelatihan. Ini karena titik terdekat ke titik data pelatihan itu sendiri. Oleh karena itu prediksi selalu akurat dengan K = 1. Jika kurva kesalahan validasi akan serupa, pilihan K kami adalah 1. Berikut ini adalah kurva kesalahan validasi dengan nilai K yang bervariasi:

Ini membuat cerita lebih jelas. Pada K = 1, kami melampaui batas. Oleh karena itu, tingkat kesalahan awalnya menurun dan mencapai minimal. Setelah titik minimum, kemudian meningkat dengan bertambahnya K. Untuk mendapatkan nilai K yang optimal, Anda dapat memisahkan pelatihan dan validasi dari set data awal. Sekarang plot kurva kesalahan validasi untuk mendapatkan nilai optimal K. Nilai K ini harus digunakan untuk semua prediksi.