前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python+sklearn使用朴素贝叶斯算法识别中文垃圾邮件

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

作者头像
Python小屋屋主
发布2018-07-23 15:21:35
2.8K0
发布2018-07-23 15:21:35
举报
文章被收录于专栏:Python小屋Python小屋

总体思路与步骤:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档