Bagaimana cara menangani faktor nol dalam perhitungan Naive Bayes Classifier?

14

Jika saya memiliki kumpulan data pelatihan dan saya melatih Naive Bayes Classifier di atasnya dan saya memiliki nilai atribut yang memiliki probabilitas nol. Bagaimana saya menangani ini jika nanti saya ingin memprediksi klasifikasi pada data baru? Masalahnya adalah, jika ada nol dalam perhitungan seluruh produk menjadi nol, tidak peduli berapa banyak nilai lain yang saya dapatkan yang mungkin akan menemukan solusi lain.

Contoh:

P(x|shalSebuahm=yes)=P(TsayameZHaine=US|shalSebuahm=yes)P(GeHaiLHaicSebuahtsayaHain=EU|shalSebuahm=yes) ... =0,004

P(x|spam=no)=P(TimeZone=US|spam=no)P(GeHaiLHaicSebuahtsayaHain=EU|shalSebuahm=nHai) ... =0

Seluruh produk menjadi karena dalam data pelatihan, atribut TimeZone US selalu Ya dalam kumpulan data pelatihan kecil kami. Bagaimana saya bisa menangani ini? Haruskah saya menggunakan satu set data pelatihan yang lebih besar atau apakah ada kemungkinan lain untuk mengatasi masalah ini?0

wangi
sumber
Jika Anda mendapatkan nilai atribut diskrit yang terjadi, probabilitasnya tidak boleh nol, menurut definisi.
Paul
mengapa kita menambahkan 1 dalam 0 masalah frekuensi apa logika di balik ini mengapa tidak kita tambahkan nomor lain
Aftab Hussaiin

Jawaban:

13

Pendekatan untuk mengatasi 'masalah frekuensi nol' ini dalam pengaturan Bayesian adalah dengan menambahkan satu ke hitungan untuk setiap kombinasi kelas nilai atribut ketika nilai atribut tidak terjadi pada setiap nilai kelas. Jadi, misalnya, katakanlah data pelatihan Anda tampak seperti ini:

Spam=yesSpam=nHaiZona waktu=US105Zona waktu=EU00

P(Zona waktu=US|Spam=yes)=1010=1

P(Zona waktu=EU|Spam=yes)=010=0

Maka Anda harus menambahkan satu ke setiap nilai dalam tabel ini saat Anda menggunakannya untuk menghitung probabilitas:

Spam=yesSpam=nHaiZona waktu=US116Zona waktu=EU11

P(Zona waktu=US|Spam=yes)=1112

P(Zona waktu=EU|Spam=yes)=112

timleathart
sumber
4
Memang. Perhatikan bahwa terkadang Anda dapat menambahkan nilai selain satu. Untuk perinciannya, lihat en.wikipedia.org/wiki/Additive_smoothing
DaL