基于朴素贝叶斯算法的垃圾邮件分类 (Python实现)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(DIM)
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
小结
看 论 文
……
大神 交流
淘 经 验
……
写 代 码
实际应用中,需要考虑很多因素,下 溢是其中一个,词袋模型在解决文档分类 问比词集模型有所提高,还有其他一些方 面的改进,比如移除停用词。 实际生活中,避免将普通邮件当作垃 圾邮件比截获每一封垃圾邮件更为重要, 收件箱收到几封垃圾邮件还是可以忍受 的,但一封重要的邮件被过滤到垃圾箱被 忽视则完全不能忍,为解决这一问题,我 们需要为每个分类设立阈值,如spam阈值 为3,则必须p(spam)>3p(not_spam)时才归 类为spam。 ……其它问题。
fair excellent fair fair fair excellent excellent fair
class_buy_pc
no no yes yes yes no yes no
9
10 11 12 13 14
youth
senior youth mid mid senior
low
medium medium medium high medium
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
流形学习
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
流形学习
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
流程图:
获取训练样 本
确定特征属 性
准备阶段
对每个特征属
性就按所有划 分的条件概率
分类器训 练阶段
应用阶段
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
准备数据
从文本中构建 词向量(贝努 利模型)
East China Normal University
基于朴素贝叶斯算法的垃圾邮件分类 (Python实现)
Presentation
2015年7月1日
East China Normal University
CONTENTS
目录
0 2 4
简介 算法 实例:邮件分类
1 3 5
回顾:基本方法 拉普拉斯平滑 流行学习
2015年7月1日
East China Normal University
谢谢聆听
2015年7月1日
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
Review2:贝叶斯定理
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
Train_dataset
算法:
(表格来源:数据挖掘: 概念与技术 第3版)
从文本中构建邮件向量(words2vec): 通常有两种实现方式:一种是基于贝努利模型,一 种是基于多项式模型实现。我们采用前一种实现方式, 将每个词的出现与否作为一个特征(词集模型,相对应 的是词袋模型),不考虑单词在文档中出现的次数,因 此在这个意义上相当于每个假设词是等权重的。 具体如下: (1)遍历所有邮件,创建一个包含所有文档中出现的 不重复的单词集合(即特征)。 (2)对于每一封邮件创建一个与单词集合等长的0向 量。接着遍历邮件中所有单词,如果出现在单词集合中 则把对应的值设为1。
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
1
Review1:分类问题综述
垃圾邮 件
非垃圾 邮件
……
各种化验检测数据来推断病情,这时医生就好比一个分类器,而这个医生诊断 的准确率,与他当初受到的教育方式(构造方法)、病人的症状是否突出(待 分类数据的特性)以及医生的经验多少(训练样本数量)都有密切关系。
RID
1 2 3 4 5 6 7 8
age
youth youth mid senior senior senior mid youth
income
high high high medium low low low medium
student
no no no no yes yes yes no
credit_rating
2015年7月1日
East China Normal University
简介
朴素贝叶斯法:是基于贝叶
斯定理和特征条件独立假设的分类 方法。对于给定的训练数据集,首 先基于特征条件独立假设学习输入/ 输出的联合概率分布;然后基于此 模型对于给定的输入x,利用贝叶 斯定理求出后验概率最大的输出y. 朴素贝叶斯法实现简单,学习和预 测的效率都很高,是业界常用的一 种方法。
64
错误
正确
936
错误
准确率:0.936%
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
流形学习
本质上,流形学习就是给数据降维的过程。这 里假设数据是一个随机样本,采样自一个高维欧氏 空间中的流形(manifold),流形学习的任务就是把 这个高维流形映射到一个低维(例如2维)的空间 里。流形学习可以分为线性算法和非线性算法,前 者包括主成分分析(PCA)和线性判别分析 (LDA),后者包括等距映射(Isomap),拉普拉斯 特征映射(LE)等。流形学习可以用于特征的降维 和提取,为后续的基于特征的分析,如聚类和分 类,做铺垫,也可以直接应用于数据可视化等。
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
流形学习
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
流 形 学 习
算法的输入是所有数据在高维情况下两两之间的距离(记i与j的距离为Dij)。现在以降到 2维为例说明这个算法。 首先我们把所有数据点随机绘制在一张二维图像上,然后计算它们两两之间的距离dij,然 后我们计算出它与高维距离Dij的误差,根据这些误差,我们将每对数据点按比例移近或移 远,然后重新计算所有dij,不断重复到我们没法减少误差为止。假设有n个点: (1)输入每一对点之间的距离Dij。 (2)随机在2维平面生成n个点,点i坐标记为x[i]、y[i],计算它们两之间的距离,记为 dij. (3)对所有i 和j计算:eij=(dij-Dij) / Dij,每个点用一个二维的值grad[k]来表示它要 移动的距离的比例因子(初始为0,0)。在计算出每个eij后,计算 ((x[i] - x[j]) / dij)* eij,然后把它加到grad[i][x]上,同样把((y[i] - y[j]) / dij)* eij加到 grad[i][y]上。 (4)把所有eij的绝对值相加,为总误差,与前一次的总误差比较(初始化为无穷大),大于 前一次的话就停止。否则把它作为上一次总误差,继续。 对每个点,新的坐标为x[i] - = rate * grad[i][x] y[i] - = rate*grad[i][y],其中 rate是开始时自己定义的一个常数参数,该参数影响了点的移动速度。重新计算各个dij, 回到3。
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
如果遇到零概率值怎么办? 拉普拉斯平滑。
2015年7月1日
East China Normal University
yes
yes yes no yes no
fair
fair excellent excellent fair excellent
yes
yes yes yes yes no
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
源自文库
流行学习
小结
test:X=(age=youth,income=mediu,student=yes,credit_rating=fair) (1)计算先验概率 P(buy_pc=yes)=9/14=0.643 P(buy_pc=no )=5/14=0.357 条件概率: P(age=youth|buy_pc=yes)=2/9=0.22 P(age=youth|buy_pc=no)=2/5=0.600 P(income=medium|buy_pc=yes)=4/9=0.444 P(income=medium|buy_pc=no)=2/5=0.400 P(student=yes|buy_pc)=1/5=0.200 P(credit_rating=fair|buy_pc=yes)=6/9=0.667 P(credit_rating=fair|buy_pc=no)=2/5=0.400
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
训练模型(技 巧小结)
2015年7月1日
East China Normal University
回顾
算法
拉普拉斯平滑
邮件分类
流行学习
小结
交叉验证 (1000)
测试结果
[百分 比] [百分 0% 比 ] 正确