基于Spark垃圾邮件分类.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Spark的垃圾邮件识别—Bayes算法 项目简介 内容简介 在生活中,我们经常会遇到一些分类问题,例如买西瓜,根据一些条件判断买的是好瓜还是坏瓜,比如说拍瓜、以及看瓜的纹路。还有就是在生活中手机经常会收到一些短信,这些短信到底是正常的短信还是一些广告推销短信。 我想大家都使用过QQ邮箱吧。细心的同学都会发现里面有一个垃圾箱的地方,这里就是专门存放垃圾邮件的地方。首先后台会事先判断一封邮件是否是正常邮件还是垃圾邮件。如果是正常邮件,那么就正常显示在收件箱,如果判断为垃圾邮件就放在垃圾箱中,但是他也可能分错,所有在垃圾邮件中也有个选项这不是垃圾邮件的功能,那么下次就会正常显示了。其实这就是一个监督学习的例子。简单的说就是从已知到未知。通过大量的一直数据来对未知数据的一个预测、评判。 接下来我们就简单的通过Spark来进行垃圾邮件的识别操作。 涉及到的内容 Bayes的推导过程 Scala基础编程 文本表示TF-IDF RDD的基本操作。Transformation和Actions SparkMlib的Bayes的算法应用 实验环境 Ubuntu14.04 Spark1.6.1 准备工作 该项目难度一般,属于中等偏下难度,该项目适合有一定的Spark基础。 数据准备:网上下载的邮件数据,包括正常数据和垃圾邮件数据。一共差不多一万个邮件数据。里面的全是英文文本的邮件数据。 二、实现原理 通过将文本数据转换成数字向量数据,这里使用的是TF-IDF来转换,然后将数据添加上标签,返回一个LabeledPoint类型的数据,然后使用Bayes进行模型的建立。 下面就是该项目的流程图:后台 后台处理模块 Bayes模型数据ETL Bayes模型 数据ETL 邮件数据正常邮件 邮件数据 正常邮件 垃圾邮件 垃圾邮件 Spark Spark平台 当然这只是个简单的项目,在这里我们只是想邮件数据进行拆成单个的单词来转换成词向量,感兴趣的同学也可以研究一下NLP,比如说斯坦福的分词器,将邮件数据进行分词来转换成词向量,也许能够得到更好的提升,这些都是数据预处理的过程。熟话说,数据预处理的结果是直接决定一个模型好坏的高度的,而算法的选择和调优只是在无限的接近这个高度。 朴素贝叶斯(来自百度百科) 朴素:在理想状态下的各个条件相互独立 Bayes算法:是统计学中的分类算法。它是一种根据概率统计的知识来进行分类的算法。是基于条件概率来计算的。这属于监督学习, 表现形式:P(B[i]|A)=P(B[i])*P(A│B[i])/{P(B[1])*P(A│B[1]) +P(B[2])*P(A│B[2])+…+P(B[n])*P(A│B[n])} 推导过程:P(B|A)是一直A发生的概率的情况下B发生的概率 P(B|A) = P(A∩B) /P(B) P(A|B) = P(A∩B) / P(A) P(B|A)* P(B) = P(A|B)* P(A) P(A|B) = P(B|A)* P(B) / P(A) TF-IDF( 来自百度百科) TF-IDF是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频,IDF意思是逆向文件频率。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF * IDF,TF词频,IDF逆向文件频率。TF表示词条在文档d中出现的频率。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。但是实际上,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。这就是IDF的不足之处. 在一份给定的文件里,词频(TF)指的是某一个给定的词语在该文件中出现的频率。 举例 假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是3/100=0.03。一个计算文件频率 (IDF) 的方法是文件集里包含的文件总数除以测定有多少份文件出现过“母牛”一词。所以,如果“母牛”一词在1,000份文件出现过,而文件总数是10,000,000份的话,其逆向

文档评论(0)

小青欣文案铺 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档