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

总体思路与步骤:

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

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2018-06-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏磐创AI技术团队的专栏

ChatGirl 一个基于 TensorFlow Seq2Seq 模型的聊天机器人

简介 ? 还在开发中,它工作的效果还不好。但是你可以直接训练,并且运行。 包含预处理过的 twitter 英文数据集,训练,运行,工具代码,可以运行但是效果有待...

4198
来自专栏新智元

手把手教你用OpenCV和Python实现图像和视频神经风格迁移(代码)

2015年,Gatsys等人在论文A Neural Algorithm of Artistic Style中提出了最初的神经风格迁移算法。2016年,Johns...

4272
来自专栏杨熹的专栏

了解 Sklearn 的数据集

学习资料:大家可以去莫烦的学习网站学到更多的知识。 学习资料: 相关代码 更多可用数据 网址 ---- ? 今天来看 Sklearn 中的 data s...

3448
来自专栏新智元

谷歌发布 TensorFlow Fold,支持动态计算图,GPU 增速 100 倍

【新智元导读】谷歌官方博客最新发布TensorFlow Fold,通过为每个输入构建单独的计算图解决由于输入的大小和结构不同导致的问题。此外,通过动态批处理,实...

3829
来自专栏新智元

【前沿】TensorFlow Pytorch Keras代码实现深度学习大神Hinton NIPS2017 Capsule论文

【新智元导读】10月26日,深度学习元老Hinton的NIPS2017 Capsule论文《Dynamic Routing Between Capsules》终...

4177
来自专栏专知

【资源】Python实现多种模型(Naive Bayes, SVM, CNN, LSTM, etc)用于推文情感分析

【导读】近日,Abdul Fatir 在自己的CS5228课程报告使用不同的方法进行Tweets情感分析(作为二分类问题),并对这些方法的性能进行比较,主要是基...

47110
来自专栏about云

TensorFlow ML cookbook 第一章7、8节 实现激活功能和使用数据源

问题导读: 1、TensorFlow中有哪些激活函数? 2、如何运行激活函数? 3、TensorFlow有哪些数据源? 4、如何获得及使用数据源? 上...

4838
来自专栏机器之心

GPU捉襟见肘还想训练大批量模型?谁说不可以

2018 年的大部分时间我都在试图训练神经网络时克服 GPU 极限。无论是在含有 1.5 亿个参数的语言模型(如 OpenAI 的大型生成预训练 Transfo...

3503
来自专栏玉树芝兰

如何用 Python 和循环神经网络(RNN)做中文文本分类?

本文为你展示,如何使用 fasttext 词嵌入预训练模型和循环神经网络(RNN), 在 Keras 深度学习框架上对中文评论信息进行情感分类。

1814
来自专栏尾尾部落

使用自己的语料训练word2vec模型

先对新闻文本进行分词,使用的是结巴分词工具,将分词后的文本保存在seg201708.txt,以备后期使用。

6082

扫码关注云+社区

领取腾讯云代金券