宋柯萱
摘要:作為開源軟件的Hadoop具有強大的數(shù)據(jù)處理功能,具有容錯性強,能夠快速地對網(wǎng)絡中的大數(shù)據(jù)信息進行獲取與處理,可以有效解決數(shù)據(jù)處理過程中的伸縮性問題,為用戶獲取有用的信息,通過對用戶主題行為數(shù)據(jù)挖掘方式特征進行分析,探究了對用戶行為數(shù)據(jù)挖掘的聚類處理的方法與用戶特征聚類數(shù)據(jù)的處理方法,該方法具有很強的適應性,能夠保證Hadoop平臺對大數(shù)據(jù)進行處理與分析。
關鍵詞:Hadoop;大數(shù)據(jù);分析;優(yōu)化
中圖分類號:TP391? 文獻標識碼:A
文章編號:1009-3044(2021)29-0037-03
在具體的大數(shù)據(jù)處理與分析的過程中,Hadoop平臺具有很強的適應新,它分別利用MapReduce 和HDFS 的功能來實現(xiàn)數(shù)據(jù)分析,而HDFS是一個可靠的分布式的文件系統(tǒng),便于對分布式的數(shù)據(jù)進行處理。Hadoop 的優(yōu)勢在于它具有超高的數(shù)據(jù)吞吐量和訪問能力,能夠?qū)A康男畔?shù)據(jù)進行存儲與處理。在進行數(shù)據(jù)挖掘時,利用 MapReduce 向 Hadoop建立群體信息提交時,相應的數(shù)據(jù)就會按照片段劃分處理,并結(jié)合相應的數(shù)據(jù)聚合、關鍵詞來完成海量數(shù)據(jù)的處理。
1基于用戶主題行為數(shù)據(jù)挖掘
Hadoop平臺在進行數(shù)據(jù)挖掘時,需要為不同數(shù)據(jù)的挖掘提供接口服務,結(jié)合數(shù)據(jù)挖掘設計的主題,利用 Map/Reduce 算法,將文本劃分為幾個小的模塊進行處理,在不同的模塊之間都重復執(zhí)行相同的算法,直到完成整個數(shù)據(jù)的挖掘。利用Ha?doop平臺可通過分布式存儲技術(shù)對挖掘的數(shù)據(jù)進行存儲,而且處理效率與吞吐率高。Hadoop平臺能自動處理分析失敗的節(jié)點,并重新按照數(shù)據(jù)處理的標準來挖掘數(shù)據(jù),能整體提高數(shù)據(jù)處理的效率。Hadoop平臺中Map/Reduce技術(shù)大數(shù)據(jù)處理的關鍵技術(shù),其中,HDFS 和HBase技術(shù)為平臺的基礎,是數(shù)據(jù)處理的關鍵,HDFS是 Hadoop 大數(shù)據(jù)平臺核心技術(shù),能實現(xiàn)大規(guī)模的數(shù)據(jù)檢索與處理,并采用流的形式快速地對數(shù)據(jù)進行訪問,利用Map/Reduce算法,對分塊的數(shù)據(jù)進行檢索與挖掘,從而完成整個數(shù)據(jù)的處理技術(shù)。
基于用戶主題的數(shù)據(jù)一般都是安全提前規(guī)定的關鍵詞保存于 Hadoop分布式文件系統(tǒng)中,并根據(jù)用戶的定義的主題與標準,將數(shù)據(jù)集劃分成不同的切片,形成若干個數(shù)據(jù)子集,然后利用事先設計的MapReduce算法,對數(shù)據(jù)子集進行檢索計算分析,完成整個用戶行為的數(shù)據(jù)處理。具體的數(shù)據(jù)挖掘步驟如下:
1)數(shù)據(jù)的初始化處理。主要是對保存于分布式文件系統(tǒng)(HDFS)中數(shù)據(jù)切片進行處理,將獲得的數(shù)據(jù)作為初始化的數(shù)據(jù)作為關鍵集的值,并得到<key,value>鍵值對數(shù)據(jù),根據(jù)數(shù)據(jù)分析的要求,將key定義成用戶編號,value定義成用戶數(shù)據(jù)行為信息,完成HDFS 中的所有數(shù)據(jù)處理。
2)樣本數(shù)據(jù)處理。通過 Map任務節(jié)點對初始化處理的用戶主題數(shù)據(jù)進行樣本密度求解分析,為了提高數(shù)據(jù)的效率,按照最大權(quán)值計算法的方法獲取主題數(shù)據(jù)幾個簇集,結(jié)合數(shù)據(jù)挖掘的要求,計算出各個簇集元素的簇 key、reduce 節(jié)點的關鍵值,使之與key值一致的簇集對應一起,形成一個統(tǒng)一的key值編號,作為整體數(shù)據(jù)處理的簇號。
3)數(shù)據(jù)的聚合處理。為了降低計算時所需的I/O通信代價,對HDFS處理后的數(shù)據(jù)集中,將各分區(qū)中key值相同的信息聚合在一起,形成數(shù)據(jù)聚合處理的基本要求。
4)哈希分區(qū)處理。根據(jù)設計的依據(jù)定義的要求,分區(qū)函數(shù) Partition進行處理,將計算出的值作為key值,形成若干個數(shù)據(jù)存儲區(qū)域,并把各分區(qū)的數(shù)據(jù)進行Reduce 函數(shù)定義,從而能完成用戶主題的行為數(shù)據(jù)挖掘。
2對用戶行為數(shù)據(jù)挖掘的聚類處理
2.1數(shù)據(jù)聚類處理的過程
在Hadoop平臺的數(shù)據(jù)處理中,常用的聚類方法為k-means 方法,它處理數(shù)據(jù)的效率高,應用十分廣泛,由于數(shù)據(jù)處理比較復雜,采用k-means方法對聚類數(shù)據(jù)處理時,需要合理的選擇聚類中心的數(shù)據(jù),這是數(shù)據(jù)聚類處理的關鍵,如果選擇的不夠合理,就不能選擇局部最優(yōu)方案,不利于數(shù)據(jù)的聚類處理。利用Hadoop平臺聚合數(shù)據(jù),需要優(yōu)化k-means方法,結(jié)合KL散度方法,對挖掘用戶行為數(shù)據(jù)聚合處理,將得到聚類數(shù)量k 與初始聚類中心進行比對,初始聚類中心會對相同簇中用戶的行為數(shù)據(jù)進行處理,將用戶的行為數(shù)據(jù)的平均距離d產(chǎn)生一定的影響,從而能夠得到如圖1所示的k與d 間的關系。
通過圖1可以看出,在k值相對較小的情況下,需要處理的用戶行為聚類數(shù)據(jù)量比較小,在相同數(shù)據(jù)簇部門用戶的行為數(shù)據(jù)出現(xiàn)了模糊化、邊緣化的情況,簇中平均距離d相對較大,說明數(shù)據(jù)的聚合處理效果不夠理想。在k值逐漸升高變化,d值會逐漸降低并趨向平穩(wěn),數(shù)據(jù)用戶行為的數(shù)據(jù)也變得集中,在k 值達到一定水平后,d值趨向平穩(wěn),說明挖掘的數(shù)據(jù)在經(jīng)過聚合處理之后,能夠獲得相應的要求。結(jié)合k與d之間的變化特性,數(shù)據(jù)聚類處理的步驟如下:
(1)結(jié)合k值與d值的對應關系,利用k-means方法求出二者相對應的關系值。
(2)利用k-means方法,選擇數(shù)據(jù)分析點,求出d值的改變趨勢,具體計算方法如下:
(3)對值進行計算分析,確定的變化區(qū)間,從而能夠獲取簇內(nèi)值改變頻率的變化區(qū)間,在這里規(guī)定,便于進行后期的聚類處理。
2.2聚類中心的選擇
在完成的區(qū)間分析之后,就可以k-means方法不斷縮小d值的區(qū)分范圍,并獲得相應的k值。在進行數(shù)據(jù)聚類分析時,首先要選擇聚類中心的問題,這就需要對聚類的數(shù)據(jù)密度進行處理,采用KL散度對數(shù)據(jù)聚類中心進行處理。通常同簇內(nèi)用戶的主體數(shù)據(jù)點分布相對密集,在與聚類中心點距離越大,數(shù)據(jù)密度就越大,和中心點距離越大密度越小,在具體的數(shù)據(jù)挖掘過程中,如果數(shù)據(jù)挖掘周圍的密度較大,其余空間的數(shù)據(jù)聚合對象密度就越小,利用這種方法來分析用戶主題數(shù)據(jù)的分布情況,可以將其作為數(shù)據(jù)處理的初始聚類中心,為Hadoop 平臺的后續(xù)數(shù)據(jù)處理奠定基礎。
(1)將通過 Hadoop 平臺挖掘產(chǎn)生的數(shù)據(jù)集合用進行表示與描述,那么對數(shù)據(jù)對象j 的KL散度進行計算,具體的方法如下:
通過計算就會產(chǎn)生差異矩陣S,就是由計算后若干個元素組成,然后利用升序排列的方法形成KL散度。
(2)k值與d值之間的平均距離計算方法如下:
(3)數(shù)據(jù)挖掘的密度值計算。將矩陣S 中的第i行中和數(shù)據(jù)a 間隔超過di2 的數(shù)據(jù)對象進行刪除,就能方便的求出挖掘數(shù)據(jù)對象a平均間距,從而可以有效地計算數(shù)據(jù)挖掘的密度值,具體的方法為:,在計算出最大值后,就可以當?shù)谝粋€最大值作為聚類的中心點,然后利用map 函數(shù)對用戶行為的Value 的特征向量進行計算,按照數(shù)據(jù)對象的密度值,進行排序計算,直到計算到選擇的k個中心點,形成相應的簇號key值。
(4)如果通過上述的計算過程處理時,一直到中心點的數(shù)據(jù)不足時,可以認為計算出的密度值為最大,這時將d減少一半后重新進行計算,直到計算出符合挖掘條件的聚類中心。
(5)對聚類結(jié)果進行分區(qū)處理。主要將初步挖掘的數(shù)據(jù)進行處理,依據(jù)key值對鍵信息,將挖掘的數(shù)據(jù)進行分區(qū),形成若干個區(qū)域,利用reduce 函數(shù)計算處理,將分區(qū)中key相同的信息進行合并處理,直到聚類結(jié)果所有數(shù)據(jù)達到穩(wěn)定狀態(tài),從而能夠得到數(shù)據(jù)挖掘的聚類結(jié)果。
3對挖掘數(shù)據(jù)的用戶特征提取
3.1用戶特征數(shù)據(jù)提取計算方法
用戶行為數(shù)據(jù)特征提取是用戶數(shù)據(jù)信息進行管理的關鍵與基礎,在具體的處理過程中,一般采用線性特征提取的方法進行計算,但是在具體的分析計算中,用戶數(shù)據(jù)規(guī)模比較大,類內(nèi)的散度矩陣往往會出現(xiàn)奇異值,就需要對線性特征提取的方法進行改進,來提取聚類處理后的數(shù)據(jù)挖掘的特征。
假設用戶行為數(shù)據(jù)樣本點為l維度中心化向量,利用主干成分法可以計算出數(shù)據(jù)樣本的協(xié)方差矩陣,,但是采用主干成分法處理用戶行為特征樣本,主要用于處理數(shù)據(jù)量大,計算復雜度數(shù)據(jù)處理中,屬于批處理的方法,往往會產(chǎn)生較大的數(shù)據(jù)誤差。針對主成分分析方法在提取用戶特征數(shù)據(jù)的弊端,需要對其進行優(yōu)化,降低數(shù)據(jù)計算的復雜度,通過采用增量計算的方法,重新對聚類數(shù)據(jù)特征進行提取計算。
假設用戶行為數(shù)據(jù)聚類數(shù)據(jù)流按如下的樣本向量進行收集,這樣的向量樣本可能比較大,確定v(n)
為d 為數(shù)據(jù)向量,為了提高用戶特征數(shù)據(jù)聚類的準確性,要對樣本的數(shù)據(jù)均值進行分析,假設 v(n)的均值為0,可以采用來描述維協(xié)方差的矩陣,這就能方便地對增量更新對方差矩陣進行計算,來得到用戶的用戶行為聚類特征,具體的計算方法如下:
為了進一步獲取聚類特征數(shù)據(jù),假設u(0)= u(1),這就能確定聚類數(shù)據(jù)特征的第一個特征數(shù)據(jù)方向,然后針對數(shù)據(jù)增量估計,將用戶聚類特征計算方法轉(zhuǎn)換為遞歸計算的方法:
其中,代表整個特征矩陣的方差,用戶行為特征
數(shù)據(jù)的特征向量與特征值主要是通過? u 與的方法進行計算。
然后繼續(xù)通過上述過程與方法不斷進行計算,從而能夠獲取的為第一階向量特征數(shù)據(jù),第二階向量的數(shù)據(jù)可利用第二階向量映射獲取,通過多樣的迭代計算,具體的計算方法為:
這樣通過不斷的反復迭代計算,將式中的 v(n)值不斷迭代輸入計算,直到完成整個數(shù)據(jù)的處理,獲取相關的特征值。這種計算方法不僅能有效地避免協(xié)方差矩陣特征值,還提高算法的效率,能有效地計算用戶特征值的復雜度,從而能夠提高用戶特征數(shù)據(jù)的收斂性特征,實現(xiàn)整個數(shù)據(jù)挖掘計算處理。
3.2集群擴展性分析
集群擴展性主要在用戶行為數(shù)據(jù)增量呈現(xiàn)幾何級數(shù)變化的狀態(tài)下,算法往往會受到限制,即隨著用電數(shù)據(jù)量的逐漸增多,在運行Hadoop平臺的過程中,采用增加節(jié)點的形式來提升數(shù)據(jù)處理的吞吐量,便于快速對數(shù)據(jù)進行處理,如果集群的擴展性優(yōu)良,就說明利用該方法能夠?qū)Υ笠?guī)模的數(shù)據(jù)進行處理。為保證數(shù)據(jù)挖掘的有效性,采用了用戶行為數(shù)據(jù)量大小分別為 200M、400M、1000M、1500M、2000M時,對數(shù)據(jù)處理的效果進行分析,在不同的節(jié)點具體的運行效果如圖2所示。
通過圖2 的分析可以看出,在用戶的行為特征數(shù)據(jù)低于400M 的情況下,Hadoop平臺在并行節(jié)點數(shù)量增加的情況下,平臺的運行效率保持穩(wěn)定,在用戶的行為特征數(shù)據(jù)量達到2000M 的情況下,Hadoop平臺的并行節(jié)點數(shù)量增加的情況下,系統(tǒng)平臺運行效率也保持著穩(wěn)定,說明采用 Hadoop平臺對大規(guī)模的數(shù)據(jù)進行挖掘出來的數(shù)據(jù)集具有良好的擴展性,也說明Hadoop 平臺比較適合進行大數(shù)據(jù)處理與分析。
4結(jié)束語
通過以大規(guī)模用戶行為數(shù)據(jù)為基礎,以 Hadoop平臺為技術(shù)來分析大數(shù)據(jù)特征提取的方法,不僅能夠有效地完成用戶特征數(shù)據(jù)的聚類處理分析,為用戶特征數(shù)據(jù)提取提供依據(jù),設計的數(shù)據(jù)處理方法還具有良好的拓展性,能有效地對用戶的特征數(shù)據(jù)進行分析與提取,從而能夠得到大數(shù)據(jù)環(huán)境下用戶的關鍵性特征數(shù)據(jù)。
參考文獻:
[1]朱月琴,譚永杰,張建通,等.基于 Hadoop 的地質(zhì)大數(shù)據(jù)融合與挖掘技術(shù)框架[J].測繪學報,2015,44(S1):152-159.
[2]谷紅勛,楊珂.基于大數(shù)據(jù)的移動用戶行為分析系統(tǒng)與應用案例[J].電信科學,2016,32(3):139-146.
[3]耿志強,張楊,韓永明.基于矩陣的關聯(lián)規(guī)則增量更新及其改進算法[J].北京化工大學學報(自然科學版),2016,43(5):89-94.
[4]于兆良,張文濤,葛慧,等.基于 Hadoop平臺的日志分析模型[J].計算機工程與設計,2016,37(2):338-344,428.
【通聯(lián)編輯:唐一東】