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 :
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 :
- COUNTIF(L4:L152;"Iris-setosa"),
- COUNTIF(L4:L152;"Iris-versicolor"), dan
- 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 😁😁
EmoticonEmoticon