朴素贝叶斯实现垃圾邮件过滤
发布时间
阅读量:
阅读量
收到一封邮件,假定它是 正常邮件 和 垃圾邮件的概率各是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)
还没有任何评论哟~
