Algortma KNN Part 2

Selamat sore menjelang maghrib kawan", kali ini sy mau lanjutin tutorial algoritma K-NN (Nearest Neighbor). Kali ini berbasis excel tidak seperti tutorial sebelumnya menggunakan bahasa pemrograman Javascript,

Baiklah disini kita siapkan datanya dahulu , dalam Data Mining, disebut dengan berbagai macam istilah atau penyebutan antara lain : Data Set, Data Sample. Jadi jangan sampai bingung

disini sy menggunakan 149 sample data set, file terlampir dibawah beserta programnya :


Kemudian tentukan data ujinya atau data yang akan dicari nilai prediksinya :


Ingat, harus sesuai dengan jumlah kolom dari data set nya. 

Setelah itu, hitung kaidah rumus Ecludien Distance (mirip kayak phytagoras sih, bagi yg gatau) untuk mencari jarak terdekat dari tiap-tiap baris.

kalau di excel rumusnya begini :


Setiap kurungnya atau (.....) menggambarkan banyaknya Feature (bahasanya di data mining) atau jumlah kolom yang ada, langsung saja berikut hasilnya :


Setelah menghitung jarak (Distance) dengan Ecludien Distance selanjutnya kita lakukan perangkingan untuk melihat data dari terkecil ke terbesar dahulu dengan rumus berikut (di excel) :


Meskipun tanpa diranking juga tidak apa-apa, sy cuman mau kasih tau caranya doang. Nilai mana yg terbesar sampai terkecil 😂

Yang terpenting berada ditahap ini nih, penentuan tetangga terdekatnya (Nearest Neighbor), kita tulis dulu rumus ini :
Cara bacanya seperti ini :
  • Jika N3 (nilai Distance atau jarak Ecludien) kurang dari sama dengan nilai yg paling kecil (small) pada array pada kolom Distance awal sampai akhir ($N$3:$N$151), $R$3 merupakan posisi pengurutan (dari yg terkecil) didalam array atau rentang data yang ingin dikembalikan kalau di K-NN disebut nilai K
  • Baru E3, jika ya hasilnya akan dikembalikan dari kolom E3, sehingga dikembalikan dalam bentuk variabel seperti Iris-setosa seperti digambar diatas.

Setelah itu, kita tentukan nilai seperti berikut ini :


Oh ya sy jelaskan satu-satu, pada tabel Jumlah Per Kelas nilai 0 menggunakan rumus  : 
  1. COUNTIF(L4:L152;"Iris-setosa"), 
  2. COUNTIF(L4:L152;"Iris-versicolor"), dan 
  3. COUNTIF(L4:L152;"Iris-virginica")
yang fungsinya untuk menghitung banyaknya data sesuai kriteria, kriterianya dituliskan pada petik dua dibelakangnya "Iris-setosa" dst.

Max 0, menggunakan rumus MAX(Q6:Q8) untuk mendapatkan nilai terbesar karena kita menggunakan algoritma K-NN yang mirip voting, jadi perlu mencari nilai terbesarnya

Selanjutnya kita tentukan masukkan rumus penentuan prediksi K-NN nya, gambarannya seperti berikut ini :

Prediksi berisi rumus VLOOKUP(R9;Q6:R8;2;FALSE) penjelasan singkatnya, untuk mencocokkan nilai dari MAX kemudian dicari kecocokan pada nilai baris Iris-setosa, Iris-versicolor, dan Iris-virginica. (penjelasan vlookup)

Sehingga ketika nilai yang didapatkan ketemu, maka resultnya berupa Iris-setosa atau Iris-versicolor atau Iris-virginica. Untuk nilai FALSE dibelakangnya nantinya jika terdapat nilai yang sama akan dipilih dari atas. coba ubah ke TRUE, dan pastikan ada nilai yang sama dengan merubah K=149, pasti hasil prediksi menjadi Iris-versicolor bukan Iris-setosa


Berikut link download file tersebut : mbah gugel

Jika ada yg kurang faham silahkan tulis komentar anda dibawah, karna komentar tidak bayar krna yg bayar adalah makan di warung 😁😁
 

Samudra ilmu tidak akan bisa diarungi selagi hanya berpaku pada satu pijakan saja 



Artikel Terkait

Saya seorang yg bercita-cita menjadi pebisnis aplikasi ternama di Indonesia


EmoticonEmoticon