基于MapReduce的旅游大数据客户细分方法技术

技术编号:15691817 阅读:37 留言:0更新日期:2017-06-24 05:20
本发明专利技术公开基于MapReduce的旅游大数据客户细分方法,涉及旅游大数据应用领域,以改进的K‑means方法为基础,将客户数据进行细分分片,通过构造Map函数、combine函数、Reduce函数来实现MapReduce算法的客户数据细分;Map函数读取每条客户数据分片并计算聚类中心,Map输出结果作为combine函数输入,combine函数计算新聚类中心又作为Reduce函数的输入,Reduce函数后算法收敛则算法结束,否则Reduce函数输出再作为Map函数输入进行迭代计算,直到算法收敛。本发明专利技术不仅为大型线上旅游企业提供决策支持,同时也为旅游主管部门监控、管理旅游市场提供了有效方法。

Customer segmentation method of large tourism data based on MapReduce

The invention discloses a method based on the tourism data MapReduce customer segmentation, relates to the field of tourism data application, using K improved means method based on customer segmentation data slice, by constructing a Map function, combine function, Reduce function to achieve customer segmentation and MapReduce algorithm; the Map function to read each customer data slice and calculate the clustering center, Map output as a result of the combine function input, combine function to calculate the new clustering center and Reduce as a function of the input, the Reduce function after convergence algorithm over, otherwise the output of the Reduce function and Map function as input for iteration until convergence. The invention not only provides decision support for large-scale online travel enterprises, but also provides an effective method for the tourism authorities to monitor and manage the tourist market.

【技术实现步骤摘要】
基于MapReduce的旅游大数据客户细分方法
本专利技术涉及旅游大数据应用领域,具体的说是基于MapReduce的旅游大数据客户细分方法。
技术介绍
在移动互联网和Web技术快速发展等因素的影响下,国内大型旅游OTA的业务量以前所未有的速度增长。在黄金周等旅游高峰期,每天的酒店预订量可达到几十万间。伴随着旅游消费产生了大量的过程采集、消费点评和产品推荐等数据,这些数据以各种形式保存到中心服务器上,包括文本、图片、声音、视频等。分阶段地对这些旅游过程中产生的海量数据进行挖掘和分析是对大型线上旅游企业提出的迫切挑战。目前,我国大型在线旅游企业数据挖掘的数据规模已达GB级甚至TB级,传统的分析手段已难以满足现实的需要,迫切需要一种针对旅游大数据的客户细分方法,从而可以进行有效的旅游客户细分、旅游客户维护和精准营销等商业活动。因而本专利技术提出一种基于MapReduce的旅游大数据客户细分方法。所述MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
技术实现思路
本专利技术针对目前技术发展的需求和不足之处,提供基于MapReduce的旅游大数据客户细分方法。本专利技术所述基于MapReduce的旅游大数据客户细分方法,解决上述技术问题采用的技术方案如下:所述基于MapReduce的旅游大数据客户细分方法,利用K-means算法中各对象到中心点的距离是独立运算的特点,运用三边关系定理的思想改进K-means算法对象归类的过程,并通过构造Map函数、combine函数与Reduce函数,Map函数读取每条客户数据分片并计算聚类中心,Map输出结果作为combine函数输入,combine函数计算新聚类中心又作为Reduce函数的输入,Reduce函数后算法收敛则算法结束,否则Reduce函数输出再作为Map函数输入进行迭代计算,直到算法收敛;最终实现MapReduce算法的旅游大数据客户细分。优选的,运用三边关系定理的思想改进K-means算法对象归类的过程,具体包括如下步骤:1)给定含有n个对象的数据集X,Cl为k个初始中心,l=1,2,……,k;2)计算每个聚类中心的距离,其中d(Ci,Cj),其中i,j=1,2,……,k;3)计算对象Xi与当前所在类中心的距离d(Xi,Cm);考察新的聚类中心Cj,若d(Cm,Cj)≥2d(Xi,Cm),说明Cj不是新的中心,可以不用计算d(Xi,Cj);否则,计算d(Xi,Cj),并与d(Xi,Cm)比较;继续步骤3,直到将Xi归属到最近的聚类中心。优选的,在用改进的K-means方法处理前,首先将客户数据以行形式存储,使得数据分片,且各分片之间数据不相关,分片过程由Hadoop完成,无需另外编程。优选的,通过Map函数从特定分片中逐行读取每条记录,计算它与k个中心点的距离,并标明它所属的新中心类型。优选的,通过combine函数对每个Map函数产生的结果进行本地化预处理,预先对本地Map函数结果进行计算,得出本地结果中各聚类对象的个数及各维数值之和,作为Reduce函数的输入。优选的,combine函数的输出是Reduce函数的输入,key是聚簇ID,value中包含该簇的对象数num和这些对象的各维数据之和;Reduce函数累加同一key的各num之和,并求各分量的均值,得到新的聚类中心,输出[key,value]。优选的,每次运用Reduce函数之后,判断偏差是否小于给定的阈值,若小于则算法收敛,否则将本轮Reduce结果作为map函数的输入进行下一轮的迭代。本专利技术所述基于MapReduce的旅游大数据客户细分方法与现有技术相比具有的有益效果是:本专利技术通过设计MapReduce的旅游大数据客户细分方法,主要解决了旅游大数据客户细分问题,可以进行有效的旅游客户细分、旅游客户维护和精准营销等商业活动;为旅游主部门或涉旅企业提供市场决策支撑、加强市场监管,协助其实现市场精细化营销,减少营销投入时间与成本。附图说明附图1为所述旅游大数据客户细分方法的流程示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本专利技术所述基于MapReduce的旅游大数据客户细分方法进一步详细说明。经典K-means算法:设有n个对象,划分成K类,讲过t此迭代,则经典K-means算法的时间复杂度为O(nkt)。可见,K-means算法在处理大数据集时相对有效,具有较好的扩展性;计算耗时主要集中在两个环节上:一是计算各对象到中心的距离,二是将对象归类到距离最近的中心点类的过程。在第二环节上,若能减少不必要的比较和计算,则能有效节省时间。运用(三角形)三边关系定理改进经典K-means算法中对象归类的过程,即借用三边关系定理的思想简化比较和计算过程,具体包括如下步骤:1)给定含有n个对象的数据集X,Cl为k个初始中心,l=1,2,……,k;2)计算每个聚类中心的距离,其中d(Ci,Cj),其中i,j=1,2,……,k;3)计算对象Xi与当前所在类中心的距离d(Xi,Cm);考察新的聚类中心Cj,若d(Cm,Cj)≥2d(Xi,Cm),说明Cj不是新的中心,可以不用计算d(Xi,Cj);否则,计算d(Xi,Cj),并与d(Xi,Cm)比较;继续步骤3,直到将Xi归属到最近的聚类中心。改进K-means算法的时间复杂度为O(nβd),其中:1≤β≤k是对象到中心点的计算次数;最好的情况是计算一次,最坏的情况是计算k次,当n较大时,能极大提高效率。本专利技术提出基于MapReduce的旅游大数据客户细分方法,以改进的K-means(聚类)方法为基础,将客户数据进行细分分片,通过构造Map函数、combine函数、Reduce函数来实现MapReduce算法的客户数据细分;如附图1所示,Map函数读取每条客户数据分片并计算聚类中心,Map输出结果作为combine函数输入,combine函数计算新聚类中心又作为Reduce函数的输入,Reduce函数后算法收敛则算法结束,否则Reduce函数输出再作为Map函数输入进行迭代计算,直到算法收敛。本专利技术不仅可以为大型线上旅游企业提供决策支持,同时也为旅游主管部门监控、管理旅游市场提供了有效方法。实施例:本实施例所述基于MapReduce的旅游大数据客户细分方法,利用K-means算法中各对象到中心点的距离是独立运算的特点,运用(三角形)三边关系定理的思想改进K-means算法对象归类的过程,并通过构造Map函数、combine函数与Reduce函数,来实现MapReduce算法的旅游大数据客户细分。K-means算法中计算各对象到中心点的距离被独立操作,各对象之间没有关联,K-means算法适用于分布式并行计算。因此用MapReduc本文档来自技高网...
基于MapReduce的旅游大数据客户细分方法

