Mengambil Nilai Jarak Terdekat
Pyesno = |doc j| |Contoh|
for int k = 0; k numClasses; k++ { double denominator = freq[k];
double classScore2 = freq[k]numInstances; Pada bagian kode program diatas adalah implementasi dari hitung probabilitas
nilai kelas yang akan dibandingkan dan akan diulang sebanyak jumlah kelas dalam kasus ini diulang dua kali karena kelas yang dibandingkan adalah dua yes dan no.
Kemudian setelah menghitung probabilitas nilai kelas selanjutnya sistem akan menghitung nilai dari kelas pembanding lainnya dengan menggunakan rumus:
PWk|Vj= Nk+1 N+|vocabulary|
Kemudian mengkalikan seluruh probabilitas kelas pembanding untuk kategori yes dan no untuk mendapatkan likelihood yang nantinya akan dibandingkan.
for Object key : featureName_HT.keySet { int featureName = Integer key;
int numValues = featureName_HT.getfeatureName.size; Double featureValue = getInstValuefeatureName, inst;
double numerator = featureName_HT.getfeatureName.get featureValue.getCountClassk;
Laplace correction classScore2 = numerator+1denominator+numValues;
} Pada bagian ini sistem menghitung probabilitas kelas pembanding yang muncul
dan mengkalikan seluruhnya untuk mendapatkan nilai likelihood, kemudian sistem menormalisasi nilai likelihoss agar berbentuk probabilitas dengan cara likelihood yes
ataupun no dibagi hasil total dari penjumlahan hasil perkalian likelihood yes dan no. out.putclasses[k], classScore2;
total = total +classScore2; }
for int l = 0; l classes.length; l++ { double classScore2 = out.getclasses[l];
out.putclasses[l], classScore2total; }
return out; }
Kemudian setelah mendapat nilai probabilitas barulah dibandingkan, kemudian sistem akan mengembalikan nilai probabilitas tertinggi sebagai hasil akhir klasifikasi.
public Object classifyInstance instance { MapObject, Double distribution = KelasDistribusiinstance;
double max = 0; Object out = null;
for Object key : distribution.keySet { if distribution.getkey max {
max = distribution.getkey; out = key;
} }
return out; }