Apakah kamu pernah menonton film di Netflix atau berbelanja produk di e-commerce? Jika pernah, pasti kamu pernah melihat rekomendasi film atau produk di situs tersebut. Rekomendasi tersebut dapat terjadi dikarenakan terdapat sebuah algoritma yang dijalankan, yaitu k-Nearest Neighbor. Algoritma k-Nearest Neighbor atau knn adalah salah satu algoritma dalam supervised learning dimana hasil dari instance yang baru diklasifikasikan berdasarkan mayoritas dari kategori k terdekat. Tujuan dari algoritma ini adalah untuk mengklasifikasikan objek baru berdasarkan atribut dan sampel-sampel dari training data.
Algoritma k-Nearest Neighbor ini menggunakan metode neighborhood classification sebagai nilai prediksi dari nilai instance yang baru. Knn dapat digunakan di metode classification dan juga regresi untuk mengatasi beberapa permasalahan. Namun, sebagian besar lebih banyak menggunakan knn dalam masalah classification di industri.
Terdapat beberapa keuntungan dalam menggunakan algoritma ini. Berikut beberapa keuntungannya:
1. Simple & intuitive
Algoritma knn adalah algoritma yang mudah untuk dipahami oleh banyak orang serta mudah untuk diimplementasikan. Terbukti dengan banyaknya perusahaan yang mengimplementasikan algoritma ini.
2. Memory based approach
Algoritma knn ini mudah beradaptasi dengan training data yang baru. Ini merupakan keunggulan algoritma knn dengan yang lain karena setiap algoritma pastinya memerlukan training data. Dengan mudahnya algoritma ini beradaptasi, maka akan memudahkan developer untuk mengimplementasikan training data yang baru.
3. Variety of distance metrics
Adanya fleksibilitas dari user untuk menggunakan beberapa metode yang paling cocok untuk aplikasi mereka. Ada beberapa contoh metode yang paling umum digunakan, yaitu euclidean, minkowski, manhattan dan masih banyak lagi
Cara kerja knn
Seperti penjelasan di atas, algoritma knn digunakan untuk mengklasifikasikan data. Maka dari itu, apabila ingin mengetahui kelas dari sebuah object terlebih dahulu harus menentukan nilai k. Contohnya terdapat pada gambar di atas, knn akan digunakan untuk mengetahui kelas dari objek berbentuk bintang biru. Objek tersebut bisa termasuk ke dalam kelas objek berbentuk lingkaran merah ataupun kelas objek berbentuk kotak hijau.
Nilai k bisa ditetapkan secara sembarang, dalam kasus ini, nilai k ditetapkan 3. Dikarenakan nilai k tiga, maka akan dibuat sebuah lingkaran dengan objek bintang biru sebagai pusatnya yang hanya mencakup tiga data saja(dikarenakan nilai k nya 3). Dapat dilihat bahwa tiga titik terdekat pada objek bintang biru semuanya adalah lingkaran berwarna merah. Dikarenakan hal tersebut maka dapat dikatakan bahwa objek bintang biru termasuk ke dalam kelas lingkaran merah.
Menentukan nilai k yang optimal
Menetapkan nilai k pada algoritma knn adalah salah satu poin penting agar mendapatkan hasil yang maksimal. Apabila sembarang saja tanpa adanya uji lebih lanjut, maka algoritma knn akan menghasilkan output yang buruk. Sebenarnya tidak ada rumus pasti untuk menentukan nilai k yang optimal, namun dengan melakukan perulangan secara terus menerus dengan menggunakan nilai k yang berbeda dapat menjadi solusi untuk mencari nilai k. Namun ada beberapa hal yang perlu diperhatikan untuk menetapkan nilai k.
Semakin kecil nilai k maka hasil yang didapatkan akan kurang optimal. Saat menjalankan algoritma knn dengan menggunakan nilai k satu, maka prediksi yang dilakukan menjadi kurang stabil. Sebaliknya saat nilai k dinaikkan, maka prediksi menjadi lebih stabil. Maka dari itu, bisa disimpulkan bahwa semakin tinggi nilai k, maka semakin bagus prediksi yang dihasilkan. Namun, perlu adanya pengulangan satu per satu untuk mencapai nilai k yang optimal.
Nah, itulah segala hal mengenai algoritma k-Nearest Neighbor. Algoritma ini tidak bisa dipelajari dalam waktu singkat, perlu dedikasi dan latihan terus menerus untuk dapat menguasainya. Apakah kamu tertarik dengan topik ini? Jika ya, kamu bisa ikuti terus blog Coding Studio untuk menambah wawasanmu tentang data!
Rekomendasi Kursus
Di internet sekarang ini memang hal ini sangatlah penting, sehingga Anda perlu mempelajarinya dengan baik dengan cara kursus. Sudah ada cukup banyak pilihan kursus juga yang bisa Anda pilih, dan semuanya bisa dibilang memiliki kelebihan masing-masing. Anda bisa mengikuti kursus algoritma dari coding studio. Demikianlah beberapa informasi kami yang mungkin akan membantu Anda memahami hal ini.