Hai, temen-temen semua. Kali ini
pembahasannya tentang Model Naive Bayes.
Naive Bayes adalah salah satu jenis model klasifikasi yang mengidentifikasi atau memprediksi yang asalnya dari rumus matematk yaitu statistik dimana intinya adalah mencari probabilitas dari sebuah kelas yang dicari. Algoritma Naive Bayes memprediksi peluang di masa depan berdasarkan pengalaman di masa sebelumnya sehingga dikenal sebagai Teorema Bayes.
Keuntungan penggunaan naive bayes adalah model ini hanya membutuhkan data pelatihan (data training) yang kecil untuk menentukan estimasi parameter yang diperlukan dalam proses pengklasifikasian. Karena yang diasumsikan sebagai variabel independen, maka hanya varia dari suatu variabel dalam sebuah kelas yang dibutuhkan untuk menentukan klasifikasi, bukan keseluruhan dari matriks kovarians.
Kelebihan dari model ini adalah karena ia mudah dibuat dan hasilnya pun bagus, tetapi model ini juga memiliki kekurangan yaitu asumsi independece antar atribut membuat akurasi berkurang karena biasanya ada keterkaitan satu sama lain.
Rumus Naive Bayes :
dimana ;
x : Data dengan class yang belum diketahui
c : Hipotesis data merupakan suatu class spesifik
P(c|x) : Probabilitas hipotesis berdasa kondisi (Posterior Probability)
P(c) : Probabilitas hipotesis (Prior Probability)
P(x|c) : Probabilitas berdasarkan kondisi pada hipotesis
p(x) : Probabilitas x
Tahapan Algoritma Naive Bayes :
1. Membaca data training
2. Mengitung jumlah class
3. Menghitung jumlah kasus yang sama dengan class yang sama
4. Mengalikan semua hasil sesuai dengan data X yang dicari classnya
Contoh :
1. Membuat Dataset
Dari gambar diatas, terdapat 5 informasi yaitu OUTLOOK (kategorinya : rainy, Overcast, dan Sunny), TEMPERATURE (kategorinya : Hot, Mild, dan Cool), HUMIDITY (kategorinya : High dan Normal), WINDY (kategorinya : False dan True), dan PLAY GOLF.(kategorinya : Yes dan No) dimana tipe datanya adalah categorical.
P(C) = P(Class)
P(Yes) = 9/14
P(No) = 5/14
2. Hitung Jumlah Class/Label
- Terdapat 2 Class dari data training tersebut yaitu :
o C1 (Class 1) -> Play = yes -> 9 record
o C2 (Class 2) -> Play = no -> 5 record
o Total = 14 record
- Maka :
o P (C1) = 9/14 = 0.642857143
o P (C2) = 5/14 = 0.357142857
- Pertanyaan :
o Data X = (outlook=rainy, temperature=cool, humidity=high, windy=true)
o Main golf atau tidak?
OUTLOOK :
TEMPERATURE :
HUMIDITY :
WIND :
PLAY GOLF :
3. Hitung jumlah kasus yang sama dengan class yang sama
o Untuk P(Ci) yaitu P (C1) dan P (C2) sudah diketahui hasilnya di langkah sebelumnya.
o Selanjutnya Hitung P(X|Ci) untuk i = 1 dan 2
o P(outlokk="sunny"|play="yes")= 3/9 = 0.333333333
o P(outlook="sunny"|play="no")= 2/5 = 0.4
o P(outlook="overcast"|play="yes")= 4/9 = 0.444444444
o P(outlook="overcast"|play="no")= 0/5 = 0
o P(outlook="rainy"|play="yes")= 2/9 = 0.222222222
o P(outlook="rainy"|play="no")= 3/5 = 0.6
o Jika semua atribut dihitung, maka didapat hasil akhir seperti berikut ini :
4. Kalikan semua nilai hasil sesuai dengan data X yang dicari classnya
o Pertanyaan :
o Data X = (outlook=rainy, temperature=cool, humidity=high, windy=true)
o Main golf atau tidak?
o Kalikan semua nilai hasi dari data X
o P(X|play="yes") = 0.333333333*0.333333333*0.333333333*0.333333333
= 0.012345679
o P(X|play="no") = 0.4*0.2*0.8*0.6 = 0.0384
o P(X|play="yes")*P(C1) = 0.012345679*0.642857143 = 0.007936508
o P(X|play="yes")*P(C2) = 0.0384*0.357142857 = 0.013714286
o Nilai "no" lebih besar dari nilai "yes" maka class dari data X tersebut adalah "No".
Nah, itu dia pembahasan mengenai Model Naive Bayes kali ini. Mohon maaf atas apabila ada kesalahan atau kekeliruan, untuk itu kalian boleh komen dibawah apa untuk memperbaiki kekeliruannya atau mungkin ada masukan juga, silahkan tulis di kolom komentar dibawah. Sekian untuk pembahasan blog kali ini, jangan lupa pantengin terus pembahasan di blog-blog selanjutnya. Terima kasih dan Bye :)
Sumber :
Dosen Machinelearning ITPLN Ibu Efy Yosrita ,S.Si, M.Kom
https://binus.ac.id/bandung/2019/12/algoritma-naive-bayes/
https://informatikalogi.com/algoritma-naive-bayes/
Tidak ada komentar:
Posting Komentar