• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Apriori算法的降低數(shù)據(jù)庫掃描記錄數(shù)的挖掘算法研究

    2020-03-15 02:44:46安穎馬桂真
    電子技術(shù)與軟件工程 2020年23期
    關(guān)鍵詞:閥值標(biāo)識(shí)符項(xiàng)集

    安穎 馬桂真

    (北京聯(lián)合大學(xué)旅游學(xué)院 北京市 100101)

    在數(shù)據(jù)挖掘的知識(shí)模式中,關(guān)聯(lián)規(guī)則用于表示數(shù)據(jù)庫中一組對(duì)象之間某種關(guān)聯(lián)關(guān)系的規(guī)則。關(guān)聯(lián)規(guī)則的挖掘就是要找出支持度大于等于指定的最小支持度閥值這樣的一些規(guī)則,挖掘過程分兩步完成:

    步驟一:找出所有支持度大于事先給定的最小支持度的頻繁項(xiàng)集;

    步驟二:從找出的頻繁項(xiàng)集中產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則,即產(chǎn)生那些支持度大于等于預(yù)先給定的最小支持度的關(guān)聯(lián)規(guī)則。

    關(guān)聯(lián)規(guī)則挖掘的特點(diǎn)是數(shù)據(jù)量龐大,所以算法的總體性能主要取決于第一步,因此高效率地找出所有頻繁項(xiàng)目集是衡量關(guān)聯(lián)規(guī)則挖掘算法性能的重要指標(biāo)。在傳統(tǒng)的算法中,往往通過多次掃描數(shù)據(jù)庫來實(shí)現(xiàn),算法的主要時(shí)間將花費(fèi)在掃描數(shù)據(jù)庫和I/O 操作上,因此算法運(yùn)行效率較低,也是各種改進(jìn)算法需要解決的核心問題。

    1 經(jīng)典關(guān)聯(lián)規(guī)則算法

    1.1 經(jīng)典Apriori算法

    關(guān)聯(lián)規(guī)則挖掘的經(jīng)典算法是Agrawal 等人在1994年提出的Apriori 算法。隨后,圍繞著如何提高這個(gè)算法的性能問題,研究人員進(jìn)行了大量的改進(jìn)工作。

    Apriori 算法發(fā)現(xiàn)關(guān)聯(lián)規(guī)則的過程首先要找出所有支持度大于等于預(yù)先給定的最小支持度閥值的所有屬性的組合,稱為頻繁項(xiàng)集,記為Lk,這一步是算法性能高低的關(guān)鍵步驟。然后利用頻繁項(xiàng)集產(chǎn)生滿足最小支持度閥值的所有規(guī)則。為了找到Lk,Apriori 算法使用一種稱為逐層搜索的迭代方法,即首先通過Lk-1 與自己連接產(chǎn)生候選K-項(xiàng)集,記為Ck,然后通過剪枝,剔除Ck 中非頻繁項(xiàng)集,得到Lk。

    1.2 影響Apriori算法性能的主要問題

    基于頻繁項(xiàng)集的Apriori 算法采用了逐層搜索的迭代的方法,即利用候選項(xiàng)集和頻繁項(xiàng)集得到全部頻繁項(xiàng)集,并通過對(duì)候選項(xiàng)集的剪枝,大幅度降低了候選項(xiàng)集的大小,得到了預(yù)期的結(jié)果。然而,Apriori 算法在性能上仍存在著一些問題:

    該算法需要重復(fù)掃描數(shù)據(jù)庫來計(jì)算侯選項(xiàng)集的支持度計(jì)數(shù),從而嚴(yán)重影響了算法的運(yùn)行效率。

    2 Apriori算法改進(jìn)

    針對(duì)Apriori 算法瓶頸問題,本文提出了一種改進(jìn)算法,即通過減少數(shù)據(jù)庫掃描次數(shù)的方法提高Apriori 算法的效率。

    2.1 BTA算法思想

    圖1:兩種算法在不同支持度閥值下的時(shí)間開銷

    在經(jīng)典的Apriori 算法中,計(jì)算侯選項(xiàng)集的支持度計(jì)數(shù)是通過重復(fù)掃描數(shù)據(jù)庫來實(shí)現(xiàn)的。為了改善這個(gè)問題,提高算法性能,本文提出一種基于事務(wù)標(biāo)號(hào)集的關(guān)聯(lián)規(guī)則算法BTA(Based on Tid_set Apriori)。

    BTA 算法只在第一次掃描數(shù)據(jù)庫得到頻繁項(xiàng)集各項(xiàng)的事務(wù)標(biāo)識(shí)號(hào)后,就無需再對(duì)數(shù)據(jù)庫進(jìn)行掃描,由頻繁n 項(xiàng)集在生成候選n+1項(xiàng)集時(shí),對(duì)相關(guān)項(xiàng)的Tid 集進(jìn)行交運(yùn)算,生成新的Tid 集,通過Tid 集中包含的事務(wù)數(shù)計(jì)算候選集中相關(guān)項(xiàng)的支持度。將大于支持度閥值的記錄組成頻繁n+1 項(xiàng)集,如此反復(fù),直到產(chǎn)出最終所需要的頻繁項(xiàng)集為止。區(qū)別于經(jīng)典的Apriori 算法,BTA 算法只需要在產(chǎn)生侯選1-項(xiàng)集時(shí)掃描一次數(shù)據(jù)庫,計(jì)算剩余的侯選項(xiàng)集支持度計(jì)數(shù)時(shí)只統(tǒng)計(jì)相應(yīng)Tid 集合元素的個(gè)數(shù)即可。這樣就不用重復(fù)掃描數(shù)據(jù)庫,降低了訪問數(shù)據(jù)庫的I/O 操作時(shí)間,提高了Apriori 算法的效率。

    BTA 算法基本步驟為:

    (1)首先,逐個(gè)掃描事務(wù)數(shù)據(jù)庫,產(chǎn)生1-項(xiàng)候選集合Cl,在掃描每個(gè)事務(wù)時(shí),除了對(duì)每個(gè)項(xiàng)計(jì)數(shù)外,還要記錄包含該項(xiàng)的事務(wù)標(biāo)識(shí)符Tid。這樣掃描完一遍數(shù)據(jù)庫后,我們得到的候選集Cl中,每個(gè)項(xiàng)集都包含一個(gè)相應(yīng)的事務(wù)標(biāo)識(shí)符列表。Cl的結(jié)構(gòu)如下:

    (項(xiàng)集Item_set,支持度計(jì)數(shù)support,事務(wù)標(biāo)識(shí)符集Tid_set)

    (2)從Cl中刪除不滿足最小支持度計(jì)數(shù)的項(xiàng)集,得到Ll。

    (3)Lk-1進(jìn)行自連接,生成Ck,其中Ck的事務(wù)標(biāo)識(shí)符集等于生成它的兩個(gè)Lk-1的事務(wù)標(biāo)識(shí)符集的交集。計(jì)算Ck中項(xiàng)集所對(duì)應(yīng)的事務(wù)標(biāo)識(shí)符集中的Tid 個(gè)數(shù),就得到了Ck中每一個(gè)項(xiàng)集的計(jì)數(shù)。

    2.2 BTA算法描述

    下面是BTA 算法的描述:

    輸入:事務(wù)數(shù)據(jù)庫D;最小支持度閥值minsup。

    輸出:D 中的頻繁項(xiàng)集L。

    Cl=create_candidaet_1(D) ;//創(chuàng)建1-項(xiàng)侯選集

    Ll={cand∈Clcand.support)>= minsup};//選出1-項(xiàng)頻繁集

    For (K=2;Lk-1<>φ;k++)

    {apriori_generate (Lk-1,minsup);// 調(diào)用apriori_generate 生成候選集Ck

    Lk= Ck.Item_set;/選出頻繁項(xiàng)集Lk

    Answer:L=∪kLk;/合并所有的Lk

    Procedure apriori_generate (Lk-1: frequence _item;minsup:int)

    //產(chǎn)生最小支持度為minsup 的候選集Ck

    {for each Item_set li∈Lk-1

    for each Item_set lj∈Lk-1

    if (li[1]= lj[1]∧li[2]=lj[2]∧……∧li[k-2]= lj[k-2]∧li[k-1]< lj[k-1]) then

    {cand= li∪lj//連接頻繁項(xiàng)集Lk-1,得到一個(gè)候選項(xiàng)集C

    If has_inftequence_subset(cand, Lk-1) then // 利 用Apriori 性質(zhì)剪枝

    Delete cand;

    Else

    {cand.Tid_set=li.Tid_set ∩lj.Tid_set;//計(jì)算該項(xiàng)集的事務(wù)標(biāo)識(shí)集的交集

    cand.support=length(cand.Tid_set) ;//計(jì)算該項(xiàng)集的支持度計(jì)數(shù)if cand.support

    delete cand;

    else

    add cand to Ck

    }

    }

    Return Ck;

    }

    Procedure has_infrequence_subset(cand:candidate_k_itemset;Lk-1:frequence(k-1)_itemset)

    //判斷候選項(xiàng)集的子集是否為頻繁項(xiàng)集

    For each(k-1)_subset s of cand

    If s ! ∈ Lk-1 then

    Return true;

    Return flase;

    2.3 實(shí)驗(yàn)驗(yàn)證BTA算法與Apriori算法的性能

    通過上述算法描述可以看出,BTA 算法只有在第一步生成侯選1-項(xiàng)集Cl的時(shí)候掃描了一遍數(shù)據(jù)庫,從而獲得了每個(gè)項(xiàng)集的Tid 列表;計(jì)算其他侯選項(xiàng)集支持度計(jì)數(shù)時(shí),只需統(tǒng)計(jì)侯選項(xiàng)集中相應(yīng)事務(wù)標(biāo)識(shí)符列表中的Tid 個(gè)數(shù)即可。假設(shè)侯選項(xiàng)集Cl的數(shù)目為|Cl|,數(shù)據(jù)庫中的記錄數(shù)為n,每條記錄的平均容量為v,則計(jì)算侯選集C1 所需的時(shí)間為O(|Cl|nv),由于只掃描一遍數(shù)據(jù)庫,因此BTA 算法總時(shí)間開銷為O(|Cl|nv)(此處忽略內(nèi)存運(yùn)行時(shí)間)。與Apriori 經(jīng)典算法的總時(shí)間開銷O(∑k|Ck|nv)相比,BTA 算法大大節(jié)省了時(shí)間開銷。

    為了便于比較,我們利用模擬實(shí)驗(yàn)數(shù)據(jù)集測試兩種算法的運(yùn)行時(shí)間。實(shí)驗(yàn)環(huán)境:計(jì)算機(jī)硬件配置是Intel Core CPU 2.5GHZ/4GB/100GB,操作系統(tǒng)是Windows7,在VC++6.0 編程環(huán)境中分別實(shí)現(xiàn)Apriori 和BTA 算法。

    實(shí)驗(yàn)數(shù)據(jù)集為:Mushroom,含8124 個(gè)事務(wù),該數(shù)據(jù)庫由蘑菇的顏色、氣味、形狀、生長環(huán)境、……、類別等23 個(gè)屬性組成。每種屬性有2~12 個(gè)枚舉值,共128 個(gè)不同項(xiàng)。數(shù)據(jù)集取自UCI Machine Learning Repositoty。在不同的支持度閥值下,兩種算法執(zhí)行時(shí)間如圖1 所示。

    3 結(jié)論

    綜上所述,針對(duì)不同的支持度,BTA 算法的執(zhí)行效率要比Apriori 算法高。而且BTA 算法的執(zhí)行效率優(yōu)勢在支持度較小時(shí)更加明顯,其原因是隨著支持度的減小,候選項(xiàng)目集逐漸增多,Apriori 算法進(jìn)行數(shù)據(jù)庫掃描計(jì)算支持度所需時(shí)間迅速增加。而BTA 算法只需掃描一次數(shù)據(jù)庫,通過事務(wù)標(biāo)識(shí)符集的交集計(jì)算支持度,算法運(yùn)行時(shí)間得到很大的縮減。

    猜你喜歡
    閥值標(biāo)識(shí)符項(xiàng)集
    淺析5G V2X 通信應(yīng)用現(xiàn)狀及其側(cè)鏈路標(biāo)識(shí)符更新技術(shù)
    基于底層虛擬機(jī)的標(biāo)識(shí)符混淆方法
    基于區(qū)塊鏈的持久標(biāo)識(shí)符系統(tǒng)①
    光敏傳感器控制方法及使用其的滅蚊器
    傳感器世界(2019年6期)2019-09-17 08:03:20
    基于小波分析理論的橋梁監(jiān)測信號(hào)去噪研究
    激光多普勒測速系統(tǒng)自適應(yīng)閥值檢測算法
    數(shù)字美術(shù)館“數(shù)字對(duì)象唯一標(biāo)識(shí)符系統(tǒng)”建設(shè)需求淺議
    深度學(xué)習(xí)在無人駕駛汽車中的應(yīng)用
    關(guān)聯(lián)規(guī)則中經(jīng)典的Apriori算法研究
    卷宗(2014年5期)2014-07-15 07:47:08
    一種頻繁核心項(xiàng)集的快速挖掘算法
    封丘县| 黑河市| 客服| 门源| 咸阳市| 区。| 张家口市| 桐柏县| 佛学| 鄂尔多斯市| 加查县| 四子王旗| 远安县| 海门市| 长沙市| 鸡西市| 琼中| 左贡县| 安龙县| 盐池县| 正蓝旗| 武川县| 涞源县| 千阳县| 安龙县| 静宁县| 安丘市| 通州市| 云霄县| 江源县| 田林县| 元朗区| 定南县| 文山县| 海口市| 汕头市| 平乡县| 墨竹工卡县| 师宗县| 十堰市| 沭阳县|