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