Implementasi K-Nearest Neighbour Dengan Optimasi Simple Unweighted Voting Menggunakan PHP
Table of Contents
Algoritma k-nearest neighbor (k-NN atau KNN) adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut. Metode ini populer sebagai salah satu metode clustering dalam data mining. Saya sarankan agar teman-teman mencari sendiri saja bagaimana teori dari K-NN ini, karena saya langsung to the point untuk membahas coding-nya.
Baiklah, saya sengaja lampirkan source code ini menggunakan pemrograman PHP untuk mempermudah teman-teman yang sedang melakukan penelitian dengan metode ini. Saya mengharapkan agar contoh coding k-NN ini dapat teman-teman kembangkan menjadi lebih baik. Metode ini juga sukses saya terapkan pada penelitian Sistem Informasi Prediksi Harga Kebutuhan Pokok Nasional beberapa waktu yang lalu.
Berikut ini adalah lampiran source code K-NN dengan optimasi Simple Unweighted Voting :
Baiklah, saya sengaja lampirkan source code ini menggunakan pemrograman PHP untuk mempermudah teman-teman yang sedang melakukan penelitian dengan metode ini. Saya mengharapkan agar contoh coding k-NN ini dapat teman-teman kembangkan menjadi lebih baik. Metode ini juga sukses saya terapkan pada penelitian Sistem Informasi Prediksi Harga Kebutuhan Pokok Nasional beberapa waktu yang lalu.
Berikut ini adalah lampiran source code K-NN dengan optimasi Simple Unweighted Voting :
Keluaran dari program diatas adalah menghasilkan data training yang ditampilkan sebelum hasil perhitungan K-NN. Data training adalah data sampel berupa harga bawang merah berdasarkan 4 parameter utama yaitu Inflasi, Pertukaran rupiah terhadap dollar, PDB dan Uang beredar berjumlah 11 data (indeks 0 hingga 10), dalam penelitian sebenarnya maka data yang digunakan haruslah berjumlah banyak (big data), minimal 100 data agar hasil perhitungan lebih mendekati akurat.
data training pada coding, indeks 10 digunakan sebagai data testing |
Data Training dimunculkan kembali pada hasil keluaran program |
Hasil perhitungan K-NN dan Simple Unweighted Voting |
Data testing adalah data yang digunakan sebagai data latih untuk memprediksi harga bawang merah, yaitu data indeks ke 10 pada data training, dengan menghasilkan keluaran tetangga terdekat sebanyak 3 data. Perhitungan tetangga terdekat adalah hasil perhitungan oleh jarak euclidean terhadap data training dan testing, menghasilkan 3 tetangga terdekat pada indeks ke 3, 8 dan 9. Jadi, indeks ke 3, 8 dan 9 yang masing-masing harga bawang merahnya adalah 36579, 35256, dan 34750 dianggap sebegai representasi prediksi harga bawang merah berdasarkan input data indeks ke 10.
Langkah terakhir adalah penentuan optimasi Simple Unweighted Voting. Adapun langkah kerja untuk menentukan optimasi tersebut adalah :
Sehingga, perhitungan optimasi dapat diperoleh dengan merata-rata harga tetangga terdekat, yaitu 36579, 35256, dan 34750. Maka diperoleh prediksi akhir bawang merah dengan harga 35528.33. Cukup mudah bukan ! Silakan teman-teman kembangkan dengan contoh data pada studi kasus yang lain.
Baiklah, sekian penjelasan dari implementasi K-NN dan Optimasi Simple Unweighted Voting. Semoga dapat memberikan sedikit pencerahan kepada teman-teman.
Referensi : kode KNN saya nukil dan modifikasi dari www.sitepoint.com
Referensi : kode KNN saya nukil dan modifikasi dari www.sitepoint.com
:v :v