Hadoop大作业剖析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络大数据课程作业 目录 1 实验环境部署 1 1.1 主机环境 1 1.2虚拟机环境 1 2 方法介绍 1 2.1 文本聚类 1 2.2 主要的聚类方法 2 2.3 K-means算法 3 2.4 Hadoop实现 4 2.5 Spark实现 7 3 实验结果统计 8 4 对两个平台上实现方法的对比 8 5 收获与建议 9 附录 10 网络大数据课程作业 1 实验环境部署 1.1 主机环境 处理器 Intel(R) Core(TM)2 Duo CPU 2.80GHz 内存 8.00GB 操作系统 WIN7SP1 64bit 1.2虚拟机环境 VMware? Workstation 10.0.2 build-1744117 处理器 2Core 内存 4GB 操作系统 Ubuntu12.04 LTS Desktop 32bit Hadoop与Spark环境在之前的练习中已经搭好。 2 方法介绍 2.1 文本聚类 文本聚类(Text clustering)主要是依据著名的聚类假设:同类的文档相似度较大,而不同类的文档相似度较小。作为一种无监督的机器学习方法,聚类由于不需要训练过程,以及不需要预先对文档手工标注类别,因此具有一定的灵活性和较高的自动化处理能力,已经成为对文本信息进行有效地组织、摘要和导航的重要手段。 文聚类可以生成一篇简明扼要的摘要文档;对搜索引擎返回的结果进行聚类,使用户迅速定位到所需要的信息对用户感兴趣的文档(如用户浏览器cache中的网页)聚类,从而发现用户的兴趣模式并用于信息过滤和信息主动推荐等服务数字图书馆服务文档集合的自动整理 同一聚类中的数据对象的相似度较高(或距离最近); 不同聚类中的数据对象的相似度较低 算法流程: 适当选择k个初始中心; 在第i次迭代中,对任意一个样本数据,求其到k个中心的距离,然后将该样本数据归到距离最短的中心所在的类; 对于每个类 对于所有的k个聚类中心,如果经过2、3的某次迭代法更新后,值保持不变,则迭代结束,否则继续迭代。 2.4 Hadoop实现 本次作业的实验数据为大量的中文短文本,包含未分词和已分词两种模式,而对于大规模的中文网站聚类,其流程见下图: 图1 中文聚类分析 根据这一完整的流程,我们先在hadoop下实现聚类,共有七个源文件: (1)WordFrequenceInDocument.java 提取中文分词去停词统计词频 ? WordCountsInDocuments.java 统计每个网页的单词数目 ? ? WordsInCorpusTFIDF.java 统计单词在多少个网页出现计算TFIDF建立词表 ? ? DocumentVetorBuid.java 建立网页向量随机选取K个网页作为中心点 ? ? Kmeans.java 判断网页属于哪一类更新中心点最后输出网页所属中心标号 ? ? KmeansDriver.java 控制 Mapreduc的Job顺序以及Kmeans迭代流程设置参数 ? ? DocTool.java 根据网页向量以及所有中心点向量输出网页所属的中心编号 网页向量以及初始中心点的选取在Mapreduce 简化Kmeans过程中的代码将计算网页向量与中心点向量之间的余弦距离并根据最大的余弦距离判断网页属于哪一类的方法抽象出来 Kmeans 的迭代过程中可以直接在调用简化了 Kmeans 主类的代码复杂度。 ?Kmeans主类由两个Mapreduce 组成一个是在迭代过程中更新中心点一个是生成最后的结果这两个 Mapreduce 的 Mapper 和 Rducer 如下: 表5 Kmeans聚类 2.5 Spark实现 Spark平台中的实现不需要分别编写Map方法和Reduce方法而是按照串行程序的正常逻辑顺序来编写 (1)输入的文件使用Hadoop实现中预处理之后的文件即样本文本特征向量集合可以直接进行KMeans聚类的处理 (2)随机生成k个(k=10)向量(维度和取值范围都与样本文本的特征向量一致)作为初始的k个中心; (3)使用map操作将每个样本文本特征向量其所属的类别映射到一起样本文本特征向量到每个中心的距离返回最近的中心ID (4)使用reduce操作按照映射到的中心ID来汇合汇合的过程中特征向量每个维度上数值都将累加计数器也随之增长 (5)计算新的k个中心与旧的k个中心的距离和若为实验结果统计 经统计,一共12142条样本文本,聚类到k=10类其中分类是9的分别为542、2172、1652、2698、30、2386、303、506、976、877条。 Hadoop的结果: 图2 Hadoop结果 Spark的结果: 图3 Spark结果 4 对两个平台上实

文档评论(0)

bbnnmm885599 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档