玄文啟
一種大數(shù)據(jù)挖掘技術(shù)
——Apriori算法分析
玄文啟
隨著互聯(lián)網(wǎng)的廣泛應(yīng)用與云計(jì)算技術(shù)得到飛速發(fā)展,如何從大數(shù)據(jù)中尋求數(shù)據(jù)規(guī)律,并以此做出科學(xué)的預(yù)測(cè)與決策,成為目前數(shù)據(jù)挖掘技術(shù)的主要研究方向之一。Apriori算法就是一種基于海量數(shù)據(jù)并挖掘關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的典型算法,其在大數(shù)據(jù)挖掘分析中具有較大研究與應(yīng)用價(jià)值。
隨著計(jì)算機(jī)技術(shù)廣泛應(yīng)用,在日常管理工作中形成了海量的大數(shù)據(jù),這使人們更加需要能夠快速高效地從數(shù)據(jù)形式不同的、有噪聲的大數(shù)據(jù)中分析數(shù)據(jù)內(nèi)涵,并從中發(fā)現(xiàn)有用的知識(shí)體系與規(guī)律,從而指導(dǎo)人們做出科學(xué)預(yù)測(cè)與決策,Apriori算法就應(yīng)此而生,成為基于大數(shù)據(jù)挖掘過程的經(jīng)典算法之一。
Apriori算法是一種挖掘布爾型關(guān)聯(lián)規(guī)則的頻繁項(xiàng)集的迭代算法,該算法需要在數(shù)據(jù)挖掘過程中通過多次描述數(shù)據(jù)庫(kù)來不斷尋找候選集,然后實(shí)現(xiàn)剪枝,即除去包含非頻繁子集的候選集。此算法通過對(duì)最小支持度閾值的設(shè)置,能系統(tǒng)地控制了候選項(xiàng)數(shù)量的無序增長(zhǎng),,并在大數(shù)據(jù)的數(shù)據(jù)挖掘過程中產(chǎn)生較大的研究?jī)r(jià)值。
就其工作原理而言,Apriori算法是應(yīng)用逐層搜索的迭代方法原理實(shí)現(xiàn),主要包括兩個(gè)步驟 :一是通過算法的迭代來檢索出事務(wù)數(shù)據(jù)庫(kù)中的所有頻繁項(xiàng)集;二是利用頻繁項(xiàng)集構(gòu)造出滿足用戶最小信任度的處理規(guī)則來實(shí)現(xiàn)數(shù)據(jù)挖掘分析過程。
Apriori算法具體實(shí)現(xiàn)過程如下:
(1)通過掃描事務(wù)數(shù)據(jù)庫(kù)D,計(jì)算出支持度Ci,得到頻繁項(xiàng)集的集合Li;
(2)連接步:這是算法自連接過程,其原則是保證與前項(xiàng)相同,并按關(guān)聯(lián)規(guī)則實(shí)現(xiàn)連接;
(3)剪枝步:就是使任一頻繁項(xiàng)集的所有非空子集也必須保持頻繁屬性。即若某候選非空子集不是頻繁的,則該候選肯定也不是頻繁的,可將其刪除;
(4)通過迭代掃描數(shù)據(jù)庫(kù)D,從而計(jì)算出各個(gè)項(xiàng)集支持度,并將不滿足的項(xiàng)集去掉,即通過迭代循環(huán),直到使某個(gè)值為空,算法停止(如圖1所示)。
圖1 Apriori算法過程
通過對(duì)上述算法分析,可以看到Apriori算法存在的主要缺點(diǎn):一是每次尋找頻繁項(xiàng)集和候選項(xiàng)集時(shí)都要掃描數(shù)據(jù)庫(kù)D;二是當(dāng)事務(wù)數(shù)據(jù)庫(kù)數(shù)據(jù)量較為龐大時(shí),所形成的頻繁項(xiàng)集和候選項(xiàng)集數(shù)量也很龐大,這對(duì)于在海量的數(shù)據(jù)庫(kù)檢索分析過程中,會(huì)使得Apriori 算法效率就會(huì)大打折扣,并對(duì)計(jì)算機(jī)資源占用開銷也相應(yīng)增大。
為了進(jìn)一步改進(jìn)Apriori算法,就其原理分析,在實(shí)際算法應(yīng)用中,可通過在處理候選頻繁項(xiàng)目集生成實(shí)現(xiàn)時(shí),當(dāng)進(jìn)行掃描事務(wù)時(shí)可先刪除其中不需要的候選頻繁集、并實(shí)時(shí)進(jìn)行數(shù)據(jù)壓縮,動(dòng)態(tài)整理事務(wù)數(shù)據(jù)庫(kù)記錄,這樣可使掃描的效率更高,同時(shí)降低對(duì)計(jì)算機(jī)資源開銷。即當(dāng)?shù)谝淮螔呙钄?shù)據(jù)庫(kù)D后,候選集將不再使用事務(wù)數(shù)據(jù)庫(kù)來計(jì)算支持度,而是從第二步開始循環(huán)處理生成多維數(shù)據(jù)項(xiàng)集,一直到再無頻繁項(xiàng)集生成為止。
目前Apriori算法的改進(jìn)主要技術(shù)主要包括AprioriTid算法、基于散列(Hash)、基于采樣(Sampling)、基于數(shù)據(jù)分割(Partition)、事務(wù)壓縮技術(shù)等方法。
目前,隨著計(jì)算機(jī)網(wǎng)絡(luò)、通信技術(shù)、云計(jì)算等飛速發(fā)展,在大數(shù)時(shí)代基于Apriori算法的數(shù)據(jù)挖掘技術(shù)得到了更加廣泛的應(yīng)用,主要應(yīng)用為:
(1)教學(xué)質(zhì)量動(dòng)態(tài)檢測(cè)與評(píng)價(jià):通過數(shù)據(jù)挖掘,可從海量的學(xué)生對(duì)教學(xué)評(píng)價(jià)數(shù)據(jù)中挖掘出關(guān)聯(lián)規(guī)則,從而分析出相關(guān)課程教學(xué)效果與教師教學(xué)狀態(tài)之間關(guān)系,以促使教學(xué)質(zhì)量改進(jìn)與提高;
(2)電子商務(wù)交易:應(yīng)用Apriori算法可基于網(wǎng)絡(luò)實(shí)現(xiàn)電商交易實(shí)時(shí),及時(shí)分析出客戶消費(fèi)習(xí)慣、消費(fèi)能力、消費(fèi)群體,為電商的供應(yīng)商動(dòng)態(tài)掌握消費(fèi)市場(chǎng),并與客戶實(shí)現(xiàn)良性商務(wù)互動(dòng)提供數(shù)據(jù)支撐;
(3)學(xué)生就業(yè)狀況分析:應(yīng)用Apriori算法可從人才培養(yǎng)模式中相關(guān)的專業(yè)、知識(shí)體系、從業(yè)資格等海量數(shù)據(jù)中分析大學(xué)生受教育程度與社會(huì)就業(yè)需求之間的關(guān)聯(lián)性,建立大學(xué)與社會(huì)雙向互動(dòng)模式,從而為高校實(shí)現(xiàn)教育改革,進(jìn)一步推動(dòng)大學(xué)為適應(yīng)社會(huì)需求培養(yǎng)人才模式提供準(zhǔn)確、客觀的數(shù)據(jù)分析;
(4)動(dòng)態(tài)網(wǎng)絡(luò)輿情監(jiān)控:應(yīng)用Apriori算法,通過借助internet平臺(tái),對(duì)海量的網(wǎng)絡(luò)信息傳輸交互實(shí)時(shí)采集、分析,實(shí)時(shí)掌握網(wǎng)絡(luò)用戶的信息關(guān)注情況,為政府等有關(guān)部門及時(shí)掌握網(wǎng)絡(luò)輿情,并進(jìn)行實(shí)時(shí)指導(dǎo)、疏通提供客戶依據(jù)。
玄文啟
云南財(cái)經(jīng)大學(xué)信息學(xué)院
玄文啟,男,1971年4月生,云南嵩明人,云南財(cái)經(jīng)大學(xué)副教授,碩士,主要從事計(jì)算機(jī)應(yīng)用技術(shù)、信息處理技術(shù)研究。
10.3969/j.issn.1001-8972.2015.07.001