【技术保护点】
基于MapReduce的旅游大数据客户细分方法,其特征在于,利用K‑means算法中各对象到中心点的距离是独立运算的特点,运用三边关系定理的思想改进K‑means算法对象归类的过程,并通过构造Map函数、combine函数与Reduce函数,Map函数读取每条客户数据分片并计算聚类中心,Map输出结果作为combine函数输入,combine函数计算新聚类中心又作为Reduce函数的输入,Reduce函数后算法收敛则算法结束,否则Reduce函数输出再作为Map函数输入进行迭代计算,直到算法收敛;最终实现MapReduce算法的旅游大数据客户细分。

【技术特征摘要】
1.基于MapReduce的旅游大数据客户细分方法,其特征在于,利用K-means算法中各对象到中心点的距离是独立运算的特点,运用三边关系定理的思想改进K-means算法对象归类的过程,并通过构造Map函数、combine函数与Reduce函数,Map函数读取每条客户数据分片并计算聚类中心,Map输出结果作为combine函数输入,combine函数计算新聚类中心又作为Reduce函数的输入,Reduce函数后算法收敛则算法结束,否则Reduce函数输出再作为Map函数输入进行迭代计算,直到算法收敛;最终实现MapReduce算法的旅游大数据客户细分。2.根据权利要求1所述基于MapReduce的旅游大数据客户细分方法,其特征在于,运用三边关系定理的思想改进K-means算法对象归类的过程,具体包括如下步骤:1)给定含有n个对象的数据集X,Cl为k个初始中心,l=1,2,……,k;2)计算每个聚类中心的距离,其中d(Ci,Cj),其中i,j=1,2,……,k;3)计算对象Xi与当前所在类中心的距离d(Xi,Cm);考察新的聚类中心Cj,若d(Cm,Cj)≥2d(Xi,Cm),说明Cj不是新的中心,可以不用计算d(Xi,Cj);否则,计算d(Xi,Cj),并与d(Xi,Cm)比较;继续步骤3,直到将Xi归属到最近的聚类中心。3.根据权利要求2所述基...

【专利技术属性】
技术研发人员:张娜娜齐光鹏李强郑海兵李国生侯居永
申请(专利权)人:山东浪潮云服务信息科技有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1