Menulis Ulang Teks di dalam Sistem

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|