总体思路与步骤:
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
----------喜大普奔----------
1、董付国老师Python系列教材,亚马逊、京东、当当、天猫均有销售:
1)《Python程序设计(第2版)》(2018年5月第6次印刷)
出版社官方链接(亚马逊、京东、当当均有销售):https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-16232114860.18.24a52226hIi8Bj&id=534581929248&rn=9311dcbc68fffcf57b7ae352800e485d&abbucket=6
2)《Python可以这样学》(2018年2月第5次印刷)(本书已发行繁体版)
出版社官方链接(亚马逊、京东、当当均有销售):https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-16232114860.16.24a52226hIi8Bj&id=544817105410&rn=9311dcbc68fffcf57b7ae352800e485d&abbucket=6
3)《Python程序设计基础(第2版)》(2018年5月第2次印刷)
出版社官方链接(亚马逊、京东、当当均有销售):https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-16232114860.24.24a52226hIi8Bj&id=565581275846&rn=9311dcbc68fffcf57b7ae352800e485d&abbucket=6
4)《中学生可以这样学Python》2018年5月第2次印刷)
出版社官方链接(亚马逊、京东、当当均有销售):https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-16232114860.20.24a52226hIi8Bj&id=560808221053&rn=9311dcbc68fffcf57b7ae352800e485d&abbucket=6
5)《Python程序设计开发宝典》(2018年2月第3次印刷)
出版社官方链接(亚马逊、京东、当当均有销售):https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-16232114860.52.24a52226hIi8Bj&id=556093887133&rn=9311dcbc68fffcf57b7ae352800e485d&abbucket=6
6)《玩转Python轻松过二级》(2018年5月隆重上架)
出版社官方链接(亚马逊、京东、当当均有销售):https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-16232114860.84.24a52226hIi8Bj&id=569250004069&rn=9311dcbc68fffcf57b7ae352800e485d&abbucket=6
董付国老师6本Python系列图书阅读指南
董付国老师6本Python系列教材被北大、复旦等近百所高校选作教材
热烈庆祝《Python可以这样学》在台湾发行繁体版
2、董老师120课免费视频地址: https://pan.baidu.com/s/1jJeAs8Q 密码: px59
----------相关阅读----------
教学课件
1900页Python系列PPT分享一:基础知识(106页)
1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)
1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)
1900页Python系列PPT分享四:字符串与正则表达式(109页)
1900页Python系列PPT分享五:函数设计与应用(134页)
1900页Python系列PPT分享六:面向对象程序设计(86页)
1900页Python系列PPT分享七:文件操作(132页)
1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)
报告PPT(163页):基于Python语言的课程群建设探讨与实践
非计算机专业《Python程序设计基础》教学参考大纲
计算机相关专业“Python程序设计”教学大纲(参考)
报告PPT(123页):Python编程基础精要
系列题库分享
1000道Python题库系列分享一(17道)
1000道Python题库系列分享二(48道)
1000道Python题库系列分享三(30道)
1000道Python题库系列分享四(40道)
1000道Python题库系列分享五(40道)
1000道Python题库系列分享六(40道)
1000道Python题库系列分享七(30道)
1000道Python题库系列分享八(29道)
1000道Python题库系列分享九(31道)
1000道Python题库系列分享十(37道)
1000道Python题库系列分享十一(9道)
相关阅读
Python+sklearn使用支持向量机算法实现数字图片分类
Python+sklearn使用DBSCAN聚类算法案例一则
Python使用系统聚类方法进行数据分类案例一则
Python使用K-means聚类算法进行分类案例一则
KNN分类算法原理与Python+sklearn实现根据身高和体重对体型分类
Python+sklearn使用线性回归算法预测儿童身高
使用线性回归拟合平面最佳直线及预测之Python+sklearn实现
Python使用系统聚类算法对随机元素进行分类
Python+KNN算法判断单词相似度小案例
Python+tensorflow计算整数阶乘的方法与局限性
Python编写的数字拼图游戏(含爬山算法人机对战功能)
详解Python使用模拟退火算法求解列表“最大值”
Python使用爬山算法寻找序列“最大值”
Python使用tensorflow中梯度下降算法求解变量最优值
Python判断两个单词的相似度