hadoop下的mahout的kmeans测试.pptVIP

  • 22
  • 0
  • 约7.29千字
  • 约 33页
  • 2016-03-12 发布于安徽
  • 举报
本作品采用知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。 专业交流 模板超市 设计服务 NordriDesign中国专业PowerPoint媒体设计与开发 本作品的提供是以适用知识共享组织的公共许可( 简称“CCPL” 或 “许可”) 条款为前提的。本作品受著作权法以及其他相关法律的保护。对本作品的使用不得超越本许可授权的范围。 如您行使本许可授予的使用本作品的权利,就表明您接受并同意遵守本许可的条款。在您接受这些条款和规定的前提下,许可人授予您本许可所包括的权利。 查看全部… 基于hadoop分布式平台下的mahout中的kmeans测试 山东农业大学 shandong agriculture university 信息科学与工程学院 崔文斌 Time kmeans原理 二、mahout下的kmeans实现 三、mahout下的kmeans运行过程 四、运行中的问题 山东农业大学 shandong agriculture university 主要内容 一、kmeans原理 山东农业大学 shandong agriculture university kmeans算法的原理: k-means 算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的 一、kmeans原理 山东农业大学 shandong agriculture university kmeans算法流程:     首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 一、kmeans原理 山东农业大学 shandong agriculture university kmeans算法的原理: 输入:k, data[n];    (1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];    (2) 对于data[0]….data[n], 分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i;    (3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数;    (4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值。     二、mahout下的kmeans实现 山东农业大学 shandong agriculture university 1、概述: mahout下的kmeans算法实在kmeans与hadoop中间加上了一个中间层来建立kmeans与hadoop之间的联系,实现kmeans的map reduce的任务的分配等工作。kmeans中的核心代码没有变化 二、mahout下的kmeans实现 山东农业大学 shandong agriculture university 2、具体实现过程: 2.1、参数input指定待聚类的所有数据点,clusters指定初始聚类中心如果指定参数k,由org.apache.mahout.clustering.kmeans.RandomSeedGenerator.buildRandom 通过org.apache.hadoop.fs直接从input指定文件中随机读取k个点放入clusters中 二、mahout下的kmeans实现 山东农业大学 shandong agriculture university 2.2、  根据原数据点和上一次迭代(或初始聚类)的聚类中心计算本次迭代    的聚类中心,输出到clusters-N目录下。    该过程由org.apache.mahout.clustering.kmeans下的    KMeansMapper\KMeansCombiner\KMeansReducer\KMeansDriver实现        KMeansMapper:在configure中初始化mapper时读入上一次迭代产生或初始聚类中心    (每个mapper都读入所有的聚类中心);    map方法对输入的每个点,计算距离其最近的类,并加

文档评论(0)

1亿VIP精品文档

相关文档