3. Naive Bayes
• Simple Naive Bayesian Classifier merupakan salah
satu metode klasifikasi berpeluang sederhana yang
berdasarkan pada penerapan Teorema Bayes dengan
asumsi antar variabel penjelas saling bebas
(independen).
• Algoritma ini memanfaatkan metode probabilitas dan
statistik yang dikemukakan oleh ilmuwan Inggris
Thomas Bayes, yaitu memprediksi probabilitas di masa
depan berdasarkan pengalaman di masa sebelumnya.
4. Naive Bayes
• Dua kelompok peneliti, satu oleh Pantel dan Lin, dan yang
lain oleh Microsoft Research memperkenalkan metode
statistik Bayesian ini pada teknologi anti spam filter.
• Tetapi yang membuat algoritma Bayesian filtering ini
popular adalah pendekatan yang dilakukan oleh Paul
Graham. Dasar dari teorema naive digunakan dalam
pemrograman adalah rumus Bayes berikut ini:
P (A|B) = (P(B|A) * P(A))/P(B)
Artinya Peluang kejadian A sebagai B ditentukan dari
peluang B saat A, peluang A, dan peluang B.
6. Mengapa Naive Bayes?
• Penggolong statistik: melakukan prediksi probabilistik,
mis., Memprediksi probabilitas keanggotaan kelas
• Foundation: Berdasarkan teorema Bayes.
• Kinerja: Pengklasifikasi Bayesian sederhana,
Pengklasifikasi naïve Bayesian, memiliki kinerja yang
sebanding dengan pohon keputusan dan
pengklasifikasi neural network terpilih
7. 1. Baca Data Training
2. Hitung jumlah class
3. Hitung jumlah kasus yang sama dengan class
yang sama
4. Kalikan semua nilai hasil sesuai dengan data X
yang dicari class-nya
Tahapan Algoritma Naïve Bayes
9. – X Data dengan class yang belum diketahui
– H Hipotesis data X yang merupakan suatu class yang lebih
spesifik
– P (H|X) Probabilitas hipotesis H berdasarkan kondisi X
(posteriori probability)
– P (H) Probabilitas hipotesis H (prior probability)
– P (X|H) Probabilitas X berdasarkan kondisi pada hipotesis H
– P (X) Probabilitas X
Teorema Bayes
)
(
/
)
(
)
|
(
)
(
)
(
)
|
(
)
|
( X
X
X
X
X P
H
P
H
P
P
H
P
H
P
H
P
10. • Terdapat 2 class dari data training tersebut, yaitu:
– C1 (Class 1) Play = yes 9 record
– C2 (Class 2) Play = no 5 record
– Total = 14 record
• Maka:
– P (C1) = 9/14 = 0.642857143
– P (C2) = 5/14 = 0.357142857
• Pertanyaan:
– Data X = (outlook=rainy, temperature=cool, humidity=high,
windy=true)
– Main golf atau tidak?
2. Hitung jumlah class/label
11. • Untuk P(Ci) yaitu P(C1) dan P(C2) sudah diketahui
hasilnya di langkah sebelumnya.
• Selanjutnya Hitung P(X|Ci) untuk i = 1 dan 2
– P(outlook=“sunny”|play=“yes”)=2/9=0.222222222
– P(outlook=“sunny”|play=“no”)=3/5=0.6
– P(outlook=“overcast”|play=“yes”)=4/9=0.444444444
– P(outlook=“overcast”|play=“no”)=0/5=0
– P(outlook=“rainy”|play=“yes”)=3/9=0.333333333
– P(outlook=“rainy”|play=“no”)=2/5=0.4
3. Hitung jumlah kasus yang sama dengan
class yang sama
12. • Jika semua atribut dihitung, maka didapat hasil
akhirnya seperti berikut ini:
3. Hitung jumlah kasus yang sama dengan
class yang sama
Atribute Parameter No Yes
Outlook value=sunny 0.6 0.2222222222222222
Outlook value=cloudy 0.0 0.4444444444444444
Outlook value=rainy 0.4 0.3333333333333333
Temperature value=hot 0.4 0.2222222222222222
Temperature value=mild 0.4 0.4444444444444444
Temperature value=cool 0.2 0.3333333333333333
Humidity value=high 0.8 0.3333333333333333
Humidity value=normal 0.2 0.6666666666666666
Windy value=false 0.4 0.6666666666666666
Windy value=true 0.6 0.3333333333333333
13. • Pertanyaan:
– Data X = (outlook=rainy, temperature=cool, humidity=high,
windy=true) ; Main Golf atau tidak?
• Kalikan semua nilai hasil dari data X
– P(X|play=“yes”) = 0.333333333 * 0.333333333 * 0.333333333 *
0.333333333 = 0.012345679
– P(X|play=“no”) = 0.4*0.2*0.8*0.6 = 0.0384
– P(X|play=“yes”)*P(C1) = 0.012345679 * 0.642857143 = 0.007936508
– P(X|play=“no”)*P(C2) = 0.0384 * 0.357142857 = 0.013714286
• Nilai “no” lebih besar dari nilai “yes” maka class dari data X
tersebut adalah “No” 13
4. Kalikan semua nilai hasil sesuai dengan
data X yang dicari class-nya
14. Contoh Kasus (1)
• Misalnya ingin diketahui apakah suatu objek
masuk dalam ketegori dipilih untuk perumahan
atau tidak dengan algoritma Naive Bayes
Classifier. Untuk menetapkan suatu daerah
akan dipilih sebagai lokasi untuk mendirikan
perumahan, telah dihimpun 10 aturan.
15. Contoh Kasus (1)
• Ada 4 atribut yang digunakan, yaitu:
– harga tanah per meter persegi (C1),
– jarak daerah tersebut dari pusat kota (C2),
– ada atau tidaknya angkutan umum di daerah
tersebut (C3), dan
– keputusan untuk memilih daerah tersebut sebagai
lokasi perumahan (C4).
17. Contoh kasus (1)
• Probabilitas kemunculan setiap nilai untuk atribut
Harga Tanah (C1)
18. Contoh Kasus (1)
• Probabilitas kemunculan setiap nilai untuk atribut Jarak
dari Pusat Kota (C2)
19. Contoh Kasus (1)
• Probabilitas kemunculan setiap nilai untuk atribut Ada
Angkutan Umum (C3)
20. Contoh Kasus (1)
• Probabilitas kemunculan setiap nilai untuk atribut
Dipilih untuk perumahan (C4)
21. Contoh Kasus (1)
• Test Set: Berdasarkan data tersebut, apabila diketahui
suatu daerah dengan harga tanah MAHAL, jarak dari
pusat kota SEDANG, dan ADA angkutan umum, maka
dapat dihitung:
YA = P(Ya|Tanah = MAHAL) . P(Ya|Jarak = SEDANG)
.P(Ya|Angkutan = ADA). P(Ya)= 1/5 x 2/5 x 1/5 x 5/10 =
2/125 = 0,008
TIDAK = P(Tidak| Tanah = MAHAL) . P(Tidak|Jarak =
SEDANG) .P(Tidak|Angkutan = ADA) . P(Tidak)= 3/5 x 1/5
x 3/5 x 5/10 = 2/125 = 0,036
22. Contoh Kasus (1)
• Nilai probabilitas dapat dihitung dengan melakukan
normalisasi terhadap likelihood tersebut sehingga
jumlah nilai yang diperoleh = 1
23. Contoh Kasus (2)
• Untuk jenis data harga tanah dan jarak pusat kota
yang kontinue, misalnya :
24. Contoh Kasus (2)
• Namun jika atribut ke-i bersifat kontinu, maka P(xi|C)
diestimasi dengan fungsi densitas Gauss.Distribusi
normal adalah distribusi dari variabel acak kontinu.
Kadang-kadang distribusi normal disebut juga dengan
distribusi Gauss. Distribusi ini merupakan distribusi
yang paling penting dan paling banyak digunakan di
bidang statistika.e = 2,7183
25. Contoh Kasus (2)
• Probabilitas kemunculan setiap nilai untuk atribut
Harga Tanah (C1)
26. Contoh Kasus (2)
• Probabilitas kemunculan setiap nilai untuk atribut Jarak
dari Pusat Kota (C2)
27. Contoh Kasus (2)
• Probabilitas kemunculan setiap nilai untuk atribut
Angkutan Umum (C3)
28. Contoh Kasus (2)
• Probabilitas kemunculan setiap nilai untuk atribut
Dipilih untuk Perumahan (C4)
29. Contoh Kasus (2)
• Apabila diberikan C1 = 300, C2 = 17, C3 = Tidak,
maka:
30. Contoh Kasus (2)
• Likelihood Ya = (0,0021) x (0,0009) x 4/5 x 5/10 = 0,000000756
• Likelihood Tidak = (0,0013) x (0,0633) x 2/5 x 5/10 =
0,000016458
• Nilai probabilitas dapat dihitung dengan melakukan normalisasi
terhadap likelihood tersebut sehingga jumlah nilai yang
diperoleh = 1
31. Menghindari Masalah Probabilitas-Nol
• Prediksi Naïve Bayesian membutuhkan masing-
masing prob bersyarat yang tidak nol. Jika tidak, prob
yang diprediksi akan menjadi nol.
• Misalkan dataset dengan 1000 tupel, income = rendah
(0), income = sedang (990), dan income = tinggi (10)
n
k
Ci
xk
P
Ci
X
P
1
)
|
(
)
|
(
32. Menghindari Masalah Probabilitas-Nol
• Gunakan koreksi Laplacian (atau estimator Laplacian)
Menambahkan 1 ke setiap kasing
Prob (penghasilan = rendah) = 1/1003
Prob (penghasilan = sedang) = 991/1003
Prob (penghasilan = tinggi) = 11/1003
Perkiraan probabilitas yang “dikoreksi” dekat dengan
probabilitas lainnya yang "tidak dikoreksi“.
33. Naïve Bayes Classifier: Komentar
• Keuntungan
– Mudah diimplementasikan
– Hasil yang baik diperoleh di sebagian besar kasus
• Kekurangan
– Asumsi: kelas bebas bersyarat, oleh karena itu kehilangan
keakuratan
– Secara praktis, ketergantungan ada di antara variabel. Misal:
• Profil Pasien Rumah Sakit: usia, riwayat keluarga, dll
• Gejala: demam, batuk dll.,
• Penyakit: kanker paru-paru, diabetes, dll.
34. Naïve Bayes Classifier: Komentar
• Kekurangan (lanjutan)
– Ketergantungan di antara ini tidak dapat dimodelkan
oleh Naïve Bayes Classifier
• Bagaimana cara mengatasi ketergantungan ini?
Bayesian Belief Networks
35. Bayesian Belief Network
• Bayesian Belief Network, suatu metode dalam machine
learning yang masuk ke dalam kategori supervised
learning.
• Pada dasarnya belief network mengambil teori dasar
bayessian, yang memanfaatkan distribusi probabilitas pada
setiap features yang diketahui. Namun yang membedakan
adalah dalam belief network menggunakan suatu network
yang merepresentasikan kondisi pengetahuan dependensi
dan in-dependensi setiap features yang ada dalam suatu
kasus atau dataset.
36. Bayesian Belief Network
• Berbeda dengan naive bayes yang tidak melihat
kemungkinan dependensi dan in-dependensi setiap
features (attributes), dan itu dapat dilihat dari
representasi metode yang digunakan naive bayes.
• Tentunya dengan melihat model yang dihasilkan
adalah berupa inferences yaitu distribusi probabilitas
setiap features dalam network maka belief network
dapat menjadi alternatif metode yang lebih baik
dibanding naive bayes yang tidak melihat
kemungkinan tersebut.
37. Bayesian Belief Network
• Contohnya adalah jika kita memiliki 6 atribut yang
dapat menentukan berbagai kondisi, seperti lightning,
thunder, atau kebakaran hutan seperti di bawah ini:
38. Bayesian Belief Network
• Misalkan untuk Lightning atau petir akan terjadi
jika terdapat probabilitas yang besar untuk
storm atau kilat akan terjadi ketika badai, dan
thunder atau gemuruh guntur akan terjadi ketika
petir sudah terjadi, atau jika kita memiliki
probabilitas lightning yang cukup besar maka
probabilitas thunder pun akan meningkat.
39. Bayesian Belief Network
• Bagitu juga kebakaran hutan, jika terjadi petir
dan badai ditambah ada yang membuat api
unggun, maka probabilitas terjadinya kebakaran
hutan akan meningkat.
• Artinya network tersebut merupakan
representasi distribusi probabilitas (joint
distribution) antar setiap variable.