HITUNGAN MANUAL KLASIFIKASI METODE NAIVE BAYES

by : Kresna Putra Prawiranegara (201531156)

Dataset: Dishonest Internet User Dataset
(source: https://archive.ics.uci.edu/ml/datasets/Dishonest+Internet+users+Dataset )


Keterangan :
  • CT - Counting Trust. Ini digunakan untuk menghitung berapa banyak transaksi yang dapat dipercaya (milik konteks tertentu) terjadi setelah transaksi terakhir yang tidak dapat dipercaya. 
  • CU - Menghitung Tidak Percaya. Ini digunakan untuk menghitung berapa banyak transaksi yang tidak dapat dipercaya (milik konteks tertentu) terjadi setelah transaksi terakhir yang dapat dipercaya. 
  • LT - Terakhir Kali. Ini digunakan untuk memperhitungkan tanggal di mana pengalaman terakhir dalam konteks tertentu terjadi. 
  • TC - Konteks Transaksi. Ini digunakan untuk mengidentifikasi jenis transaksi, seperti game, e-commerce, jejaring sosial dan lainnya. 
  • TS - Skor Kepercayaan. Ini adalah skor yang diberikan suatu entitas kepada entitas lain pada akhir setiap interaksi langsung. 

Hitungan dengan Aplikasi WEKA

Langka pertama yaitu buka aplikasi WEKA , akan tampil seperti gambar diatas. Lalu buka "Explorer" untuk membuka window dibawah ini :

'Open File' untuk membuka file dataset yang akan dihitung


Pilih dataset yang akan dibuka, lalu klik 'Open'


lalu akan tampil preview dari dataset. jika dataset mengandung 'Missing Value' maka masukan filter 'ReplaceMissingValue'. dataset yang digunakan pada contoh ini sudah tidak mengandung missing value. selanjutnya masuk pada tab 'clasify'



pilih clasifier : NaiveBayes

atur test option



  • Use training set = Pengetesan dilakukan dengan menggunakan data training itu sendiri.
  • Supplied test set = Pengetesan dilakukan dengan menggunakan data lain. Dengan menggunakan option inilah, kita bisa melakukan prediksi terhadap data tes. Akan dijelaskan di postingan selanjutnya.
  • Cross-validation = Pada cross-validation, akan ada pilihan berapa fold yang akan digunakan. Nilai default-nya adalah 10. Mekanisme-nya adalah sebagai berikut : Data training dibagi menjadi k buah subset (subhimpunan). Dimana k adalah nilai dari fold. Selanjutnya, untuk tiap dari subset, akan dijadikan data tes dari hasil klasifikasi yang dihasilkan dari k-1 subset lainnya. Jadi, akan ada 10 kali tes. Dimana, setiap datum akan menjadi data tes sebanyak 1 kali, dan menjadi data training sebanyak k-1 kali. Kemudian, error dari k tes tersebut akan dihitung rata-ratanya. 
  • Percentage split = Hasil klasifikasi akan dites dengan menggunakan k% dari data tersebut. k merupakan masukan dari user 
pada contoh menggunakan tes option 'Use Training Set'


pilih kolom klasifikasi


Lalu klik tombol Start.

Hasil Training data :


didapatkan akurasi sebesar 81,98%

Hitungan Manual

diambil sample sebanyak 25 data

TRAINING DATASET


Keterangan kolom TC



Menghitung Probabilitas kelas

P(class) = n(Class1)/total Class
P(class 0) = 9/25
                 = 0,36
P(class 1) = 16/25
                 = 0,64

Menghitung Probabilitas Atribut pada Setiap Kelas

P(X|Ci) = P(attr|class)/n(Class)
CT
p(1|CT) dalam class 0 = 4/9 = 0.44     p(1|CT) dalam class 1 = 5/16 = 0.31
p(2|CT) dalam class 0 = 3/9 = 0.33     p(2|CT) dalam class 1 = 1/16 = 0.06
p(3|CT) dalam class 0 = 0/9 = 0          p(3|CT) dalam class 1 = 1/16 = 0.06
p(4|CT) dalam class 0 = 2/9 = 0.22     p(4|CT) dalam class 1 = 9/16 = 0.56


CU
p(1|CU) dalam class 0 = 5/9 = 0.55     p(1|CU) dalam class 1 = 15/16 = 0.93
p(2|CU) dalam class 0 = 2/9 = 0.22     p(2|CU) dalam class 1 = 0/16 = 0.0
p(3|CU) dalam class 0 = 0/9 = 0          p(3|CU) dalam class 1 = 0/16 = 0.0
p(4|CU) dalam class 0 = 2/9 = 0.22     p(4|CU) dalam class 1 = 1/16 = 0.06


LT
p(1|LT) dalam class 0 = 1/9 = 0.11     p(1|LT) dalam class 1 = 6/16 = 0.38
p(2|LT) dalam class 0 = 3/9 = 0.33     p(2|LT) dalam class 1 = 2/16 = 0.12
p(3|LT) dalam class 0 = 0/9 = 0          p(3|LT) dalam class 1 = 2/16 = 0.12
p(4|LT) dalam class 0 = 5/9 = 0.55     p(4|LT) dalam class 1 = 6/16 = 0.038


TC
p(1TC) dalam class 0 = 2/9 = 0.22     p(1|TC) dalam class 1 = 4/16 = 0.25
p(2|TC) dalam class 0 = 4/9 = 0.44     p(2|TC) dalam class 1 = 0/16 = 0
p(3|TC) dalam class 0 = 0/9 = 0          p(3|TC) dalam class 1 = 6/16 = 0.38
p(4|TC) dalam class 0 = 3/9 = 0.33     p(4|TC) dalam class 1 = 6/16 = 0.038


TESTING DATA

Hasil = P(X|Ci)*P(Ci)

data nomor 1
CT = 4, CU = 1, LT = 4, TC = 1
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(4|LT class0) * p(1|TC class0)
= 0,36 * 0,22 * 0,55 * 0,55 * 0,22
= 0,005
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(4|LT class1) * p(1|TC class1)
= 0,64 * 0,56 * 0,93 * 0,38 * 0,25
=0,031 salah

data nomor 2
CT = 1, CU = 2, LT = 4, TC = 2
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(2|CU class0) * p(4|LT class0) * p(2|TC class0)
= 0,36 * 0,44 * 0,22 * 0,55 * 0,44
= 0,018
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(2|CU class1) * p(4|LT class1) * p(2|TC class1)
= 0,64 * 0,31 * 0 * 0,38 * 0
=0

data nomor 3
CT = 1, CU = 2, LT = 4, TC = 2
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(2|CU class0) * p(4|LT class0) * p(2|TC class0)
= 0,36 * 0,44 * 0,22 * 0,55 * 0,44
0,018
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(2|CU class1) * p(4|LT class1) * p(2|TC class1)
= 0,64 * 0,31 * 0 * 0,38 * 0
=0

data nomor 4
CT = 1, CU = 4, LT = 4, TC = 2
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(4|CU class0) * p(4|LT class0) * p(2|TC class0)
= 0,36 * 0,44 * 0,22 * 0,55 * 0,44
0,008
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(4|CU class1) * p(4|LT class1) * p(2|TC class1)
= 0,64 * 0,31 * 0,06 * 0,38 * 0
=0

data nomor 5
CT = 2, CU = 1, LT = 2, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(2|CT class0) * p(1|CU class0) * p(2|LT class0) * p(4|TC class0)
= 0,36 * 0,33 * 0,55 * 0,33 * 0,55
0,011
probabilitas pada kelas 1 :
p(Class 1) * p(2|CT class1) * p(1|CU class1) * p(2|LT class1) * p(4|TC class1)
= 0,64 * 0,06 * 0,93 * 0,13 * 0,38
=0,002

data nomor 6
CT = 1, CU = 4, LT = 1, TC = 2
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(4|CU class0) * p(1|LT class0) * p(2|TC class0)
= 0,36 * 0,44 * 0,22 * 0,11 * 0,44
0,002
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(4|CU class1) * p(1|LT class1) * p(2|TC class1)
= 0,64 * 0,31 * 0,06 * 0,38 * 0
=0

data nomor 7
CT = 2, CU = 1, LT = 2, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(2|CT class0) * p(1|CU class0) * p(2|LT class0) * p(4|TC class0)
= 0,36 * 0,33 * 0,55 * 0,33 * 0,55
0,011
probabilitas pada kelas 1 :
p(Class 1) * p(2|CT class1) * p(1|CU class1) * p(2|LT class1) * p(4|TC class1)
= 0,64 * 0,06 * 0,93 * 0,13 * 0,38
=0,002

data nomor 8
CT = 4, CU = 1, LT = 4, TC = 1
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(4|LT class0) * p(1|TC class0)
= 0,36 * 0,22 * 0,55 * 0,55 * 0,22
= 0,005
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(4|LT class1) * p(1|TC class1)
= 0,64 * 0,56 * 0,93 * 0,38 * 0,25
=0,031 salah

data nomor 9
CT = 2, CU = 1, LT = 2, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(2|CT class0) * p(1|CU class0) * p(2|LT class0) * p(4|TC class0)
= 0,36 * 0,33 * 0,55 * 0,33 * 0,55
0,011
probabilitas pada kelas 1 :
p(Class 1) * p(2|CT class1) * p(1|CU class1) * p(2|LT class1) * p(4|TC class1)
= 0,64 * 0,06 * 0,93 * 0,13 * 0,38
=0,002

data nomor 10
CT = 4, CU = 1, LT = 4, TC = 1
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(4|LT class0) * p(1|TC class0)
= 0,36 * 0,22 * 0,55 * 0,55 * 0,22
= 0,005
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(4|LT class1) * p(1|TC class1)
= 0,64 * 0,56 * 0,93 * 0,38 * 0,25
=0,031

data nomor 11
CT = 1, CU = 4, LT = 4, TC = 1
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(4|CU class0) * p(4|LT class0) * p(1|TC class0)
= 0,36 * 0,44 * 0,22 * 0,55 * 0,22
= 0,004 salah
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(4|CU class1) * p(4|LT class1) * p(1|TC class1)
= 0,64 * 0,31 * 0,06 * 0,38 * 0,25
=0,001

data nomor 12
CT = 4, CU = 1, LT = 2, TC = 3
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(2|LT class0) * p(3|TC class0)
= 0,36 * 0,22 * 0,55 * 0,33 * 0
= 0
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(2|LT class1) * p(3|TC class1)
= 0,64 * 0,56 * 0,93 * 0,13 * 0,38
=0,016

data nomor 13
CT = 4, CU = 1, LT = 2, TC = 3
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(2|LT class0) * p(3|TC class0)
= 0,36 * 0,22 * 0,55 * 0,33 * 0
= 0
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(2|LT class1) * p(3|TC class1)
= 0,64 * 0,56 * 0,93 * 0,13 * 0,38
=0,016

data nomor 14
CT = 4, CU = 1, LT = 1, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(1|LT class0) * p(4|TC class0)
= 0,36 * 0,22 * 0,55 * 0,11 * 0,33
= 0,002
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(1|LT class1) * p(4|TC class1)
= 0,64 * 0,56 * 0,93 * 0,38 * 0,38
=0,048

data nomor 15
CT = 4, CU = 1, LT = 1, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(1|LT class0) * p(4|TC class0)
= 0,36 * 0,22 * 0,55 * 0,11 * 0,33
= 0,002
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(1|LT class1) * p(4|TC class1)
= 0,64 * 0,56 * 0,93 * 0,38 * 0,38
=0,048

data nomor 16
CT = 4, CU = 1, LT = 4, TC = 3
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(4|LT class0) * p(3|TC class0)
= 0,36 * 0,22 * 0,55 * 0,55 * 0
= 0
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(4|LT class1) * p(3|TC class1)
= 0,64 * 0,56 * 0,93 * 0,38 * 0,38
=0,048

data nomor 17
CT = 4, CU = 1, LT = 4, TC = 3
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(4|LT class0) * p(3|TC class0)
= 0,36 * 0,22 * 0,55 * 0,55 * 0
= 0
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(4|LT class1) * p(3|TC class1)
= 0,64 * 0,56 * 0,93 * 0,38 * 0,38
=0,048

data nomor 18
CT = 1, CU = 1, LT = 1, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(1|CU class0) * p(1|LT class0) * p(4|TC class0)
= 0,36 * 0,44 * 0,55 * 0,11 * 0,33
= 0,003
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(1|CU class1) * p(1|LT class1) * p(4|TC class1)
= 0,64 * 0,31 * 0,93 * 0,38 * 0,38
=0,026

data nomor 19
CT = 1, CU = 1, LT = 1, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(1|CU class0) * p(1|LT class0) * p(4|TC class0)
= 0,36 * 0,44 * 0,55 * 0,11 * 0,33
= 0,003
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(1|CU class1) * p(1|LT class1) * p(4|TC class1)
= 0,64 * 0,31 * 0,93 * 0,38 * 0,38
=0,026

data nomor 20
CT = 1, CU = 1, LT = 1, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(1|CU class0) * p(1|LT class0) * p(4|TC class0)
= 0,36 * 0,44 * 0,55 * 0,11 * 0,33
= 0,003
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(1|CU class1) * p(1|LT class1) * p(4|TC class1)
= 0,64 * 0,31 * 0,93 * 0,38 * 0,38
=0,026

data nomor 21
CT = 2, CU = 1, LT = 4, TC = 1
probabilitas pada kelas 0 :
p(Class 0) * p(2|CT class0) * p(1|CU class0) * p(4|LT class0) * p(1|TC class0)
= 0,36 * 0,33 * 0,55 * 0,55 * 0,22
= 0,007 salah
probabilitas pada kelas 1 :
p(Class 1) * p(2|CT class1) * p(1|CU class1) * p(4|LT class1) * p(1|TC class1)
= 0,64 * 0,06 * 0,93 * 0,38 * 0,25
=0,003

data nomor 22
CT = 3, CU = 1, LT = 4, TC = 1
probabilitas pada kelas 0 :
p(Class 0) * p(3|CT class0) * p(1|CU class0) * p(4|LT class0) * p(1|TC class0)
= 0,36 * 0 * 0,55 * 0,55 * 0,22
= 0
probabilitas pada kelas 1 :
p(Class 1) * p(3|CT class1) * p(1|CU class1) * p(4|LT class1) * p(1|TC class1)
= 0,64 * 0,06 * 0,93 * 0,38 * 0,25
=0,003

data nomor 23
CT = 4, CU = 1, LT = 3, TC = 3
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(3|LT class0) * p(3|TC class0)
= 0,36 * 0,22 * 0,55 * 0 * 0
= 0
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(3|LT class1) * p(3|TC class1)
= 0,64 * 0,56 * 0,93 * 0,13 * 0,38
=0,016

data nomor 24
CT = 4, CU = 1, LT = 3, TC = 3
probabilitas pada kelas 0 :
p(Class 0) * p(4|CT class0) * p(1|CU class0) * p(3|LT class0) * p(3|TC class0)
= 0,36 * 0,22 * 0,55 * 0 * 0
= 0
probabilitas pada kelas 1 :
p(Class 1) * p(4|CT class1) * p(1|CU class1) * p(3|LT class1) * p(3|TC class1)
= 0,64 * 0,56 * 0,93 * 0,13 * 0,38
=0,016

data nomor 25
CT = 1, CU = 1, LT = 1, TC = 4
probabilitas pada kelas 0 :
p(Class 0) * p(1|CT class0) * p(1|CU class0) * p(1|LT class0) * p(4|TC class0)
= 0,36 * 0,44 * 0,55 * 0,11 * 0,33
= 0,003
probabilitas pada kelas 1 :
p(Class 1) * p(1|CT class1) * p(1|CU class1) * p(1|LT class1) * p(4|TC class1)
= 0,64 * 0,31 * 0,93 * 0,38 * 0,38
=0,026


===KESIMPULAN===
Nilai akurasi yang dihasilkan dari perhitungan metode ini adalah 81,98%


Jika data di ujikan dengan metode lain yaitu zeroR (C 4.5) akan menghasilkan nilai akurasi 69,87%

Komentar

Postingan populer dari blog ini

HIRARKI CHOMSKY

PENGANTAR TEORI BAHASA DAN OTOMATA