Algoritma K-Nearest Neighbors di R [Panduan Utama Dengan Contoh]
Diterbitkan: 2020-03-20Algoritma KNN di R cukup populer karena keserbagunaan dan fungsionalitasnya. Jadi, Anda pasti pernah mendengar namanya jika Anda mempelajari pembelajaran mesin. Dan Anda pasti bertanya-tanya, “Apa itu KNN di R?” atau “Bagaimana cara kerjanya?”.
Dalam artikel ini, kami akan menemukan jawaban atas pertanyaan-pertanyaan ini dan membantu Anda memahami topik ini secara menyeluruh. Jadi tanpa basa-basi lagi, mari selami.
Daftar isi
Apa itu Algoritma KNN?
KNN adalah singkatan dari K Nearest Neighbor. Ini adalah algoritme pembelajaran mesin terawasi yang mengklasifikasikan titik data ke dalam kelas target sesuai dengan fitur titik data yang berdekatan dari titik tersebut.
Misalkan Anda ingin mesin Anda mengidentifikasi gambar apel dan jeruk dan membedakannya. Untuk melakukannya, Anda harus memasukkan kumpulan data gambar apel dan oranye. Kemudian, Anda harus melatih model data Anda dengan membiarkannya mendeteksi setiap buah melalui fitur uniknya. Seperti, ia bisa mengenali apel melalui warna merahnya dan jeruk melalui warnanya.
Setelah Anda melatih model data, Anda dapat mengujinya dengan memberinya kumpulan data baru dengan gambar apel dan jeruk lainnya. Sekarang, algoritma KNN akan memisahkan apel dan jeruk dengan mengklasifikasikannya sesuai dengan fitur yang terlihat dalam model pelatihan.
Itu akan membandingkan fitur titik data dengan yang tetangganya untuk melihat seberapa miripnya. Dan itu akan mengklasifikasikan mereka sesuai dengan temuan itu.

Dalam banyak kasus, Anda akan memplot titik-titik pada grafik. Dan untuk menghitung jarak antara dua titik, Anda harus menggunakan rumus yang berbeda. Metode yang paling umum untuk menghitung jarak antara dua titik data adalah jarak Euclidean. Ini menghitung jarak terlepas dari properti atau atribut yang ada di titik.
Fitur Algoritma KNN
Berikut ini adalah fitur-fitur Algoritma KNN pada R:
- Ini adalah algoritma pembelajaran yang diawasi. Ini berarti menggunakan data input berlabel untuk membuat prediksi tentang output data.
- Ini adalah algoritma pembelajaran mesin yang mudah
- Anda dapat menggunakan algoritme KNN untuk berbagai jenis masalah
- Ini adalah model non-parametrik. Ini berarti tidak membuat asumsi tentang data, yang membuatnya cukup berguna untuk memecahkan masalah yang berkaitan dengan data nyata.
- Ini mengklasifikasikan data dengan membandingkan titik data dengan yang tetangganya. Dengan kata sederhana, kerja algoritma KNN didasarkan pada kesamaan atribut.
- Itu termasuk dalam kategori algoritma malas. Algoritme malas menghafal data pelatihan alih-alih mempelajari fungsi diskriminatif dari yang sama. Pelajari lebih lanjut tentang jenis algoritme pembelajaran mesin.
- Anda dapat menggunakan KNN untuk menyelesaikan regresi serta masalah klasifikasi.
Algoritme KNN tidak bias, dan karena fitur yang kami diskusikan di atas, ini adalah pilihan yang lebih disukai untuk banyak masalah. Namun, semuanya memiliki masalah, dan KNN tidak terkecuali.
Algoritma ini tidak berguna untuk memecahkan masalah yang terlalu kompleks. Modelnya juga tidak memiliki proses abstraksi. Untuk model yang memadai, Anda memerlukan data berkualitas tinggi karena terkadang data tersebut dapat kehilangan wawasan berharga karena ini adalah algoritme yang malas. Ini cepat, tetapi Anda harus menghabiskan banyak waktu dalam pembersihan data.
Bagaimana cara kerjanya?
Untuk memahami cara kerja KNN di R, kita akan melihat contoh lain.
Misalkan kumpulan data Anda memiliki dua kelas. Kelas 1 memiliki persegi panjang, sedangkan Kelas 2 memiliki lingkaran. Anda harus menetapkan titik data baru yang Anda masukkan ke salah satu dari dua kelas ini dengan menggunakan algoritma ini. Untuk melakukan ini, pertama-tama Anda harus menentukan nilai 'K' untuk algoritme Anda. K menunjukkan jumlah titik tetangga terdekat yang akan dipertimbangkan oleh algoritma.
Pertimbangkan Anda memasukkan K sebagai 4 dalam contoh ini. Dan untuk K = 4, tetangganya adalah tiga lingkaran dan satu persegi panjang. Dalam hal ini, Anda akan mengklasifikasikan titik data di Kelas 2 karena jumlah lingkaran yang mengelilingi titik lebih tinggi daripada persegi panjang.
Jika tetangganya adalah tiga persegi panjang dan satu lingkaran, Anda akan mengklasifikasikannya di Kelas 1. Kita telah membahas bagaimana algoritma KNN menghitung jarak antara dua titik untuk menentukan siapa tetangga terdekat. Ini menggunakan rumus jarak Euclidean untuk tujuan ini.

