Advertisement

朴素贝叶斯实现垃圾邮件过滤

阅读量:

收到一封邮件,假定它是 正常邮件 和 垃圾邮件的概率各是50%,

P(正常)= P(垃圾)=50%

P(垃圾|发票)=P(发票|垃圾)⋅P(垃圾) / P(发票)

根据全概率公式:

P(发票)=P(发票|垃圾)⋅P(垃圾)+P(发票|正常)⋅P(正常)

P(垃圾|发票)=P(发票|垃圾)⋅P(垃圾) / P(发票|垃圾)⋅P(垃圾)+P(发票|正常)⋅P(正常)

其中,在垃圾邮件样本中,“发票”一词出现的概率表示为P(发票|垃圾),假设有随机抽取的100封垃圾邮件样本,在这当中有5封包含了“发票”这一关键词,则其出现的概率为5%。类似地,在正常邮件样本中,“发票”一词出现的概率表示为P(.invoice|normal),假设有随机选取的1000封正常邮件样本,则仅有1封装有该关键词的情况发生时其发生率为千分之一。由此可见,在这两个类别中,“发票”这一特征具有显著的类别区分能力。

P(垃圾|发票)=(5%×50%) / (5%×50% + 0.1%×50%)=98%

复制代码

结果截图:

全部评论 (0)

还没有任何评论哟~