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
----------喜大普奔----------
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判断两个单词的相似度
Python+sklearn使用朴素贝叶斯算法识别中文垃圾邮件相关推荐
- python:基于朴素贝叶斯算法的垃圾邮件过滤分类
目录 一.朴素贝叶斯算法 1.概述 2.推导过程 二.实现垃圾邮件过滤分类 1.垃圾邮件问题背景 2.朴素贝叶斯算法实现垃圾邮件分类的步骤 3.python实现 参考学习网址:https://blog ...
- 利用朴素贝叶斯算法识别垃圾邮件
转载自:http://blog.csdn.net/wowcplusplus/article/details/25190809 朴素贝叶斯算法是被工业界广泛应用的机器学习算法,它有较强的数学理论基础,在 ...
- 使用Sklearn学习朴素贝叶斯算法
目录 1,sklearn中的贝叶斯分类器 1.1,高斯朴素贝叶斯GaussianNB 1.1.1,认识高斯朴素贝叶斯 1.1.2,参数说明 1.1.3,高斯朴素贝叶斯建模案例 1.1.4,探索高斯朴素 ...
- Python微调文本顺序对抗朴素贝叶斯算法垃圾邮件分类机制
封面图片:<Python可以这样学>,ISBN:9787302456469,董付国,清华大学出版社 图书详情(京东): ================= 关于朴素贝叶斯算法中文垃圾邮件分 ...
- 朴素贝叶斯算法实现对邮件的分类
通过朴素贝叶斯算法来分类垃圾邮件的PYTHON实现(超易懂) 文章目录 通过朴素贝叶斯算法来分类垃圾邮件的PYTHON实现(超易懂) 前言 一.朴素贝叶斯算法分类垃圾邮件原理 二.python实现 1 ...
- 机器学习——朴素贝叶斯算法(垃圾邮件分类)
朴素贝叶斯算法介绍以及垃圾邮件分类实现 1.一些数学知识 2.贝叶斯公式 3.朴素贝叶斯算法 (1)介绍 (2)核心思想 (3)朴素贝叶斯算法 (4)拉普拉斯修正 (5)防溢出策略 (6)一般过程 ( ...
- sklearn中的朴素贝叶斯算法
sklearn中的朴素贝叶斯分类器 之前理解朴素贝叶斯中的结尾对sklearn中的朴素贝叶斯进行了简单的介绍. 此处对sklearn中的则对sklearn中的朴素贝叶斯算法进行比较详细介绍.不过手下还 ...
- 【人工智能】机器学习及与智能数据处理Python使用朴素贝叶斯算法对垃圾短信数据集进行分类
朴素贝叶斯算法 输入:样本集合D={(x_1,y_1),(x_2,y_2) (x_m,y_m); 待预测样本x; 样本标记的所有可能取值{c_1,c_2,c_3 c_k}; 样本输入变量X的每个属性变 ...
- Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报 分类: 机器学习(19) 听说
Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报 分类: 机器学习(19) 听说朴 ...
最新文章
- anaconda安装scrapy失败的解决方法(2020.7.7)
- JDK源码解析 InputStream类就使用了模板方法模式
- weblogic9修改线程数设置
- 用jsp_servlet实现在mysql中存储图片_从数据库中读取并生成图片的Servlet
- 从.Net到Java学习第四篇——spring boot+redis
- C和指针之反转字符串
- 使用Java更新DynamoDB项
- 无需搭建和训练模型,87行代码搞定文章摘要生成
- 免费UNIX体验中心
- 能打开2D、3D图文件的小工具abviewer
- wx2540h配置教程_H3C WX2540H系列无线控制器 安装指导-6W101
- 【BERT-多标签文本分类实战】之四——数据集预处理
- 数字信号处理声音降噪实验
- 模拟游戏--鸭子的种类
- 生命密码是几适合学计算机,数字生命密码是什么?
- 128、函数接口类---Consumer
- kali2020之chrome安装代理插件
- JSP之JSTL标签
- 可视化大屏项目-大屏界面测试点梳理
- 移动互联网思维的5F法则
热门文章
- signature=12e3283d637b587235bcb4cbbfa1a5b3,A pathogen-inducible endogenous siRNA in plant immunity
- 程序员私活app排行_iOS程序员,失业就等于成为废人?
- sprintf函数_C语言源代码展示:常用转换函数实现原理
- ubuntu cmake安装_如何在Emacs中得到一个真正的Terminal?vterm安装指南
- java里面super(),Java中super
- wegame地下城不显示服务器,在电脑端wegame看不到旭旭宝宝?来吧我教你! - 地下城与勇士掌游宝...
- js ajax 访问java函数,将url分配给Java EE项目中的ajax(js)函数
- linux下安装Jira6.3
- 剑指offer:数据流中的中位数(小顶堆+大顶堆)
- leetcode -- 36.有效的数独