目录
1 背景与挖掘目标 (2)
2朴素贝叶斯分类算法 (2)
2.1贝叶斯公式 (2)
2.2 朴素贝叶斯分类过程 (4)
3 实验过程 (4)
3.1实验数据 (4)
3.2实验源代码 (5)
3.3测试结果分析 (9)
4 实验总结 (11)
4.1 开发环境与软件配置 (11)
4.2 小组分工 (11)
4.3 个人小结 (11)
参考文献 (12)
1 背景与挖掘目标
近年来,手机短信因其资费低廉、方便快捷的特点很快为人们所接受,成为最流行的通信方式之一,但是大量不良与垃圾信息的出现,干扰了广大手机用户的正常交流,影响了通信行业的良性发展,引起了社会各界的广泛关注。垃圾短信严重的泛滥不仅仅严重影响人们的正常生活,而且严重影响社会稳定和公共安全。垃圾短信的过滤成为了当前人们生活急需解决的一个重要任务,因此垃圾短信分类的研究具有重要的意义。
本文从短信文本内容角度出发,将垃圾短信过滤看作短信文本的两类识别问题(即识别短信是否属于垃圾短信的过程)。现在的垃圾短信过滤技术主要有:黑白名单过滤、关键词过滤和基于内容的过滤。然而这种单一功能的过滤技术的过滤能力比较有限,很多垃圾短信都过滤不了。本文设计并通过python编程朴素贝叶斯分类,将统计的短信进行分类挖掘,提取垃圾短信特征,将垃圾短信过滤出来。
2朴素贝叶斯分类算法
目前著名的文本分类方法有Bayes、LLSF、SVM、KNN、决策树等贝叶斯(Bayes)分类方法是一种最常用的有指导的方法"以贝叶斯定理为理论基础"是一种在已知先验概率与条件概率的情况下的模式识别方法) 贝叶斯分类器分两种:一种是朴素贝叶斯分类器"它假设一个属性对给定类的影响独立于其他属性"即特征独立性假设) 当假设成立时"与其他分类算法相比"朴素贝叶斯分类器是最精确的) 但是"文本属性之间的依赖关系是可能存在的) 另一种是贝叶斯网络分类器) 可以考虑属性之间的依赖程度"其计算复杂度比朴素贝叶斯高得多"更能反映真实文本的情况) 贝叶斯网络分类器实现十分复杂"目前还停留在理论的研究阶段) 因此本系统采用朴素贝叶斯分类算法解决短信内容检测+分类问题).朴素贝叶斯分类器假设特征对于给定类的影响独立于其它特征"即特征独立性假设)
2.1贝叶斯公式
•条件概率就是事件A 在另外一个事件B 已经发生条件下的发生概率。条件
概率表示为P ( A | B) ,读作“在B 条件下 A 的概率”。•
比如,在同一个样本空间Ω中的事件或者子集A 与 B ,如果随机从Ω中选出
的一个元素属于 B ,那么这个随机选择的元素还属于 A 的概率就定义为在B 的前提下A 的条件概率,所以:P ( A | B ) A B / B ,接着分子、分母都除以|Ω|得到•
P ( A| B)=P(A⋂B)•
P ( B)
••接着,考虑一个问题:P ( A | B) 是在B 发生的情况下A 发生的可能性。•首先,事件 B 发生之前,我们对事件 A 的发生有一个基本的概率判断,称为A 的先验概率,用P ( A) 表示;•
其次,事件B 发生之后,我们对事件A 的发生概率重新评估,称为 A 的后验概率,P ( A | B) 表示;•
类似的,事件A 发生之前,我们对事件B 的发生有一个基本的概率判断,称为 B 的先验概率,用P ( B) 表示;•
同样,事件A 发生之后,我们对事件B 的发生概率重新评估,称为B 的后验概率,
P ( B | A) 表示贝叶斯公式:
P ( A| B)=
P ( B| A) P ( A)
飞机黑匣子能记录多项关键数据P ( B)
•• •• 上述公式的推导其实非常简单,就是从条件概率推出。根据条件概率的定义,在事件B
发生的条件下事件 A 发生的概率
是•
• • • • • • • • • • • • • • • • • • • • • • • • • P(A|B)= P ( A⋂ B)
• •P ( B)
•• •• 同样地,在事件A 发生的条件下事件B 发生的概率•
全国医学院排名P ( B| A)=P(A⋂B)•
P ( A)
整理与合并上述两个方程式,便可以得到:••
P ( A| B ) P ( B )= P ( A ⋂ B )= P ( B | A) P ( A)• •• •• 接着,上式两边同除以P ( B) ,若P ( B) 是非零的,我们便可以得到贝叶斯公式的公式表达式:•
P ( A| B)= P ( B| A) P ( A)
P ( B) • • • • • • • • • • • • • • • • • • • • • • • • • ••
所以,贝叶斯公式可以直接根据条件概率的定义直接推出。
2.2 朴素贝叶斯分类过程
朴素贝叶斯分类是一种十分简单的分类算法,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。•
•朴素贝叶斯分类的正式定义如下:•
(1)设x ={a 1,a 2,..,a m )为一个待分类项,而每个a i 为x 的一个特征;
工作违纪检讨书范文(2)有类别集合C ={y 1,y 2,...,y K };•
(3)根据贝叶斯公式分别计算P (y 1|x ),P (y 2|x ),,P (y K |x ) ;•
(4)如果P (y k |x )=max{P (y 1|x ),P (y 2|x ),,P (y K |x )},则x ∈y k 。
那么现在的关键就是如何计算第 3 步中的各个条件概率。我们可以这么做:• ••
1、到一个已知分类的待分类项集合,这个集合叫做训练样本集;• ••
2、统计得到在各类别下各个特征的条件概率;•
P ( a 1| y 1), ,P (a m |y 1),P (a 1|y 2), ,P (a m |y 2),,P (a 1|y K ),,P (a m |y K )
3、根据贝叶斯公式有:•
P (y i |x )=
P (x |y i )P (y i )• P ( x )
因为分母对于所有类别为常数,所以只要将分子最大化即可,我们得到:• • • • • • • • • • • • • • • • • • • • • • • • • • • • P (y i |x )∝P (x |y i )P (y i ) •
通常称为贝叶斯模型。其中符号“∝”表示成正比例。•
坐冰桶内打麻将假设各特征是条件独立的,这个假设称为朴素贝叶斯假设,所以有:•
m
P ( x |y i ) P (y i )= P ( a 1|y i )
天枰座和什么星座配P ( a m |y i ) P (y i )= P (y i )∏P ( a j |y i )•
j=1 3 实验过程
3.1实验数据
初始短信数据 放于RawData 文件夹中,下面是部分截图: 0:代表正常短信
1:代表垃圾短信
可以看出短信分类的最大问题在于语意的理解。对中英文数字夹杂的语句进行分词,去除无意义的词汇,生成语意明确的等长词向量显得尤为重要。
3.2实验源代码
Load_dat.py脚本加载文件并将它分为训练内容和训练标签,保存到RawData文件夹下的train_content.json和train_label.json 文件。
垃圾短信分类的样本数据分为带标签数据和不带标签数据。其中带标签数据用于模型训练和测试,不带标签数据用于线上模拟。
好听网名大全
发布评论