Menghitung Euclidean Distance Algoritma K-Nearest Neighbor

FrekuensiKelas[i] = 0; setting frekuensi kelas menjadi 0 } Selanjutnya dilakukan perulangan untuk setiap data yang muncul sesuai dengan kategori tertentu yang dipanggil maka frekuensi kelas akan otomatis bertambah 1. for Instance inst : Instances2Train { FrekuensiKelas[Classname2IndexCCountermap.getinst.classValue]++; } return FrekuensiKelas; } Pada kode program di atas sistem akan menambahkan satu setiap ada kelas pembanding yang muncul hal ini dapat dilakukan karena Classname2IndexCCountermap bisa mendeteksi kepemilikan kelas pada nilai kelas pembanding sehingga ketika nilai keluar maka pada kelas pemilik sistem akan menambahkan nilai satu. for Object o : trainingData.classes { String classname = o.toString; Classname2IndexCCountermap.putclassname, cnt; classes[cnt] = classname; cnt++; } Pada kode program diatas sistem membuat nama untuk setiap nilai kelas pembanding pada setiap data training, sehingga ketika dipanggil sistem akan menambah nilai frekuensi kelas data tersebut. Kemudian langkah selanjutnya adalah menghitung probabilitas masing-masing kelas.

4.3.2.2 Menghitung Probabilitas Kelas

Langkah kedua adalah menghitung probabilitas kelas dari masing – masing kelas. Dalam proses klasifikasi naive bayes perhitungan probabilitas kelas dihitung dengan menggunakan rumus sebagai berikut: PWk|Vj= Nk+1 N+|vocabulary| Rumus tersebut yang akan diimplementasikan dalam kode program ini. Langkah pertama adalah membuat sebuah array untuk menyimpan nilai frekuensi dan probabilitas, kemudian lakukan iterasi sebanyak jumlah kelas lakukan perhitungan probabilitas. Berikut adalah kode programnya: private double[] HitungProbsKelas { double[] probs = trainResult.getClassFreqs.clone; menyimpan probabilitas kelas double[] freq = trainResult.getClassFreqs.clone; for int k = 0; k numClasses; k++ { probs[k] = freq[k] + 1 numInstances + numClasses; } return probs; }

4.3.2.3 Menghitung Kelas Distribusi Naïve Bayes

Langkah ketiga adalah menghitung probabilitas likehood dari naive bayes dengan mengkalikan semua probabilitas kelas, kemudian menormalisasi hasil likehood ke dalam bentuk probabilitas, dan kemudian membandingkan probabilitas kelas yang dibandingkan untuk mendapatkan hasil akhir dari klasifikasi. Yang pertama dilakukan adalah membuat suatu tempat penyimpanan atau map untuk menyimpan nilai frekuensi, fitur tabel dan menyimpan hasil klasifikasi. HashMapObject, Double out = new HashMapObject, DoublenumClasses; menyimpan hasil klasifikasi HashtableInteger, HashtableDouble, ClassCounter featureName_HT = trainResult.getFeatureTable; menyimpan fitur tabel double[] freq = trainResult.getClassFreqs.clone; double total = 0; Kemudian langkah selanjutnya adalah menghitung probabilitas nilai kelas yang akan dibandingkan yes atau no dengan menggunakan rumus: