亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MapReduce的垂直FP-growth挖掘算法研究?

        2018-07-31 02:06:18王嶸冰徐紅艷魏蓮蓮
        計算機(jī)與數(shù)字工程 2018年7期
        關(guān)鍵詞:效率

        王嶸冰 徐紅艷 魏蓮蓮

        (遼寧大學(xué)信息學(xué)院 沈陽 110036)

        1 引言

        隨著大數(shù)據(jù)時代的來臨,在科學(xué)計算、商業(yè)計算等諸多領(lǐng)域蘊(yùn)含著海量數(shù)據(jù)[1]。從這些海量數(shù)據(jù)中挖掘出其潛在價值已經(jīng)成為當(dāng)今學(xué)術(shù)界關(guān)注的熱點(diǎn)。在大數(shù)據(jù)處理方面,Google提出的Ma?pReduce框架[2]以其適用于大數(shù)據(jù)計算而成為大數(shù)據(jù)環(huán)境的關(guān)鍵計算模型。與常規(guī)分布式算法相比較,MapReduce的優(yōu)勢如下:

        1)并行化程度高:在大數(shù)據(jù)處理過程中使用集群技術(shù),以達(dá)到常規(guī)分布式算法無法實(shí)現(xiàn)的高效率。

        2)經(jīng)濟(jì)性:普通的PC機(jī)可作為集群節(jié)點(diǎn)用于處理數(shù)據(jù)。

        3)容錯性好:MapReduce使用多副本冗余機(jī)制。

        4)擴(kuò)展性強(qiáng):可用于PB級數(shù)據(jù)的處理,而且可以根據(jù)實(shí)際需要來擴(kuò)展集群節(jié)點(diǎn)。

        因此,將分布式數(shù)據(jù)挖掘技術(shù)與MapReduce模式相融合是大數(shù)據(jù)挖掘的主要研究方向[3]。

        關(guān)聯(lián)規(guī)則挖掘算法FP-growth,其思想是分而治之[4],相較于需多次掃描數(shù)據(jù)庫、產(chǎn)生大量候選集的Apriori算法[5],在分布式環(huán)境中使用更廣泛,但弊端是局部站點(diǎn)通信量較大。Chen等[6]為解決此問題,采用垂直模式樹存儲數(shù)據(jù),提出了高性能并行算法HPFP,克服了原FP-growth算法通信大的弊端。徐杰等[7]采用了數(shù)據(jù)并行和任務(wù)并行來提高挖掘效率,提出了基于垂直FP樹的并行頻繁項(xiàng)集挖掘算法。馮勇等[8]提出分布關(guān)聯(lián)規(guī)則挖掘算法VFP-LBDM,通過提高站點(diǎn)的負(fù)載均衡程度來縮小節(jié)點(diǎn)執(zhí)行時間差異,提高了整體的執(zhí)行效率。以上算法在分布式環(huán)境中一定程度上提高了算法效率,但在大數(shù)據(jù)環(huán)境中,并行化程度遠(yuǎn)不及MapRe?duce模式。

        針對分布式垂直FP-growth算法在大數(shù)據(jù)環(huán)境下CPU、內(nèi)存、I/O開銷大和計算效率低的問題,本文提出基于MapReduce的垂直FP-growth挖掘算法(Vertical FP-growth Mining Algorithm Based on Ma?pReduce,MR-VFP),通過將分布式垂直FP-growth算法與MapReduce模式相融合,實(shí)現(xiàn)高度并行化計算以減少硬件資源的消耗。

        2 MR-VFP算法框架

        2.1 算法思想

        垂直FP-growth算法是一個基于全局樹結(jié)構(gòu)的關(guān)聯(lián)規(guī)則算法[11],它不僅繼承了FP-growth算法分而治之的優(yōu)點(diǎn),同時又具有以垂直壓縮樹結(jié)構(gòu)減少局部合并過程通信消費(fèi)的優(yōu)勢[12]。在每次迭代過程中,需要對每個局部事務(wù)數(shù)據(jù)項(xiàng)做統(tǒng)計。在數(shù)據(jù)量較大的環(huán)境中,節(jié)點(diǎn)能力更是有限,無法承擔(dān)計算大規(guī)模數(shù)據(jù)的任務(wù)。MapReduce模型是典型的IPSS計算抽象[13],具有高度并行化計算集群上大規(guī)模數(shù)據(jù)的特點(diǎn),而垂直FP-growth算法挖掘的事務(wù)數(shù)據(jù)庫中的每條記錄都是相互獨(dú)立的,因此可以利用MapReduce模型將事務(wù)數(shù)據(jù)庫分割成若干塊,Map階段對每個事務(wù)塊進(jìn)行預(yù)處理,然后shuffle根據(jù)項(xiàng)的不同執(zhí)行分組,combine階段局部合并相同項(xiàng)的記錄,Reduce階段經(jīng)全局合并輸出最終結(jié)果,形成全局頻繁項(xiàng)集和關(guān)聯(lián)規(guī)則。MapReduce模型通過并行化集群計算,使挖掘效率得到極大提高。綜上分析,本文提出了一種基于MapReduce的垂直FP-growth算法——MR-VFP算法。

        2.2 算法工作機(jī)理

        MR-VFP算法分為數(shù)據(jù)劃分、預(yù)剪枝、VFP-tree序列化、生成全局頻繁樹四個部分。

        1)數(shù)據(jù)劃分,頻繁一項(xiàng)集生成。該步驟的主要任務(wù)是將事務(wù)數(shù)據(jù)劃分到各個處理機(jī)上。各站點(diǎn)并行MapReduce操作,計算出頻繁項(xiàng),其過程如圖1。

        圖1 MapReduce處理數(shù)據(jù)項(xiàng)過程

        在數(shù)據(jù)劃分階段,局部站點(diǎn)執(zhí)行map操作并行挖掘局部數(shù)據(jù)庫,統(tǒng)計出局部頻繁項(xiàng),以<itemid,itemcount>格式輸出,然后reduce操作合并具有相同itemid的項(xiàng),得出全局頻繁項(xiàng)。

        2)預(yù)剪枝。中心站點(diǎn)的預(yù)剪枝將根據(jù)各局部節(jié)點(diǎn)返回的頻繁項(xiàng)集進(jìn)行。各站點(diǎn)預(yù)先刪除父節(jié)點(diǎn)為非頻繁項(xiàng)的分支,不再收集該項(xiàng)的支持?jǐn)?shù)信息,然后構(gòu)造局部垂直模式樹,從而有效減少通信量。

        3)VFP-tree序列化。對局部垂直模式樹使用深度優(yōu)先遍歷樹,每個節(jié)點(diǎn)的輸出格式為:項(xiàng)與該項(xiàng)所對應(yīng)的計數(shù)。節(jié)點(diǎn)的輸出分為以下三種情況:(1)該節(jié)點(diǎn)有子節(jié)點(diǎn)輸出“-”;(2)沒有子節(jié)點(diǎn)有兄弟節(jié)點(diǎn)輸出“|”;(3)沒有兄弟節(jié)點(diǎn)輸出“+”,并返回該節(jié)點(diǎn)的上一層繼續(xù)掃描。用符號“-”“|”“+”表示樹節(jié)點(diǎn)之間的關(guān)系,以減少站點(diǎn)間的通信開銷。

        4)生成全局頻繁樹。本文選取的規(guī)則只由根節(jié)點(diǎn)項(xiàng)出發(fā)而生成以避免規(guī)則冗余。在各局部站點(diǎn)上執(zhí)行MapReduce操作,各站點(diǎn)按照任務(wù)分配表,將生成的規(guī)則發(fā)送給相應(yīng)站點(diǎn),以<itemid,itemseq>格式將以Ii開頭的序列合并到指定的站點(diǎn),生成全局頻繁模式樹,最終輸出全局頻繁森林,其過程如圖2。

        圖2 MapReduce處理局部頻繁樹序列過程

        3 MR-VFP算法描述與效率分析

        3.1 算法描述

        MR-VFP算法按照MapReduce框架的結(jié)構(gòu),劃分為頻繁項(xiàng)集構(gòu)建算法、全局頻繁模式樹構(gòu)建算法兩部分。

        算法1.MapReduce框架下頻繁項(xiàng)集構(gòu)建算法

        輸入:數(shù)據(jù)集D

        輸出:全局頻繁項(xiàng)集

        Begin

        Step1:m個mappers并行地讀取輸入的數(shù)據(jù)切片,對map函數(shù)讀取的某項(xiàng)itemid,依次進(jìn)行下述操作:

        IF(項(xiàng)item不為空)

        則累計項(xiàng)item出現(xiàn)的次數(shù),輸出<itemid,temcount>鍵值對,其中,itemid 指不同的itemcount為常量;ELSE忽略此對象

        Step2:所有key為相同itemid的值集將被一個reducer接收,并由reduce函數(shù)對itemcount值集進(jìn)行累加,形成一個關(guān)于某項(xiàng)的局部支持?jǐn)?shù);

        按照下面的步驟構(gòu)建全局項(xiàng)集:

        Step3:m個mappers采用并行的方式將輸入的數(shù)據(jù)切片讀入,統(tǒng)計map函數(shù)讀取的每個項(xiàng)itemid,輸出鍵值對<itemid,value<itemid,itemcount>>;

        Step4:r個reducers將所有劃分到該reducer分區(qū)的對象子集接收并執(zhí)行下面的操作步驟:1:將對象子集中每個元組itemid插入到列表L中;2:對列表L按itemcount值進(jìn)行排序,形成全局項(xiàng)集;END

        算法2.MapReduce框架下全局頻繁模式樹構(gòu)建算法

        輸入:局部樹的序列

        輸出:全局頻繁模式森林

        Begin

        Step1:m個mappers并行地讀取輸入的局部樹序列,對map函數(shù)讀取的某項(xiàng)itemid,依次進(jìn)行下述操作:

        IF(項(xiàng)item不為空)

        則輸出<itemid,itemseq>鍵值對,其中,itemid指

        同的項(xiàng),itemseq為以itemid為根節(jié)點(diǎn)的局部樹;

        ELSE忽略此對象

        Step2:一個reducer接收所有key為相同itemid的序列。reduce函數(shù)對itemseq進(jìn)行合并,形成一個關(guān)于某項(xiàng)的頻繁模式樹;

        按照下述操作步驟構(gòu)建全局頻繁模式森林:

        Step3:m個mappers將輸入的數(shù)據(jù)切片并行讀取,統(tǒng)計map函數(shù)讀取的每個項(xiàng)itemid,輸出鍵值對<itemid,value<itemid,itemseq>>;

        Step4:r個reducers接收所有劃分到該reducer分區(qū)的對象子集并執(zhí)行下屬操作步驟:

        1:將對象子集中每個頻繁模式樹進(jìn)行合并,形成全局頻繁模式樹;

        2:對頻繁樹按根節(jié)點(diǎn)itemcount進(jìn)行排序,形成全局頻繁模式森林;

        END

        3.2 算法時間復(fù)雜度分析

        本算法開銷主要包括:統(tǒng)計項(xiàng)的支持?jǐn)?shù)從而得到每個項(xiàng)的全局支持?jǐn)?shù),以及在局部樹合并成全局頻繁模式樹的兩個過程。如果總共有m1條事務(wù)記錄,平均每條記錄包含n1個數(shù)據(jù)項(xiàng),參與計算的節(jié)點(diǎn)為k個,每個節(jié)點(diǎn)上可以同時處理 p個Map、Re?duce。整個計算頻繁項(xiàng)集的過程需要t1次迭代達(dá)到全局結(jié)果,則數(shù)據(jù)劃分階段,時間復(fù)雜度為同理,在全局頻繁森林生成階段,復(fù),其中n2指數(shù)據(jù)項(xiàng)個數(shù),每個數(shù)據(jù)項(xiàng)平均有m2個局部樹,迭代次數(shù)為t2。由此可知,當(dāng)整個集群越大,一次所能處理的Map和Reduce數(shù)越多,該算法的時間復(fù)雜度就越低、效率越高。

        4 實(shí)驗(yàn)與對比分析

        4.1 實(shí)驗(yàn)環(huán)境

        Apache的Hadoop是MapReduce的開源實(shí)現(xiàn)。本文實(shí)驗(yàn)采用Hadoop平臺0.20.2,每個節(jié)點(diǎn)上可并行運(yùn)行的Mapper數(shù)和Reducer數(shù)設(shè)為5,其它采用默認(rèn)設(shè)置。

        為了進(jìn)行對比實(shí)驗(yàn),本文使用文獻(xiàn)13中使用的環(huán)境:Hadoop集群包括1臺主控節(jié)點(diǎn)和7個計算節(jié)點(diǎn)。每個節(jié)點(diǎn)配置為2quad-core 2.4GHZ CPU,16GB內(nèi)存和167GB的本地存儲磁盤,操作系統(tǒng)為Red Hat EnterpriseLinux 5.5,節(jié)點(diǎn)間通過 10-Giga?bit Infiniband網(wǎng)絡(luò)互聯(lián)。

        4.2 算法的效率對比

        為驗(yàn)證本文所提算法的性能,選取目前在垂直頻繁樹挖掘算法中應(yīng)用較為廣泛的兩種算法作為對比:并行頻繁項(xiàng)集挖掘算法DVFP算法采用垂直頻繁樹結(jié)構(gòu),通過計算并行和通信并行,在分布式環(huán)境中挖掘效率較高;基于垂直頻繁模式樹帶有負(fù)載均衡的挖掘算法VFP-LBDM算法是改進(jìn)的垂直挖掘算法,根據(jù)節(jié)點(diǎn)的CPU、內(nèi)存、帶寬資源進(jìn)行挖掘任務(wù)劃分,從負(fù)載均衡的角度提高運(yùn)行效率。本文對此兩種算法重新進(jìn)行了實(shí)現(xiàn),在本文實(shí)驗(yàn)環(huán)境下與本文所提算法進(jìn)行實(shí)驗(yàn)對比,實(shí)驗(yàn)數(shù)據(jù)集為UCI的 Poker Hand[14]。

        1)不同支持度下執(zhí)行時間的對比。

        三個算法分別計算4000000條記錄。支持度小時,例如支持度為5%時,預(yù)剪去的非頻繁樹少,全局頻繁項(xiàng)集較大,因此每個算法的執(zhí)行時間比較多;隨著支持度變大,頻繁項(xiàng)集變小,挖掘速率會加快。MR-VFP算法由于并行化程度高,因此整體執(zhí)行效率比較高,三種算法執(zhí)行時間的對比如圖3所示。

        圖3 三種算法在不同支持度下執(zhí)行時間的對比

        2)不同數(shù)據(jù)量下執(zhí)行時間的對比。

        采用數(shù)據(jù)復(fù)制的方法,將數(shù)據(jù)集擴(kuò)大至200MB、400MB、600MB、800MB、1000MB,在節(jié)點(diǎn)數(shù)為16的條件下進(jìn)行實(shí)驗(yàn)。隨著數(shù)據(jù)規(guī)模增大,MR-VFP算法的MapReduce模式優(yōu)勢越明顯。三種算法執(zhí)行時間的對比如圖4所示。

        圖4 三種算法在不同數(shù)據(jù)量下執(zhí)行時間的對比

        3)并行化水平對比

        本文使用加速比作為體現(xiàn)算法并行化水平的指標(biāo)。隨著節(jié)點(diǎn)數(shù)的增加,MR-VFP算法在時間的減少上具有很好的優(yōu)勢,從而說明本算法具有高效并行性。三種算法并行化水平的對比如圖5所示。

        4)可擴(kuò)展性對比

        總數(shù)據(jù)量固定的情況下,隨著節(jié)點(diǎn)數(shù)的增加,局部節(jié)點(diǎn)的任務(wù)量減少,局部節(jié)點(diǎn)的有效功率會減少(但因節(jié)點(diǎn)數(shù)增多,整體的效率是升高的),所以節(jié)點(diǎn)平均效率曲線呈下降趨勢。MR-VFP算法是基于MapReduce模式,節(jié)點(diǎn)間呈串行和并行協(xié)同有序運(yùn)行,因此節(jié)點(diǎn)平均效率要比另兩種算法的節(jié)點(diǎn)無序運(yùn)行效率高。在較大數(shù)據(jù)集上,MR-VFP算法的節(jié)點(diǎn)平均效率曲線較為平滑,不會因節(jié)點(diǎn)增加而使性能降低得過快。因此,本文所提算法對于集群計算具有良好的可擴(kuò)展性,三種算法可擴(kuò)展性的對比如圖6所示。

        圖6 三種算法節(jié)點(diǎn)平均效率對比

        5 結(jié)語

        大數(shù)據(jù)環(huán)境下,為使傳統(tǒng)數(shù)據(jù)挖掘算法發(fā)揮功效,本文提出一種基于MapReduce的垂直FP-growth挖掘算法。該算法先用Map函數(shù)對事務(wù)數(shù)據(jù)庫數(shù)據(jù)項(xiàng)進(jìn)行解析分塊;然后用Reduce函數(shù)計算頻繁項(xiàng)的支持度和合并全局頻繁樹,從而并行化垂直FP-growth算法中間迭代過程;最后通過計算全局頻繁項(xiàng),得到準(zhǔn)確的頻繁項(xiàng)集和關(guān)聯(lián)規(guī)則。經(jīng)實(shí)驗(yàn)證明,所提算法在大數(shù)據(jù)處理方面不僅保持原有垂直FP-growth算法挖掘準(zhǔn)確性,而且具有較高的運(yùn)行效率和較好的集群性能。

        猜你喜歡
        效率
        你在咖啡館學(xué)習(xí)會更有創(chuàng)意和效率嗎?
        提升朗讀教學(xué)效率的幾點(diǎn)思考
        甘肅教育(2020年14期)2020-09-11 07:57:42
        注意實(shí)驗(yàn)拓展,提高復(fù)習(xí)效率
        效率的價值
        商周刊(2017年9期)2017-08-22 02:57:49
        引入“倒逼機(jī)制”提高治霾效率
        質(zhì)量與效率的爭論
        跟蹤導(dǎo)練(一)2
        提高食品行業(yè)清潔操作的效率
        OptiMOSTM 300V提高硬開關(guān)應(yīng)用的效率,支持新型設(shè)計
        “錢”、“事”脫節(jié)效率低
        亚洲AV日韩AV永久无码电影| 懂色av一区二区三区尤物 | 免费成人在线电影| 久久精品国产亚洲av精东| 永久黄网站色视频免费看| 国产乱人视频在线播放| 双乳被一左一右吃着动态图 | 久久精品国产亚洲AV成人公司| 一区二区在线视频大片| 91九色中文视频在线观看| 国内精品熟女一区二区| 一本之道加勒比在线观看| 亚洲国产精品国自产拍久久蜜av | 人妻少妇精品视频一区二区三区l| 天堂中文官网在线| 性生交大片免费看淑女出招| 激情人妻在线视频| 女同另类一区二区三区| www国产亚洲精品| 99精品人妻无码专区在线视频区| 中文字幕 人妻熟女| 欧美xxxxx精品| 日本免费一区二区三区在线播放| 亚洲va国产va天堂va久久| 999国产一区在线观看| 国产精品一区二区久久毛片| 2020国产在视频线自在拍| 西西午夜无码大胆啪啪国模 | 车上震动a级作爱视频| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲一区亚洲二区中文字幕| 久久无码潮喷a片无码高潮| 国产香蕉尹人在线观看视频| 少妇三级欧美久久| 偷拍av一区二区三区| 青青草狠吊色在线视频| 毛片内射久久久一区| 91亚洲人成手机在线观看| 高清亚洲成av人片乱码色午夜| 亚洲午夜狼人综合影院| 国产男女猛烈无遮挡免费网站|