0
点赞
收藏
分享

微信扫一扫

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


总体思路与步骤:

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

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

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

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

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

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

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

参考代码:

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

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

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

Python+sklearn使用朴素贝叶斯算法识别中文垃圾邮件_机器学习_02

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

Python+sklearn使用朴素贝叶斯算法识别中文垃圾邮件_人工智能_03

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

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

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

邮件训练集下载地址:

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

密码: q369


举报

相关推荐

朴素贝叶斯

0 条评论