Hadoop大作业课题.doc

网络大数据课程作业 目录 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中的网页)聚类,从而发现用户的兴趣模式并用于信息过滤和信息主动推荐等服务;数字图书馆服务;文档集合的自动整理等等。 2.2 主要的聚类方法 (1)基于划分的方法 基于划分的聚类算法(Partitioning Method)是文本聚类应用中最为普遍的算法。方法将数据集合分成若干个子集,它根据设定的划分数目k选出k个初始聚类中心,得到一个初始划分,然后采用迭代重定位技术,反复在k个簇之间重新计算每个簇的聚类中心,并重新分配每个簇中的对象,以改进划分的质量。使得到的划分满足“簇内相似度高,簇间相似度小”的聚类原则。典型的划分聚类方法有K-means算法和K-medoids算法,两者的区别在于簇代表点的计算方法不同。前者使用所有点的均值来代表簇,后者则采用类中某个数据对象来代表簇。为了对大规模的数据集进行聚类,以及处理复杂形状的聚类,各类改进的划分算法逐渐增多。 基于划分方法的优点是运行速度快,但该方法必须事先确定k的取值。算法容易局部收敛,且不同的初始聚类中心选取对聚类结果影响较大。为此,应用最广泛的k-means算法有很多变种,他们可能在初始k个聚类中心的选择、相似度的计算和计算聚类中心等策略上有所不同,最终实现聚类结果改进的目标。 (2)基于层次的方法 基于层次的聚类算法(Hierarchical Method)又叫“分级聚类算法”或“树聚类”,它通过分解给定的数据对象集来创建一个层次。这种聚类方法有两种基本的技术途径:一是先把每个对象看作一个簇,然后逐步对簇进行合并,直到所有对象合为一个簇,或满足一定条件为止;二是把所有对象看成一类,根据一些规则不断选择一个簇进行分解,直到满足一些预定的条件,如类的数目达到了预定值,或两个最近簇的距离达到阈值等。前者称为自下而上的凝聚式聚类,后者称为自上而下的分裂式聚类。 (3)基于密度的方法 绝大多数划分算法都是基于对象之间的距离进行聚类,这类方法只能发现圆形或球状的簇,较难发现任意形状的簇。为此,提出了基于密度的聚类算法(Density-Based Clustering Method),其主要思想是:只要邻近区域的对象或数据点的数目超过某个阈值,就继续聚类。即对给定类中的每个数据点,在一个给定范围的区域中至少包含某个数目的点,这样就能很好的过滤掉“噪声”数据,发现任意形状的簇。其基本出发点是,寻找低密度区域分离的高密度区域。 (4)基于网格的方法 基于网格的算法(Grid-Based Clustering Method)把对象空间量化为有限数目的单元,形成了一个网络结构。所用的聚类操作都在整个网络结构即量化的空间上进行。这种方法的一个突出的优点就是处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中的每一维的单元数目有关。 (5)基于模型的方法 基于模型的算法(Model-Based Clustering Method)试图优化给定的数据和某些数学模型之间的适应性。这样的算法经常是基于这样的假设,数据是根据潜在的概率分布生成的。它通过为每个聚类假设一个模型来发现符合相应模型的数据对象。根据标准统计方法并综合考虑“噪声”或异常数据,该方法可以自动确定聚类个数,从而得到鲁棒性较好的聚类方法。基于模型的算法主要有两

文档评论(0)

1亿VIP精品文档

相关文档