Algoritma Naive Bayes

• Algoritma Naive Bayes merupakan sebuah metode klasifikasi menggunakan metode probabilitas dan statistik yg dikemukakan oleh ilmuwan Inggris Thomas Bayes. 
• Algoritma Naive Bayes memprediksi peluang di masa depan berdasarkan pengalaman di masa sebelumnya sehingga dikenal sebagai Teorema Bayes. 
• Ciri utama dr Naïve Bayes Classifier ini adalah asumsi yg sangat kuat (naïf) akan independensi dari masing-masing kondisi / kejadian.
• Sering digunakan untuk mengklasifikasi dokumen, deteksi dan filtering spam.

1. Kelebihan Algoritma Naive Bayes
• Hanya memerlukan jumlah data sedikit yang dibutuhkan untuk klasifikasi.
• Bisa dipakai untuk data kuantitatif maupun kualitatif
• Cepat, efisien, dan mudah untuk dibuat.
• Kokoh pada atribut yang tidak relevan.
• Bisa digunakan untuk klasifikasi masalah biner ataupun multiclass.

2. Kekurangan Algoritma Naive Bayes
• Asumsi bahwa masing-masing variabel independen membuat berkurangnya akurasi.
• Probabilitas kondisionalnya tidak boleh bernilai nol.
• Keakuratannya tidak bisa diukur menggunakan satu probabilitas saja. Butuh bukti-bukti lain untuk membuktikannya.
• Untuk membuat keputusan, diperlukan pengetahuan awal atau pengetahuan mengenai masa sebelumnya.

3. Tahapan Naive Bayes
A. Menghitung jumlah kelas / label.
B. Menghitung Jumlah Kasus Per Kelas
C. Kalikan Semua Variable Kelas
D. Bandingkan Hasil Per Kelas

4. Formula Naive Bayes
x            : Data dengan class yang belum diketahui
c            : Hipotesis data merupakan suatu class spesifik
P(c|x)    : Probabilitas hipotesis berdasar kondisi (posterior probability)
P(c)       : Probabilitas hipotesis (class prior probability)
P(x|c)    : Probabilitas berdasarkan kondisi pada hipotesis (likelihood)
P(x)       : Probabilitas x (predictor prior probability)
Catatan:
Rumus diatas menjelaskan bahwa peluang masuknya sampel karakteristik tertentu dalam kelas C (Posterior) adalah peluang munculnya kelas C (sebelum masuknya sampel tersebut, seringkali disebut prior), dikali dengan peluang kemunculan karakteristik karakteristik sampel pada kelas C (disebut juga likelihood), dibagi dengan peluang kemunculan karakteristik  sampel secara global ( disebut juga evidence/predictor prior probability). Nilai Evidence selalu tetap untuk setiap kelas pada satu sampel. Nilai dari posterior tersebut nantinya akan dibandingkan dengan nilai nilai posterior kelas lainnya untuk menentukan ke kelas apa suatu sampel akan diklasifikasikan.
Klasifikasi Naive Bayes berasumsi bahwa efek nilai prediktor (x) terhadap kelas tertentu (c) bersifat independen terhadap nilai-nilai prediktor lainnya. Asumsi ini disebut independensi bersyarat kelas.
Contoh:
Diberikan kasus-kasus permainan golf sebagai berikut:
CuacaSuhuKelembapanBeranginMain Golf
HujanPanasTinggiTidakTidak
HujanPanasTinggiYaTidak
MendungPanasTinggiTidakYa
CerahSedangTinggiTidakYa
CerahDinginNormalTidakYa
CerahDinginNormalYaTidak
MendungDinginNormalYaYa
HujanSedangTinggiTidakTidak
HujanDinginNormalTidakYa
CerahSedangNormalTidakYa
HujanSedangNormalYaYa
MendungSedangTinggiYaYa
MendungPanasNormalTidakYa
CerahSedangTinggiYaTidak
Keterangan:
 Cuaca (Outlook): Kondisi cuaca pada hari itu (hujan (rainy), mendung (overcast), atau cerah (sunny)).
 Suhu (Temperature): Suhu udara pada hari itu (panas (hot), sedang (mild), atau dingin (cool)).
 Kelembapan (Humidity): Tingkat kelembapan udara (tinggi (high) atau normal).
 Berangin (Windy): Apakah hari itu berangin atau tidak (ya (true) atau tidak (false)).
 Main Golf (Play Golf): Apakah orang memutuskan untuk bermain golf pada hari itu (ya (yes) atau tidak (no)).
