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: