朴素贝叶斯分类(垃圾邮件过滤) - 哪种计算是正确的?

Mic*_*nel 1 algorithm math statistics spam-prevention bayesian

我正在实施朴素贝叶斯分类器进行垃圾邮件过滤.我对某些计算有疑问.请澄清我该怎么做.这是我的问题.

在这种方法中,你必须计算

替代文字

P(S | W) - >消息是垃圾邮件的概率,因为字W出现在其中.

P(W | S) - >垃圾邮件中出现单词W的概率.

P(W | H) - >在Ham消息中出现字W的概率.

所以要计算P(W | S),以下哪项是正确的:

  1. (垃圾邮件中出现W的次数)/(所有邮件中出现W的总次数)

  2. (垃圾邮件中出现W字的次数)/(垃圾邮件中的字总数)

那么,要计算P(W | S),我应该做(1)还是(2)?(我认为是(2),但我不确定.)

我顺便提一下http://en.wikipedia.org/wiki/Bayesian_spam_filtering的信息.

我必须在本周末完成实施:(


不应该重复出现'W'字样增加邮件的垃圾邮件分数?在你的方法中它不会,对吧?

可以说,我们有100条培训信息,其中50条是垃圾邮件,50条是火腿.并说每条消息的word_count = 100.

并且假设,在垃圾邮件中,单词W在每个消息中出现5次,单词W在Ham消息中出现1次.

因此,在所有垃圾邮件中出现的总W次数= 5*50 = 250次.

并且所有Ham消息中出现的总W次数= 1*50 = 50次.

所有训练消息中W的总出现次数=(250 + 50)= 300次.

那么,在这种情况下,你如何计算P(W | S)和P(W | H)?

当然我们应该期待,P(W|S) > P(W|H)对吧?

sth*_*sth 5

P(W|S) =(包含W的垃圾邮件数量)/(所有垃圾邮件数量)