本發(fā)明專利技術(shù)公開基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,涉及旅游大數(shù)據(jù)應(yīng)用領(lǐng)域,以改進(jìn)的K?means方法為基礎(chǔ),將客戶數(shù)據(jù)進(jìn)行細(xì)分分片,通過構(gòu)造Map函數(shù)、combine函數(shù)、Reduce函數(shù)來實(shí)現(xiàn)MapReduce算法的客戶數(shù)據(jù)細(xì)分;Map函數(shù)讀取每條客戶數(shù)據(jù)分片并計(jì)算聚類中心,Map輸出結(jié)果作為combine函數(shù)輸入,combine函數(shù)計(jì)算新聚類中心又作為Reduce函數(shù)的輸入,Reduce函數(shù)后算法收斂則算法結(jié)束,否則Reduce函數(shù)輸出再作為Map函數(shù)輸入進(jìn)行迭代計(jì)算,直到算法收斂。本發(fā)明專利技術(shù)不僅為大型線上旅游企業(yè)提供決策支持,同時(shí)也為旅游主管部門監(jiān)控、管理旅游市場(chǎng)提供了有效方法。
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.
【技術(shù)實(shí)現(xiàn)步驟摘要】
基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法
本專利技術(shù)涉及旅游大數(shù)據(jù)應(yīng)用領(lǐng)域,具體的說是基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法。
技術(shù)介紹
在移動(dòng)互聯(lián)網(wǎng)和Web技術(shù)快速發(fā)展等因素的影響下,國(guó)內(nèi)大型旅游OTA的業(yè)務(wù)量以前所未有的速度增長(zhǎng)。在黃金周等旅游高峰期,每天的酒店預(yù)訂量可達(dá)到幾十萬間。伴隨著旅游消費(fèi)產(chǎn)生了大量的過程采集、消費(fèi)點(diǎn)評(píng)和產(chǎn)品推薦等數(shù)據(jù),這些數(shù)據(jù)以各種形式保存到中心服務(wù)器上,包括文本、圖片、聲音、視頻等。分階段地對(duì)這些旅游過程中產(chǎn)生的海量數(shù)據(jù)進(jìn)行挖掘和分析是對(duì)大型線上旅游企業(yè)提出的迫切挑戰(zhàn)。目前,我國(guó)大型在線旅游企業(yè)數(shù)據(jù)挖掘的數(shù)據(jù)規(guī)模已達(dá)GB級(jí)甚至TB級(jí),傳統(tǒng)的分析手段已難以滿足現(xiàn)實(shí)的需要,迫切需要一種針對(duì)旅游大數(shù)據(jù)的客戶細(xì)分方法,從而可以進(jìn)行有效的旅游客戶細(xì)分、旅游客戶維護(hù)和精準(zhǔn)營(yíng)銷等商業(yè)活動(dòng)。因而本專利技術(shù)提出一種基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法。所述MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算。概念"Map(映射)"和"Reduce(歸約)",是它們的主要思想,都是從函數(shù)式編程語言里借來的,還有從矢量編程語言里借來的特性。它極大地方便了編程人員在不會(huì)分布式并行編程的情況下,將自己的程序運(yùn)行在分布式系統(tǒng)上。當(dāng)前的軟件實(shí)現(xiàn)是指定一個(gè)Map(映射)函數(shù),用來把一組鍵值對(duì)映射成一組新的鍵值對(duì),指定并發(fā)的Reduce(歸約)函數(shù),用來保證所有映射的鍵值對(duì)中的每一個(gè)共享相同的鍵組。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)針對(duì)目前技術(shù)發(fā)展的需求和不足之處,提供基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法。本專利技術(shù)所述基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,解決上述技術(shù)問題采用的技術(shù)方案如下:所述基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,利用K-means算法中各對(duì)象到中心點(diǎn)的距離是獨(dú)立運(yùn)算的特點(diǎn),運(yùn)用三邊關(guān)系定理的思想改進(jìn)K-means算法對(duì)象歸類的過程,并通過構(gòu)造Map函數(shù)、combine函數(shù)與Reduce函數(shù),Map函數(shù)讀取每條客戶數(shù)據(jù)分片并計(jì)算聚類中心,Map輸出結(jié)果作為combine函數(shù)輸入,combine函數(shù)計(jì)算新聚類中心又作為Reduce函數(shù)的輸入,Reduce函數(shù)后算法收斂則算法結(jié)束,否則Reduce函數(shù)輸出再作為Map函數(shù)輸入進(jìn)行迭代計(jì)算,直到算法收斂;最終實(shí)現(xiàn)MapReduce算法的旅游大數(shù)據(jù)客戶細(xì)分。優(yōu)選的,運(yùn)用三邊關(guān)系定理的思想改進(jìn)K-means算法對(duì)象歸類的過程,具體包括如下步驟:1)給定含有n個(gè)對(duì)象的數(shù)據(jù)集X,Cl為k個(gè)初始中心,l=1,2,……,k;2)計(jì)算每個(gè)聚類中心的距離,其中d(Ci,Cj),其中i,j=1,2,……,k;3)計(jì)算對(duì)象Xi與當(dāng)前所在類中心的距離d(Xi,Cm);考察新的聚類中心Cj,若d(Cm,Cj)≥2d(Xi,Cm),說明Cj不是新的中心,可以不用計(jì)算d(Xi,Cj);否則,計(jì)算d(Xi,Cj),并與d(Xi,Cm)比較;繼續(xù)步驟3,直到將Xi歸屬到最近的聚類中心。優(yōu)選的,在用改進(jìn)的K-means方法處理前,首先將客戶數(shù)據(jù)以行形式存儲(chǔ),使得數(shù)據(jù)分片,且各分片之間數(shù)據(jù)不相關(guān),分片過程由Hadoop完成,無需另外編程。優(yōu)選的,通過Map函數(shù)從特定分片中逐行讀取每條記錄,計(jì)算它與k個(gè)中心點(diǎn)的距離,并標(biāo)明它所屬的新中心類型。優(yōu)選的,通過combine函數(shù)對(duì)每個(gè)Map函數(shù)產(chǎn)生的結(jié)果進(jìn)行本地化預(yù)處理,預(yù)先對(duì)本地Map函數(shù)結(jié)果進(jìn)行計(jì)算,得出本地結(jié)果中各聚類對(duì)象的個(gè)數(shù)及各維數(shù)值之和,作為Reduce函數(shù)的輸入。優(yōu)選的,combine函數(shù)的輸出是Reduce函數(shù)的輸入,key是聚簇ID,value中包含該簇的對(duì)象數(shù)num和這些對(duì)象的各維數(shù)據(jù)之和;Reduce函數(shù)累加同一key的各num之和,并求各分量的均值,得到新的聚類中心,輸出[key,value]。優(yōu)選的,每次運(yùn)用Reduce函數(shù)之后,判斷偏差是否小于給定的閾值,若小于則算法收斂,否則將本輪Reduce結(jié)果作為map函數(shù)的輸入進(jìn)行下一輪的迭代。本專利技術(shù)所述基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法與現(xiàn)有技術(shù)相比具有的有益效果是:本專利技術(shù)通過設(shè)計(jì)MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,主要解決了旅游大數(shù)據(jù)客戶細(xì)分問題,可以進(jìn)行有效的旅游客戶細(xì)分、旅游客戶維護(hù)和精準(zhǔn)營(yíng)銷等商業(yè)活動(dòng);為旅游主部門或涉旅企業(yè)提供市場(chǎng)決策支撐、加強(qiáng)市場(chǎng)監(jiān)管,協(xié)助其實(shí)現(xiàn)市場(chǎng)精細(xì)化營(yíng)銷,減少營(yíng)銷投入時(shí)間與成本。附圖說明附圖1為所述旅游大數(shù)據(jù)客戶細(xì)分方法的流程示意圖。具體實(shí)施方式為使本專利技術(shù)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對(duì)本專利技術(shù)所述基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法進(jìn)一步詳細(xì)說明。經(jīng)典K-means算法:設(shè)有n個(gè)對(duì)象,劃分成K類,講過t此迭代,則經(jīng)典K-means算法的時(shí)間復(fù)雜度為O(nkt)??梢?,K-means算法在處理大數(shù)據(jù)集時(shí)相對(duì)有效,具有較好的擴(kuò)展性;計(jì)算耗時(shí)主要集中在兩個(gè)環(huán)節(jié)上:一是計(jì)算各對(duì)象到中心的距離,二是將對(duì)象歸類到距離最近的中心點(diǎn)類的過程。在第二環(huán)節(jié)上,若能減少不必要的比較和計(jì)算,則能有效節(jié)省時(shí)間。運(yùn)用(三角形)三邊關(guān)系定理改進(jìn)經(jīng)典K-means算法中對(duì)象歸類的過程,即借用三邊關(guān)系定理的思想簡(jiǎn)化比較和計(jì)算過程,具體包括如下步驟:1)給定含有n個(gè)對(duì)象的數(shù)據(jù)集X,Cl為k個(gè)初始中心,l=1,2,……,k;2)計(jì)算每個(gè)聚類中心的距離,其中d(Ci,Cj),其中i,j=1,2,……,k;3)計(jì)算對(duì)象Xi與當(dāng)前所在類中心的距離d(Xi,Cm);考察新的聚類中心Cj,若d(Cm,Cj)≥2d(Xi,Cm),說明Cj不是新的中心,可以不用計(jì)算d(Xi,Cj);否則,計(jì)算d(Xi,Cj),并與d(Xi,Cm)比較;繼續(xù)步驟3,直到將Xi歸屬到最近的聚類中心。改進(jìn)K-means算法的時(shí)間復(fù)雜度為O(nβd),其中:1≤β≤k是對(duì)象到中心點(diǎn)的計(jì)算次數(shù);最好的情況是計(jì)算一次,最壞的情況是計(jì)算k次,當(dāng)n較大時(shí),能極大提高效率。本專利技術(shù)提出基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,以改進(jìn)的K-means(聚類)方法為基礎(chǔ),將客戶數(shù)據(jù)進(jìn)行細(xì)分分片,通過構(gòu)造Map函數(shù)、combine函數(shù)、Reduce函數(shù)來實(shí)現(xiàn)MapReduce算法的客戶數(shù)據(jù)細(xì)分;如附圖1所示,Map函數(shù)讀取每條客戶數(shù)據(jù)分片并計(jì)算聚類中心,Map輸出結(jié)果作為combine函數(shù)輸入,combine函數(shù)計(jì)算新聚類中心又作為Reduce函數(shù)的輸入,Reduce函數(shù)后算法收斂則算法結(jié)束,否則Reduce函數(shù)輸出再作為Map函數(shù)輸入進(jìn)行迭代計(jì)算,直到算法收斂。本專利技術(shù)不僅可以為大型線上旅游企業(yè)提供決策支持,同時(shí)也為旅游主管部門監(jiān)控、管理旅游市場(chǎng)提供了有效方法。實(shí)施例:本實(shí)施例所述基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,利用K-means算法中各對(duì)象到中心點(diǎn)的距離是獨(dú)立運(yùn)算的特點(diǎn),運(yùn)用(三角形)三邊關(guān)系定理的思想改進(jìn)K-means算法對(duì)象歸類的過程,并通過構(gòu)造Map函數(shù)、combine函數(shù)與Reduce函數(shù),來實(shí)現(xiàn)MapReduce算法的旅游大數(shù)據(jù)客戶細(xì)分。K-means算法中計(jì)算各對(duì)象到中心點(diǎn)的距離被獨(dú)立操作,各對(duì)象之間沒有關(guān)聯(lián),K-means算法適用于分布式并行計(jì)算。因此用MapReduc本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,其特征在于,利用K?means算法中各對(duì)象到中心點(diǎn)的距離是獨(dú)立運(yùn)算的特點(diǎn),運(yùn)用三邊關(guān)系定理的思想改進(jìn)K?means算法對(duì)象歸類的過程,并通過構(gòu)造Map函數(shù)、combine函數(shù)與Reduce函數(shù),Map函數(shù)讀取每條客戶數(shù)據(jù)分片并計(jì)算聚類中心,Map輸出結(jié)果作為combine函數(shù)輸入,combine函數(shù)計(jì)算新聚類中心又作為Reduce函數(shù)的輸入,Reduce函數(shù)后算法收斂則算法結(jié)束,否則Reduce函數(shù)輸出再作為Map函數(shù)輸入進(jìn)行迭代計(jì)算,直到算法收斂;最終實(shí)現(xiàn)MapReduce算法的旅游大數(shù)據(jù)客戶細(xì)分。
【技術(shù)特征摘要】
1.基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,其特征在于,利用K-means算法中各對(duì)象到中心點(diǎn)的距離是獨(dú)立運(yùn)算的特點(diǎn),運(yùn)用三邊關(guān)系定理的思想改進(jìn)K-means算法對(duì)象歸類的過程,并通過構(gòu)造Map函數(shù)、combine函數(shù)與Reduce函數(shù),Map函數(shù)讀取每條客戶數(shù)據(jù)分片并計(jì)算聚類中心,Map輸出結(jié)果作為combine函數(shù)輸入,combine函數(shù)計(jì)算新聚類中心又作為Reduce函數(shù)的輸入,Reduce函數(shù)后算法收斂則算法結(jié)束,否則Reduce函數(shù)輸出再作為Map函數(shù)輸入進(jìn)行迭代計(jì)算,直到算法收斂;最終實(shí)現(xiàn)MapReduce算法的旅游大數(shù)據(jù)客戶細(xì)分。2.根據(jù)權(quán)利要求1所述基于MapReduce的旅游大數(shù)據(jù)客戶細(xì)分方法,其特征在于,運(yùn)用三邊關(guān)系定理的思想改進(jìn)K-means算法對(duì)象歸類的過程,具體包括如下步驟:1)給定含有n個(gè)對(duì)象的數(shù)據(jù)集X,Cl為k個(gè)初始中心,l=1,2,……,k;2)計(jì)算每個(gè)聚類中心的距離,其中d(Ci,Cj),其中i,j=1,2,……,k;3)計(jì)算對(duì)象Xi與當(dāng)前所在類中心的距離d(Xi,Cm);考察新的聚類中心Cj,若d(Cm,Cj)≥2d(Xi,Cm),說明Cj不是新的中心,可以不用計(jì)算d(Xi,Cj);否則,計(jì)算d(Xi,Cj),并與d(Xi,Cm)比較;繼續(xù)步驟3,直到將Xi歸屬到最近的聚類中心。3.根據(jù)權(quán)利要求2所述基...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張娜娜,齊光鵬,李強(qiáng),鄭海兵,李國(guó)生,侯居永,
申請(qǐng)(專利權(quán))人:山東浪潮云服務(wù)信息科技有限公司,
類型:發(fā)明
國(guó)別省市:山東,37
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。