手推示例(基于朴素贝叶斯的垃圾邮件分类)

手推垃圾邮件分类的简单例子。

先了解朴素贝叶斯算法,百度百科有详细介绍。只要得到它!

手推示例(基于朴素贝叶斯的垃圾邮件分类)

示例如下:

训练数据:

正常邮件(3封)                                                      垃圾邮件(3封)

1、老师  机器    论文                                                 1、学习  开会

2、产品  开会  老师                                                  2、 老师   邮件

3、论文 点击  学习                                                    3、链接  论文

新邮件:教师课程 点击学习

如何判断新邮件是否为垃圾邮件?

解决方案:词库 = {教师、机器、论文、产品、会议、点击、学习、电子邮件、链接}

V=9

条件概率(做了Add one smoothing处理):

P(老师|正常)=(2+1)/(9+9)=3/18            P(老师|垃圾)=(1+1)/(6+9)=2/15

P(机器|正常)=(1+1)/(9+9)=2/18            P(机器|垃圾)=(0+1)/(6+9)=1/15

P(论文|正常)=(2+1)/(9+9)=3/18            P(论文|垃圾)=(1+1)/(6+9)=2/15

P(产品|正常)=(1+1)/(9+9)=2/18            P(产品|垃圾)=(0+1)/(6+9)=1/15

P(开会|正常)=(2+1)/(9+9)=3/18            P(开会|垃圾)=(1+1)/(6+9)=2/15

P(点击|正常)=(1+1)/(9+9)=2/18            P(点击|垃圾)=(0+1)/(6+9)=1/15

P(学习|正常)=(1+1)/(9+9)=2/18            P(学习|垃圾)=(1+1)/(6+9)=2/15

P(邮件|正常)=(0+1)/(9+9)=1/18            P(论文|垃圾)=(1+1)/(6+9)=2/15

P(链接|正常)=(0+1)/(9+9)=1/18            P(链接|垃圾)=(1+1)/(6+9)=2/15

先验概率:P(正常)=1/2  P(垃圾)=1/2

以上条件概率和先验概率的计算就是训练过程。

现在求:

1)P(正常|新邮件)=P(新邮件|正常)*P(正常)/P(新邮件)

=P(老师|正常)*P(课程|正常) *P(点击|正常) *P(学习|正常) *P(正常)/P(新邮件)

=(3/18)*(3/18)*(2/18)*(1/2)/P(新邮件)

2)P(垃圾|新邮件)=P(新邮件|垃圾)*P(垃圾)/P(新邮件)

=P(老师|垃圾)*P(课程|垃圾) *P(点击|垃圾) *P(学习|垃圾) *P(垃圾)/P(新邮件)

=(2/15)*(1/15)*(2/15)*(1/2)/P(新邮件)

P(正常|新邮件)>P(垃圾|新邮件),所以,该新邮件是正常邮件

“课程”在新邮件中被忽略;

P(新邮件)不用计算,因为t比较分子已经能够比较P(正常|新邮件)与P(垃圾|新邮件)大小了。

版权声明:本文为博主wdd_100原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/wdd_100/article/details/123253667

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年3月6日
下一篇 2022年3月6日

相关推荐