Rumus jarak Euclidean adalah sebagai berikut:
d(p,q) = d(q,p) = ( q 1 – p 1 ) 2 +( q 2 – p 2 ) 2 … ( q n – p n ) 2
Di sini, p = (p1, p2, p3, …. pn) dan q = (q1, q2, q3, … qn). Dalam persamaan ini, 'd' menunjukkan jarak euclidean antara titik p dan q.
Seperti yang Anda lihat, ini cukup sederhana. Dan kesederhanaannya membuatnya sangat serbaguna, karena itu merupakan salah satu algoritme paling populer. Anda dapat menggunakannya untuk berbagai masalah.
Contoh KNN di R
Anda mungkin bertanya-tanya di mana kita melihat aplikasi algoritme KNN dalam kehidupan nyata. Untuk itu, Anda harus melihat Amazon.
Kesuksesan besar Amazon bergantung pada banyak faktor, tetapi salah satu yang menonjol di antaranya adalah penggunaan teknologi canggih. Salah satu teknologi tersebut adalah pembelajaran mesin. Sistem rekomendasi mereka telah membantu mereka menghasilkan ratusan juta pendapatan. Dan sistem rekomendasi ini menggunakan algoritma KNN untuk tujuan ini.
Baca juga: Ide Proyek Pembelajaran Mesin

Misalkan Anda membeli jeans Wrangler hitam dengan jaket kulit di Amazon. Beberapa minggu kemudian, orang lain membeli jeans yang sama dari Amazon tetapi tidak membeli jaket kulit itu. Amazon akan merekomendasikan orang ini untuk membeli jaket karena dia menunjukkan pola pembelian yang mirip dengan Anda.
Jadi, sistem rekomendasi Amazon bekerja berdasarkan pola pembelian orang. Dan untuk memahami kesamaan ini, Anda dapat menggunakan algoritma KNN berdasarkan prinsip ini. Sekarang Anda mengetahui dasar-dasar algoritme ini serta penerapannya di dunia nyata. Ada banyak contoh lain dari penggunaannya, tetapi untuk saat ini, mari kita tetap menggunakan yang ini.
Pelajari kursus ilmu data dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Kesimpulan
Algoritma KNN dalam R memiliki banyak kegunaan. Dan setelah membaca artikel ini, kami yakin Anda sudah familiar dengan algoritma ini. Jika Anda ingin mempelajari lebih lanjut tentang algoritme pembelajaran mesin tersebut, Anda harus melihat Kursus Pembelajaran Mesin terperinci kami .
Anda akan belajar banyak tentang pembelajaran mesin dan berbagai algoritme yang digunakan di dalamnya, terlepas dari aspek lainnya.
Untuk apa bahasa pemrograman R digunakan?
Bahasa pemrograman R dibuat untuk komputasi yang melibatkan statistik dan visualisasi data. Saat ini, R banyak digunakan oleh ahli statistik, ilmuwan data, analis data dan bisnis. Inti dari R hadir dengan banyak fungsi statistik yang terpasang di dalamnya, sehingga perpustakaan pihak ketiga tidak diperlukan untuk banyak analisis data inti yang dapat dicapai R. Tidak seperti banyak bahasa pemrograman komputer lainnya, R bukanlah bahasa tujuan umum. Jadi, pada dasarnya digunakan untuk mencapai fungsi tertentu yang bekerja dengan sangat baik. Namun, R digunakan secara luas oleh bisnis di semua industri untuk mendapatkan wawasan yang berguna dari volume besar data harian yang dihasilkan oleh pengguna.
Apa keuntungan dari pemrograman dengan R?
Bahasa pemrograman R menawarkan berbagai keuntungan bagi programmer pemula dan ahli. Manfaat utamanya termasuk fitur dan kemudahan yang diberikannya untuk membangun model statistik dan komputasi. Selanjutnya, R adalah bahasa pemrograman open-source yang mendukung komputasi terdistribusi paralel. Siapapun dapat menggunakannya tanpa harus mendapatkan lisensi atau biaya penggunaan. Selain itu, ia hadir dengan perpustakaan besar untuk mendukung berbagai fungsi, dan kerangka kerja platform-independennya juga menambah kenyamanan. R juga dapat digunakan untuk pembersihan data yang efektif, pengikisan web, dan fungsi perselisihan data dan populer digunakan untuk mengembangkan model pembelajaran mesin.
Mengapa KNN disebut Algoritma Pembelajar Malas?
Algoritma K-Nearest Neighbors adalah salah satu algoritma paling sederhana yang digunakan dalam pembelajaran mesin. Namun, hal ini sering disebut pembelajar yang malas. Alasan untuk ini adalah ketika Anda memberikan semua data terkait pelatihan ke algoritme ini, pelatihan itu sendiri tidak akan berhasil. Alih-alih mempelajari fungsi diskriminatif, ia mengingat seluruh dataset pelatihan. Dengan setiap penambahan titik data baru, algoritme ini mencari tetangga terdekatnya di seluruh rangkaian pelatihan, yang selalu meningkatkan waktu yang diperlukan untuk membuat prediksi. Ini sering membuatnya mahal secara komputasi dan sangat memakan waktu.