周佩+朱嫻睿+何漢+張毅
摘要:隨著當(dāng)前科學(xué)技術(shù)的發(fā)展,我國(guó)各行業(yè)的發(fā)展進(jìn)入了大數(shù)據(jù)時(shí)代,這就為數(shù)據(jù)挖掘算法創(chuàng)造了條件。在大數(shù)據(jù)環(huán)境下,為了使數(shù)據(jù)挖掘的速度得以提高,本次研究主要對(duì)基于Hadoop框架的數(shù)據(jù)挖掘算法進(jìn)行研究,得出由PrePost算法改進(jìn)的挖掘算法MRPrePost,這種挖掘算法是以Hadoop為平臺(tái),使編程難度得到降低,并且容易管理,通過(guò)深度優(yōu)化使內(nèi)存的開(kāi)銷(xiāo)得到降低,通過(guò)負(fù)載均衡的方法進(jìn)行分組以使并行算法的重要性能得到提高,從而使這種算法提升運(yùn)行速度,適應(yīng)大數(shù)據(jù)環(huán)境下的數(shù)據(jù)挖掘。
關(guān)鍵詞:大數(shù)據(jù)環(huán)境;Hadoop框架;數(shù)據(jù)挖掘算法;研究
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)29-0222-02
隨著當(dāng)前一些設(shè)備走向高智能化、高存儲(chǔ)量,世界的信息量早已突破ZB級(jí)別,如此繁多的信息量已經(jīng)使我們進(jìn)入了大數(shù)據(jù)環(huán)境中,但如何使這些信息中包含的優(yōu)質(zhì)信息極其潛在價(jià)值進(jìn)行精準(zhǔn)的挖掘是當(dāng)前面臨的工作重點(diǎn)以及難點(diǎn)。數(shù)據(jù)挖掘已經(jīng)在我國(guó)開(kāi)展很多年,但這一方面的發(fā)展卻始終追逐不上信息量的暴增,目前所使用的數(shù)據(jù)挖掘算法在大數(shù)據(jù)環(huán)境下早已經(jīng)不再適用,大數(shù)據(jù)的挖掘出現(xiàn)了嚴(yán)重的滯后的現(xiàn)象,因此,在大數(shù)據(jù)環(huán)境下,掌握科學(xué)的數(shù)據(jù)挖掘算法是當(dāng)前的主要任務(wù)。本次研究主要通過(guò)Hadoop框架對(duì)已有的算法PrePost進(jìn)行科學(xué)的改進(jìn),從而引出適合大數(shù)據(jù)環(huán)境下的數(shù)據(jù)挖掘算法MRPrePost,該算法具有計(jì)算快的特點(diǎn),并能夠適應(yīng)關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘,是當(dāng)前數(shù)據(jù)挖掘算法的新模式。下文將對(duì)這種數(shù)據(jù)挖掘算法進(jìn)行研究,以實(shí)現(xiàn)對(duì)大數(shù)據(jù)環(huán)境的適應(yīng)。
1 相關(guān)技術(shù)的簡(jiǎn)要概述
1.1 關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘技術(shù)
通過(guò)這項(xiàng)技術(shù)進(jìn)行數(shù)據(jù)挖掘的目的在于搜尋事務(wù)之間存在的內(nèi)在聯(lián)系,并且這項(xiàng)技術(shù)已在各行業(yè)中得以推廣應(yīng)用,例如當(dāng)今與我們生活息息相關(guān)的超市購(gòu)物,通過(guò)這項(xiàng)技術(shù)能夠?qū)⒔灰子涗涀鳛橐罁?jù),然后搜索相關(guān)的物品,并對(duì)顧客的購(gòu)買(mǎi)習(xí)慣進(jìn)行分析,然后根據(jù)分析的結(jié)果對(duì)貨架及庫(kù)存進(jìn)行安排,并對(duì)顧客進(jìn)行智能分類(lèi)。數(shù)據(jù)挖掘的前期準(zhǔn)備工作非常重要,首先它需要進(jìn)行最小置信度以及支持?jǐn)?shù)進(jìn)行參數(shù)設(shè)置,從而使數(shù)據(jù)挖掘支持?jǐn)?shù)高于最小支持?jǐn)?shù),從而以最小置信度使有效的管理規(guī)則數(shù)據(jù)產(chǎn)生。
1.2 Hadoop技術(shù)框架
Hadoop作為Apache中的開(kāi)源項(xiàng)目之一,其能夠進(jìn)行提供可靠、開(kāi)源、可擴(kuò)展的分布式計(jì)算應(yīng)用工具。Hadoop的組件主要包括兩個(gè),分別為MapReduce以及HDFS,這兩個(gè)組件的作用分別在于數(shù)據(jù)的計(jì)算和數(shù)據(jù)的存儲(chǔ),以下將分別介紹這兩個(gè)組件。
1.2.1 MapReduce組件
此組件是能夠?qū)?shù)據(jù)進(jìn)行計(jì)算,屬于一種分布式的計(jì)算框架,能夠?qū)﹄x線大數(shù)據(jù)進(jìn)行有效的計(jì)算。并通過(guò)函數(shù)式編程這種模式,對(duì)Map函數(shù)以及Reduce函數(shù)進(jìn)行合理的利用,從而實(shí)現(xiàn)較為繁雜的計(jì)算。分布式的計(jì)算框架如圖1所示。
1.2.2 HDFS組件
此組件是一種獨(dú)立形式的文件系統(tǒng),可以通過(guò)自身的存儲(chǔ)功能對(duì)MapReduce分布式計(jì)算框架進(jìn)行服務(wù),具有高可用性以及高容錯(cuò)性,以塊存儲(chǔ)作為基礎(chǔ),并通過(guò)流數(shù)據(jù)模式來(lái)進(jìn)行正常的訪問(wèn),一般情況下,數(shù)據(jù)節(jié)點(diǎn)具備相互備份的功能。存儲(chǔ)塊的初始大小被默認(rèn)為64M,使用者也可以根據(jù)自身的情況對(duì)其大小進(jìn)行自定義。HDFS從結(jié)構(gòu)上來(lái)講,主要包括DataNode數(shù)據(jù)存儲(chǔ)、NameNode目錄管理以及Client訪問(wèn)客戶(hù)端三大部分。其中DataNode主要是文件系統(tǒng)中基本的存儲(chǔ)單元;NameNode主要對(duì)系統(tǒng)集群配置管理、命名空間以及復(fù)制存儲(chǔ)塊;Client主要是文件系統(tǒng)中的一種應(yīng)用程序,HDFS具體的結(jié)構(gòu)體系如圖2所示。
2 大數(shù)據(jù)環(huán)境下基于Hadoop框架的數(shù)據(jù)挖掘算法
本文所提及的MRPrePost數(shù)據(jù)挖掘算法使以PrePost為基礎(chǔ)進(jìn)行改進(jìn)形成的,其能夠進(jìn)行關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘。次數(shù)據(jù)挖掘算法主要包含三個(gè)重要的部分,分別為統(tǒng)計(jì)頻繁的一項(xiàng)集、F-list的均勻分組以及并行挖掘頻繁模式。次算法具體的流程見(jiàn)圖3。
2.1 統(tǒng)計(jì)頻繁的一項(xiàng)集
并行計(jì)算以水平分片的方式將數(shù)據(jù)庫(kù)進(jìn)行處理,以Block為各子文件進(jìn)行命名,同時(shí)使其分配至各worker節(jié)點(diǎn)之上,并將其當(dāng)做Map函數(shù)的主要輸入值,對(duì)其出現(xiàn)的次數(shù)進(jìn)行統(tǒng)計(jì)。此過(guò)程具體來(lái)講主要是通過(guò)Map函數(shù)使Block文件分為pair
2.2 F-list的均勻分組
為了使F-list的規(guī)模得到有效調(diào)節(jié),必須對(duì)數(shù)閾值進(jìn)行設(shè)置,當(dāng)關(guān)聯(lián)規(guī)則的比價(jià)較為精準(zhǔn)時(shí),對(duì)頻繁一項(xiàng)集的需求量會(huì)增多,但是需要對(duì)其進(jìn)行適當(dāng)?shù)目刂?,以確保PPC-Tree樹(shù)能夠正常的建立,使數(shù)據(jù)挖掘的后期工作能夠正常進(jìn)行,為了達(dá)到這一點(diǎn),可以對(duì)PPC-Tree樹(shù)進(jìn)行分割若干個(gè)子樹(shù),這些子樹(shù)相互獨(dú)立,從而使PPC-Tree樹(shù)的占存及深度得到降低。在對(duì)F-list進(jìn)行分組的過(guò)程中,可能會(huì)產(chǎn)生系統(tǒng)的負(fù)載不平衡的狀態(tài),若對(duì)此不能得到有效的處理,將會(huì)使系統(tǒng)的性能受到嚴(yán)重的影響。因此需要將F-list中包含的所有的項(xiàng)集進(jìn)行均勻分布,從而使系統(tǒng)的負(fù)載均衡化,充分發(fā)揮出系統(tǒng)的性能。本次研究主要通過(guò)使F-list中所包含的全部項(xiàng)集均勻分布各組中,將分好的項(xiàng)集記作G-list,將項(xiàng)集中的組員記作gid,當(dāng)組數(shù)為2的時(shí)候,最小支持?jǐn)?shù)Supportmin即為2,其分組的情況如表1所示:
2.3 并行挖掘頻繁模式
將F-list進(jìn)行分組的目的是為了使所有的事務(wù)進(jìn)行重劃,從而保證獨(dú)立形式的PPC-Tree樹(shù)就此形成,本次研究將事務(wù)集中不頻繁出現(xiàn)的項(xiàng)集進(jìn)行去除,并通過(guò)支持?jǐn)?shù)的降序順序?qū)︻l繁項(xiàng)集進(jìn)行排序,形成path路徑,通過(guò)此路徑對(duì)全部的項(xiàng)集進(jìn)行遍歷,若path在項(xiàng)集中有對(duì)應(yīng)的組員(gid),則應(yīng)將該組員(gid)同path左側(cè)的項(xiàng)形成Key值發(fā)送至Reduce函數(shù)中,在進(jìn)行發(fā)送前,應(yīng)將其進(jìn)行Java序列化處理,使序列對(duì)象PathArray得以建立。在序列化處理完畢后,對(duì)各節(jié)點(diǎn)包含的新任務(wù)進(jìn)行啟動(dòng)。
2.4 數(shù)據(jù)挖掘算法的性能測(cè)試
為了測(cè)試MRPrePost數(shù)據(jù)挖掘算法的性能,本次研究特選取了我國(guó)2007年1月至2017年1月期間所發(fā)生的交通事故統(tǒng)計(jì)得來(lái)的數(shù)據(jù)集,并對(duì)PFP-Growth數(shù)據(jù)挖掘算法和MRPrePost數(shù)據(jù)挖掘算法進(jìn)行實(shí)驗(yàn)對(duì)比,兩者所選用的硬件設(shè)施均為相同配置的臺(tái)式設(shè)備,CPU、操作系統(tǒng)、內(nèi)存以及硬盤(pán)容量都相同,通過(guò)兩者的運(yùn)算可以看出,MRPrePost數(shù)據(jù)挖掘算法在計(jì)算速度方面較PFP-Growth數(shù)據(jù)挖掘算法快,與此同時(shí),MRPrePost數(shù)據(jù)挖掘算法在使用效果方面也較PFP-Growth數(shù)據(jù)挖掘算法要好很多。因此,這種數(shù)據(jù)挖掘計(jì)算方法較為實(shí)用。
3 結(jié)束語(yǔ)
綜上所述,由于當(dāng)前的數(shù)據(jù)挖掘算法在計(jì)算規(guī)則方面存在繁瑣復(fù)雜的狀態(tài),并且當(dāng)前所使用的數(shù)據(jù)挖掘算法的計(jì)算速度也較為緩慢,因此,本次研究主要針對(duì)目前數(shù)據(jù)挖掘算法存在的問(wèn)題,引出一種基于Hadoop框架的數(shù)據(jù)挖掘算法MRPrePost,并對(duì)其計(jì)算原理、組成結(jié)構(gòu)、特點(diǎn)優(yōu)勢(shì)進(jìn)行說(shuō)明,通過(guò)對(duì)比性能實(shí)驗(yàn)來(lái)說(shuō)明其優(yōu)勢(shì),性能實(shí)驗(yàn)結(jié)果表明:通過(guò)PrePost改進(jìn)而成的數(shù)據(jù)挖掘算法MRPrePost能夠?qū)﹃P(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘進(jìn)行有效的適應(yīng),并且提高了計(jì)算的速度,縮減了數(shù)據(jù)挖掘計(jì)算方面所耗費(fèi)的時(shí)間,對(duì)這種算法進(jìn)行應(yīng)用,具有重要的現(xiàn)實(shí)意義。
參考文獻(xiàn):
[1] 廖晶貴.基于Hadoop的大數(shù)據(jù)關(guān)聯(lián)規(guī)則挖掘算法的研究與實(shí)現(xiàn)[J].華南理工大學(xué),2015,11(2):221-221.
[2] 洪波,呂燕霞,黃磊. 大數(shù)據(jù)環(huán)境下基于Hadoop框架的數(shù)據(jù)挖掘算法的研究與實(shí)現(xiàn)[J].北京宣武紅旗業(yè)余大學(xué)學(xué)報(bào),2017,25(7):41-44.
[3] 劉木林,朱慶華.基于Hadoop的關(guān)聯(lián)規(guī)則挖掘算法研究——以Apriori算法為例[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,13(12):144-145.
[4] 李歐.大數(shù)據(jù)環(huán)境中科技創(chuàng)新服務(wù)平臺(tái)為創(chuàng)新主體提供深度數(shù)據(jù)挖掘[J].產(chǎn)業(yè)與科技論壇,2017,16(17):10-11.
[5] 劉占波,王立偉,王曉麗.大數(shù)據(jù)環(huán)境下基于數(shù)據(jù)挖掘技術(shù)的高??蒲泄芾硐到y(tǒng)的設(shè)計(jì)[J].電子測(cè)試,2017,12(1):44-45.endprint