menambah satu +1 pada nilai yang dimiliki oleh jarak terdekat. Penambahan nilai satu pada value yang dimiliki jarak terdekat bertujuan agar pada saat perbandingan
probabilitas sistem akan memilih atau mengambil nilai yang dimiliki oleh jarak terdekat sebagai nilai hasil dari klasifikasi. Berikut adalah kode programnya:
SetInstance neighbors = training.kNearestk, instance, dm; menyimpan hasil jarak terdekat
Membangun kelas distribusi HashMapObject, Double out = new HashMapObject, Double;
menyimpan hasil klasifikasi for Object o : training.classes{
Selama o bagian dari data training out.puto, 0.0;
set nilai kelasnya menjadi 0 for Instance i : neighbors {
selama I bagian dari jarak terdekat out.puti.classValue, out.geti.classValue + 1;
set nilai kelas menjadi 1 }
return out; kembalikan nilai out
Setelah didapatkan nilai satu untuk nilai kelas yang dibandingkan maka sistem akan membandingkan nilai tersebut untuk menentukan hasil akhir klasifikasi. Berikut
adalah kode program untuk membandingkan nilai. 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; }
Pada method ini sistem akan membandingkan nilai kelas yang telah diberi bobot pada method KelasDistribusi, misalnya: nilai jarak terdekat adalah yes maka yes akan
diberi nilai 1 dan no akan diberi nilai 0 maka method ini akan mengeluarkan yes sebagai hasil dari klasifikasi.
4.3.2 Algoritma Naive Bayes
Dalam implementasi algoritma ini akan dijelaskan beberapa proses dalam perhitungan Naive Bayes dalam klasifikasi teks. Langkah
– langkah yang dilakukan dalam proses klasifikasi teks dengan Naïve Bayes adalah 1 menghitung frekuensi
kelas, baik kelas yang dibandingkan maupun kelas pembanding, 2 menghitung probabilitas kelas, baik kelas yang dibandingkan maupun kelas pembanding, 3
menghitung nilai likelihood dengan mengkalikan semua probabilitas kelas, 4 menormalisasikan nilai likehood ke dalam bentuk probabilitas, dan 5 membandingkan
nilai probabilitas likehood dan nilai yang tertinggi dijadikan hasil akhir dari klasifikasi.
4.3.2.1 Menghitung Frekuensi Kelas
Langkah pertama adalah menghitung frekuensi kelas. Frekuensi disini adalah banyaknya sebuah data dalam kategori tertentu, penulis mengambil contoh untuk data
buys_computer yang telah dibahas di bab sebelumnya adalah banyaknya pembeli berusia 30 tahun yang membeli komputer atau banyaknya pembeli yang masih pelajar
yang membeli komputer dan seterusnya. Langkah pertama adalah menyimpan nilai dari frekuensi kelas kedalam sebuah
array double. double[] FrekuensiKelas = new double[numClasses];
menyimpan jumlah frekuensi kelas Kemudian pada bagian selanjutnya dilakukan perulangan sebanyak jumlah kelas
yang dimiliki oleh data kanker, kemudian setting nilai frekuensi kelas menjadi 0. for int i = 0; i numClasses; i++ {
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|