垃圾邮件过滤案例

Poblog 05月12日 2018



1.spam与ham  文件夹下分别存放1-25.txt的25封垃圾邮件和正常邮件

2.切分文本,将邮件文本切分成一个一个的单词,单词全部转换成小写,单词长度小于2的单词不计算在算法之内

3.优化点:邮件中的HTML、链接统一当成html和url处理等

4.读取全部邮件得到

  listOPosts,listClasses 第一个存储文档,第二个存储文档标记类别

  fulltext存放所有的文档列表  用于交叉验证

5.得到包含所有文档 不含重复词的list

用于训练的文档set
trainingSet: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]

随机取不重复的10个用于测试集并从训练集中删除该文档序号
testSet: [33, 14, 22, 37, 9, 4, 12, 13, 0, 41]

利用训练集求得p0V,p1V,pAb

循环testSet利用p0V,p1V,pAb计算得到分类和实际分类比较计算错误数进而求得错误率