[发明专利]一种基于MapReduce的大型数据集聚类方法在审
申请号: | 201811099090.9 | 申请日: | 2018-09-20 |
公开(公告)号: | CN109271421A | 公开(公告)日: | 2019-01-25 |
发明(设计)人: | 韦鹏程;蔡银应;邹杨;黄思行;张艳霞 | 申请(专利权)人: | 重庆第二师范学院 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/27 |
代理公司: | 重庆市信立达专利代理事务所(普通合伙) 50230 | 代理人: | 包晓静 |
地址: | 400065*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 聚簇 算法 大型数据 聚类 集聚 数据处理技术 迭代计算 迭代完成 分配数据 格式转换 技术框架 计算开销 完整信息 原始数据 中心选择 传统的 准确率 迭代 过滤 改进 筛选 应用 研究 | ||
1.一种基于MapReduce的大型数据集聚类方法,其特征在于,所述基于MapReduce的大型数据集聚类方法包括以下步骤:
步骤一,原始数据的输入和格式转换;Hadoop定义了三种输入数据格式化方式:TextInputFormat、KeyValueInputFormat和SequenceFileInputFormat,进行聚类分析的数据为高维向量形式,选择SequenceFileInputFormat;调用Hadoop自带的InputDriver类;
步骤二,Canopy划分与筛选,得到初始的聚簇划分,并依据筛选条件确定对数据集合适的聚簇数目K,作为后续K-Means算法的K值;得到K个初始聚簇的聚簇中心信息,包括代表聚簇中心的特征向量、权重值、其T2范围内的数据点个数和T2范围外T1范围内的数据点个数;对全体数据进行Canopy聚类分析,根据T1、T2阈值为落在T2范围内的数据点加上强标记;通过一个MapReduce任务,包括一个map阶段和一个reduce阶段来实现设计目标;
步骤三,K-Means迭代,以Canopy聚类的结果作为初始聚簇划分,并且以被赋予更高权重的Canopy中心作为落在Canopy聚簇T2范围内的数据点集合的替代,参加K-Means迭代,实现过滤;通过一个完整的MapReduce任务完成每一次迭代,包括一个map阶段和一个reduce阶段;
步骤四,分配数据点,K-Means迭代完成后,得到k个聚簇的完整信息,将所有数据点分配到相应的聚簇中去;用一个MapReduce任务实现;在每个mapper上计算本地数据点与全局cluser集合中各cluster中心的距离并将数据点添加到距离最近的聚簇中去,并将结果输出到HDFS。
2.如权利要求1所述的基于MapReduce的大型数据集聚类方法,其特征在于,所述步骤二中AddObjtoCanopyList方法是将每个数据点加入到相应的Canopy聚簇中去;在Cleanup()方法中,程序输出<“centroid”,Canopycenter>键值对作为中间结果到下一个阶段;hadoop将每个mapper上形成的局部Canopy信息通过网络传输给唯一的reducer;
Canopyreduce阶段,唯一的reducer处理来自各个mapper的局部Canopy信息,形成全局Canopy集合并写入HDFS;需要修改全局Canopy集合中的Canopy中心的权重值,并根据n1/n2的值对Canopy集合进行筛选,以得到后续K-Means聚类的聚簇数目K;AddCanopycentertoCanopyList方法将局部Canopy中心作为数据点添加到全局canopy信息中,并重新计算得到全局canopy信息,包括更新后的中心向量、权重值、n1、n2信息;在将canopy中心信息写入分布式文件系统之前,Cleanup方法先做检验,以去掉不满足条件的canopy中心。
3.如权利要求1所述的基于MapReduce的大型数据集聚类方法,其特征在于,所述步骤三中第一次迭代时KMeansMapper从HDFS读取Canopy聚类结果,每次迭代都从HDFS读取上一次的K-Means聚类结果作为输入文件;在Canopy聚类阶段被做上强标记的数据点不参加距离函数计算;每个数据点经距离计算后加入距离最近的聚簇中心,并记录对聚簇产生的影响,用clusterObservation表示;NearestCluster方法是将本地机器上的数据点加入到距离最近的聚簇中去;
为每个聚簇安排一个相应的reducer,具体的映射函数由hadoop的jobtracker执行,对用户隐藏实现细节;Reducer汇总各个mapper发送来的局部cluster信息,形成全局cluster信息,并输出到HDFS,作为下次迭代的输入文件;Computeconvergence()方法计算是否达到迭代停止条件,如果已经收敛,则迭代过程至此为止;否则,执行cluster.computeParameters()方法,即重新计算聚簇各参数,以使得本次迭代的中间结果不会影响下次迭代。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆第二师范学院,未经重庆第二师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811099090.9/1.html,转载请声明来源钻瓜专利网。