Susun tabel frekuensi, lalu susun tabel peluang:
Misalkan suatu hari dengan kondisi hujan, suhu dingin, kelembapan tinggi, dan berangin, peluang dari bermain golf dan tidak bermain golf pada hari itu adalah:
𝑃(𝑋│𝑀𝑎𝑖𝑛) = 𝑃(𝐻𝑢𝑗𝑎𝑛|𝑀𝑎𝑖𝑛) × 𝑃(𝐷𝑖𝑛𝑔𝑖𝑛|𝑀𝑎𝑖𝑛) × 𝑃(𝑇𝑖𝑛𝑔𝑔𝑖|𝑀𝑎𝑖𝑛) × 𝑃(𝐵𝑒𝑟𝑎𝑛𝑔𝑖𝑛|𝑀𝑎𝑖𝑛) = 2/9 × 3/9 × 3/9 × 3/9 = 2/243
𝑃(𝑋 ∩ 𝑀𝑎𝑖𝑛) = 𝑃(𝑋│𝑀𝑎𝑖𝑛) × 𝑃(𝑀𝑎𝑖𝑛) = 2/243 × 9/14 = 1/189
Dengan cara yang sama, peluang tidak bermain dengan kondisi tersebut adalah:
𝑃(𝑋│𝑇𝑖𝑑𝑎𝑘 𝑀𝑎𝑖𝑛) = 3/5 × 1/5 × 4/5 × 3/5 = 36/625
𝑃(𝑋 ∩ 𝑇𝑖𝑑𝑎𝑘 𝑀𝑎𝑖𝑛) = 𝑃(𝑋│𝑇𝑖𝑑𝑎𝑘 𝑀𝑎𝑖𝑛) × 𝑃(𝑇𝑖𝑑𝑎𝑘 𝑀𝑎𝑖𝑛) = 36/625 × 5/14 = 18/875
Sehingga peluang terjadinya X adalah P(X) = 𝑃(𝑋 ∩ 𝑀𝑎𝑖𝑛) + 𝑃(𝑋 ∩ 𝑇𝑖𝑑𝑎𝑘 𝑀𝑎𝑖𝑛) = 1/189 + 18/875 = 611/23625
Selanjutnya lakukan normalisasi sebagai berikut:
Jadi, pada hari dengan kondisi hujan, suhu dingin, kelembapan tinggi, dan berangin, peluang bermain golf pada hari itu adalah 125/611 dan peluang tidak bermain golf pada hari itu adalah 486/611. Peluang tidak bermain golf adalah peluang terbesar.

5. Laplace Correction
 Laplace Correction (Laplacian Estimator) atau additive smoothing adalah suatu cara untuk menangani nilai probabilitas 0 (nol). Dari sekian banyak data di training set, pada setiap perhitungan datanya ditambah 1 (satu) dan tidak akan membuat perbedaan yang berarti pada estimasi probabilitas sehingga bisa menghindari kasus nilai probabilitas 0 (nol).
 Ditemukan oleh Pierre Laplace
 Kurang akurat pada dataset dengan jumlah tuple sedikit
 Sangat akurat pada data yang memiliki jumlah tuple banyak
formula:
Sebagai contoh, asumsikan ada data set pembelian sebuah barang dengan class buy = yes di suatu training set, memiliki 1000 (seribu) sampel. Variabel yang dimiliki adalah income.
 0 (nol) sampel dengan income = low, 
 990 sampel dengan income = medium,
 10 sampel dengan income = high.
