Algoritma K Nearest Neighbor (KNN)

 Pengertian

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.

Secara umum, cara kerja algoritma KNN adalah sebagai berikut.

1.Tentukan jumlah tetangga (K) yang akan digunakan untuk pertimbangan penentuan kelas.

2.Hitung jarak dari data baru ke masing-masing data point di dataset.

3.Ambil sejumlah K data dengan jarak terdekat, kemudian tentukan kelas dari data baru tersebut.

Contoh Penerapan K-Nearest Neighbor Pada Kehidupan Sehari Hari

Berikut adalah beberapa contoh penerapan di mana algoritma k-nearest neighbor dapat digunakan:

             Peringkat kredit: Algoritma KNN membantu menentukan peringkat kredit individu dengan membandingkannya dengan individu yang memiliki karakteristik serupa.

             Persetujuan pinjaman: Mirip dengan peringkat kredit, algoritma k-nearest neighbor bermanfaat dalam mengidentifikasi individu yang cenderung gagal membayar pinjaman dengan membandingkan sifat mereka dengan individu serupa.

             Preprocessing data: Dataset dapat memiliki banyak nilai yang hilang. Algoritma KNN bisa digunakan untuk proses yang disebut missing data imputation yang memperkirakan nilai-nilai yang hilang.

             Pengenalan pola: Kemampuan algoritma KNN untuk mengidentifikasi pola sangat bermanfaat untuk beberapa bidang. Misalnya, membantu mendeteksi pola penggunaan kartu kredit dan menemukan pola yang tidak biasa. Deteksi pola juga berguna dalam mengidentifikasi pola dalam perilaku pembelian pelanggan.

             Prediksi harga saham: Karena algoritma KNN memiliki kemampuan untuk memprediksi nilai entitas yang tidak diketahui, ini berguna dalam memprediksi nilai saham di masa mendatang berdasarkan data historis.

             Sistem rekomendasi: Karena KNN dapat membantu menemukan pengguna dengan karakteristik serupa, KNN dapat digunakan dalam sistem rekomendasi. Misalnya, dapat digunakan dalam platform streaming video online untuk menyarankan konten yang kemungkinan besar akan ditonton oleh pengguna dengan menganalisis apa yang ditonton oleh pengguna serupa.

             Visi komputer: Algoritma KNN digunakan untuk klasifikasi gambar. Karena mampu mengelompokkan titik data yang serupa, misalnya, mengelompokkan kucing dan anjing di kelas yang berbeda, ini berguna dalam beberapa aplikasi visi komputer.

Kelebihan dan Kekurangan dari Algoritma K-Nearest Neighbor

Kelebihan :

1. Mudah diterapkan

Mengingat kesederhanaan dan akurasi algoritma, KNN merupakan salah satu pengklasifikasi pertama yang sebaiknya dipelajari oleh data scientist pemula.

2. Mudah beradaptasi

Saat sampel training baru ditambahkan, algoritma KNN menyesuaikan untuk ikut memperhitungkan data baru karena semua data pelatihan disimpan ke dalam memori.

3. Memiliki sedikit hyperparameter

KNN hanya membutuhkan nilai k dan metrik jarak, yang relatif lebih sedikit jika dibandingkan dengan algoritma machine learning lainnya.

Kekurangan :

1. Tidak berfungsi dengan baik pada dataset berukuran besar

Untuk dataset berukuran besar, cost untuk menghitung jarak antara titik baru dan setiap titik yang ada sangat besar dan cenderung menurunkan kinerja algoritma.

2. Kurang cocok untuk dimensi tinggi

Algoritma KNN tidak bekerja dengan baik pada data berdimensi tinggi karena dengan jumlah dimensi yang besar, menjadi sulit bagi algoritma untuk menghitung jarak di setiap dimensi.

3. Perlu penskalaan fitur

Kita perlu melakukan penskalaan fitur (standarisasi dan normalisasi) sebelum menerapkan algoritma KNN ke kumpulan data apa pun. Jika kita tidak melakukannya, KNN dapat menghasilkan prediksi yang salah.

4. Sensitif terhadap noise data, missing values dan outliers

KNN sensitif terhadap noise dalam dataset. Kita perlu secara manual memasukkan nilai yang hilang dan menghapus outlier.

Penerapan Algoritma Pada Phyton













Comments