Anda di halaman 1dari 4

I Made Bagus Arimanu Dwipayana

bagusarimanu@gmail.com

Algoritma K-Nearest Neighbours


K-Nearest Neighbours adalah salah satu algoritma klasifikasi yang paling dasar namun
penting dalam Machine Learning. Algoritma ini termasuk dalam supervised learning domain
dan banyak digunakan dalam pengenalan pola, penggalian data, dan deteksi intrusi.
Algoritma K-Nearest Neighbor (KNN) adalah algoritma machine learning yang bersifat
non-parametric dan lazy learning. Metode yang bersifat non-parametric memiliki makna
bahwa metode tersebut tidak membuat asumsi apa pun tentang distribusi data yang
mendasarinya. Dengan kata lain, tidak ada jumlah parameter atau estimasi parameter yang tetap
dalam model, terlepas data tersebut berukuran kecil ataupun besar. Algoritma non-parametric
seperti KNN menggunakan sejumlah parameter yang fleksibel, dan jumlah parameter
seringkali bertambah seiring data yang semakin banyak. Algoritma non-parametric secara
komputasi lebih lambat, tetapi membuat lebih sedikit asumsi tentang data.
Algoritma KNN juga bersifat lazy learning, yang artinya tidak menggunakan titik data training
untuk membuat model. Singkatnya pada algoritma KNN tidak ada fase training, kalaupun ada
juga sangat minim. Semua data training digunakan pada tahap testing. Hal ini membuat proses
training lebih cepat dan tahap testing lebih lambat dan cenderung ‘mahal’ atau membutuhkan
banyak cost dari sisi waktu dan memori. Algoritma KNN mengasumsikan bahwa sesuatu yang
mirip akan ada dalam jarak yang berdekatan atau bertetangga. Artinya data-data yang
cenderung serupa akan dekat satu sama lain.
Algoritma ini dapat digunakan secara luas dalam skenario kehidupan nyata karena
bersifat non-parametrik, yang berarti, algoritma ini tidak membuat asumsi dasar tentang
distribusi data (berbeda dengan algoritma lain seperti GMM, yang mengasumsikan distribusi
Gaussian dari data yang diberikan). Kita diberikan beberapa data sebelumnya (juga disebut
data pelatihan), yang mengklasifikasikan koordinat ke dalam kelompok-kelompok yang
diidentifikasi oleh suatu atribut.
KNN dapat digunakan untuk masalah prediksi klasifikasi dan regresi. Namun, KNN lebih
banyak digunakan dalam masalah klasifikasi di industri. Untuk mengevaluasi teknik apa pun,
kita biasanya melihat 3 aspek penting:
1. Kemudahan dalam menginterpretasikan output
2. Waktu perhitungan
3. Kekuatan Prediksi
Bagaimana Cara Kerja Algoritma KNN?
dicontohkan sebuah kasus sederhana untuk memahami algoritma ini. Berikut ini adalah sebaran
lingkaran merah (RC) dan kotak hijau (GS):
Kita bermaksud mencari tahu kelas bintang biru (BS). BS dapat berupa RC atau GS dan
tidak ada yang lain. "K" dalam algoritma KNN adalah tetangga terdekat yang ingin kita ambil
suaranya. Katakanlah K = 3. Oleh karena itu, sekarang kita akan membuat lingkaran dengan
BS sebagai pusatnya yang sama besarnya dengan tiga titik data pada bidang tersebut. Lihat
diagram berikut untuk lebih jelasnya:

Tiga titik terdekat dengan BS adalah RC. Oleh karena itu, dengan tingkat kepercayaan
yang baik, kita dapat mengatakan bahwa BS seharusnya masuk ke dalam kelas RC. Di sini,
pilihannya menjadi jelas karena ketiga suara dari tetangga terdekat jatuh ke RC. Pemilihan
parameter K sangat penting dalam algoritma ini. Selanjutnya, kita akan memahami faktor-
faktor yang harus dipertimbangkan untuk menyimpulkan K terbaik.
Bagaimana Kita Memilih Faktor K?
Pertama, coba untuk memahami dengan tepat pengaruh K dalam algoritma. Jika kita melihat
contoh terakhir, mengingat bahwa semua 6 pengamatan pelatihan tetap konstan, dengan nilai
K yang diberikan, kita dapat membuat batas-batas untuk setiap kelas. Batasan-batasan
keputusan ini akan memisahkan RC dari GS. Dengan cara yang sama, mari kita coba untuk
melihat efek dari nilai "K" pada batas-batas kelas. Berikut ini adalah batas-batas yang berbeda
yang memisahkan dua kelas dengan nilai K yang berbeda.
Jika diperhatikan dengan seksama, dapat terlihat bahwa batas menjadi lebih halus dengan
meningkatnya nilai K. Dengan K yang meningkat hingga tak terhingga, akhirnya batas tersebut
akan menjadi biru semua atau merah semua, tergantung pada total mayoritas. Tingkat
kesalahan pelatihan dan tingkat kesalahan validasi adalah dua parameter yang kita perlukan
untuk mengakses nilai K yang berbeda. Berikut ini adalah kurva untuk tingkat kesalahan
pelatihan dengan nilai K yang bervariasi:

tingkat kesalahan pada K=1 selalu nol untuk sampel pelatihan. Hal ini dikarenakan titik
terdekat dengan titik data pelatihan adalah titik itu sendiri, sehingga prediksi selalu akurat
dengan K=1. Jika kurva kesalahan validasi akan serupa, pilihan K kita akan menjadi 1. Berikut
ini adalah kurva kesalahan validasi dengan berbagai nilai K:
Hal ini membuat cerita menjadi lebih jelas. Pada K = 1, kami melakukan overfitting pada batas-
batasnya. Oleh karena itu, tingkat kesalahan pada awalnya menurun dan mencapai titik
minimum. 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 K yang optimal. Nilai
K ini harus digunakan untuk semua prediksi.
Secara sederhana, Cara Kerja Algoritma KNN:
1. Memilih nilai K: Langkah pertama dalam algoritma KNN adalah memilih nilai K,
yang merupakan jumlah tetangga terdekat yang akan dipertimbangkan untuk
mengambil keputusan prediksi. Nilai K dapat dipilih secara empiris atau
menggunakan teknik pemilihan nilai K yang lebih canggih.
2. Menghitung Jarak: Selanjutnya, algoritma menghitung jarak antara data yang akan
diprediksi dengan setiap data dalam set pelatihan. Jarak ini dapat dihitung
menggunakan metrik jarak seperti jarak Euclidean, jarak Manhattan, atau metrik
jarak lainnya tergantung pada jenis data yang digunakan.
3. Menentukan Tetangga Terdekat: Algoritma KNN kemudian mengidentifikasi K
tetangga terdekat dari data yang akan diprediksi berdasarkan jarak yang dihitung
sebelumnya. K tetangga terdekat ini adalah K data dengan jarak terpendek dari data
yang akan diprediksi.
4. Memilih Mayoritas: Setelah K tetangga terdekat ditemukan, algoritma KNN
menghitung frekuensi masing-masing kelas pada tetangga tersebut. Kelas yang
paling sering muncul di antara tetangga terdekat akan diambil sebagai prediksi kelas
untuk data yang akan diprediksi.
5. Mengeluarkan Prediksi: Algoritma KNN mengeluarkan prediksi kelas untuk data
yang akan diprediksi berdasarkan mayoritas kelas pada tetangga terdekat.

Anda mungkin juga menyukai