Probabilitas dari kejadian ini tanpa Laplacian Correction adalah 0, 990/1000, dan 10/1000.
Menggunakan Laplacian Correction, diasumsikan ada 1 sampel lagi untuk masing – masing nilai income. Dengan cara ini, didapatkanlah probabilitas 1/1003, 991/1003, 11/1003.
Probabilitas yang “dibenarkan” hasilnya tidak berbeda jauh dengan hasil probabilitas sebelumnya sehingga nilai probabilitas 0 (nol) dapat dihindari.
contoh soal:
Suatu toko elektronik kecil ingin kulakan komputer dari sebuah toko besar. Dari 20 komputer yang dilihat, berikut keputusan toko kecil tersebut:
ProcessorRAM (GB)SSDMonitorKeputusan
Intel8SamsungFHDBeli
AMD8SeagateFHDTidak
AMD16SamsungFHDTidak
AMD32Seagate2KTidak
Intel16WD4KBeli
Intel16Kingston4KBeli
AMD16WD4KBeli
AMD8Samsung2KTidak
Intel8WD2KBeli
AMD8Seagate2KRagu-ragu
Intel32Seagate2KRagu-ragu
Intel32SeagateFHDRagu-ragu
Intel16KingstonFHDRagu-ragu
Intel32Kingston4KTidak
AMD16WD4KTidak
AMD16WD4KBeli
AMD16Kingston2KBeli
AMD16SamsungFHDBeli
Intel8Samsung4KBeli
Intel32Samsung4KRagu-ragu
Misal terdapat komputer dengan 
Processor = AMD, RAM = 16 GB, SSD = Seagate, dan layar monitor = 2K, peluang membeli, ragu-ragu, dan tidak membeli adalah...
Buat tabel frekuensi sebagai berikut:
AMD16 GBSeagate2K
Beli4602
Ragu-Ragu1132
Tidak5222
dengan keputusan beli 9, ragu-ragu 5, tidak beli 6.
Ketika disusun, terdapat frekuensi nol, sehingga diperlukan insert data untuk masing-masing keputusan menjadi:
KeputusanAMD16 GBSeagate2K
Beli5713
Ragu-Ragu2243
Tidak6333
dengan keputusan beli 10, ragu-ragu 6, tidak beli 7.
Hitung peluang untuk masing-masing keputusan
P(X | Beli) = 5/10 × 7/10 × 1/10 × 3/10 = 21/2000
P(X ∩ Beli) = 21/2000 × 10/23 = 21/4600
P(X | Ragu-Ragu) = 2/6 × 2/6 × 4/6 × 3/6 = 1/27
P(X ∩ Ragu-Ragu) = 1/27 × 6/23 = 2/207
P(X | Tidak) = 6/7 × 3/7 × 3/7 × 3/7 = 162/2401
P(X ∩ Tidak) = 162/2401 × 7/23 = 162/7889
Selanjutnya lakukan normalisasi:
P(X) = P(X ∩ Beli) + P(X ∩ Ragu-Ragu) + P(X ∩ Tidak) 21/4600 + 2/207 + 162/7889 = 493627/14200200
P(Beli | X) = P(X ∩ Beli) / P(X) = 21/4600 × 14200200/493627 = 64827/493627
P(Ragu-Ragu | X) = P(∩ Ragu-Ragu) / P(X) = 2/207 × 14200200/493627 = 137200/493627
P(Tidak | X) = P(∩ Tidak) / P(X) = 162/7889 × 14200200/493627 = 291600/493627
Jadi, untuk komputer dengan Processor = AMD, RAM = 16 GB, SSD = Seagate, dan layar monitor = 2K, peluang beli adalah 64827/493627, peluang ragu-ragu adalah 137200/493627, dan peluang tidak beli adalah 291600/493627. Peluang tidak beli adalah peluang terbesar.

Komentar

Postingan populer dari blog ini

Uji Linearitas dan Keberartian Regresi

2025: ONMIPA (Olimpiade Nasional Matematika dan Ilmu Pengetahuan Alam)

2024: Aritmatika Jilid XII