您当前的位置:首页 > 计算机 > 编程开发 > Python

Python+sklearn使用朴素贝叶斯算法识别中文垃圾邮件

时间:12-29来源:作者:点击数:

总体思路与步骤:

1、从电子邮箱中收集垃圾和非垃圾邮件训练集。

2、读取全部训练集,删除其中的干扰字符,例如【】*。、,等等,然后分词,删除长度为1的单个字。

3、统计全部训练集中词语的出现次数,截取出现次数最多的前N(可以根据实际情况进行调整)个。

4、根据每个经过第2步预处理后垃圾邮件和非垃圾邮件内容生成特征向量,统计第3步中得到的N个词语分别在本邮件中的出现频率。

5、根据第4步中得到特征向量和已知邮件分类创建并训练朴素贝叶斯模型。

6、读取测试邮件,参考第2步,对邮件文本进行预处理,提取特征向量。

7、使用第5步中训练好的模型,根据第6步提取的特征向量对邮件进行分类。

参考代码:

1、导入需要用到的标准库和扩展库对象。

2、读取全部训练集,删除干扰字符或长度为1的单词。

3、创建贝叶斯模型,使用已有数据进行训练。

4、使用训练好的模型对未知邮件内容进行分类。

说明:分类有误差是正常的,增加训练集和调整模型参数,可以提高准确率。

邮件训练集下载地址:

链接: https://pan.baidu.com/s/1wBRbCATYlqCaYc848ydGAQ 

密码: q369

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门