• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于BTA算法的數(shù)據(jù)流頻繁項(xiàng)集挖掘

      2020-09-04 10:46:38耿小海許萌萌
      關(guān)鍵詞:項(xiàng)集數(shù)據(jù)流內(nèi)存

      文 凱,耿小海,許萌萌

      (1.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065;2.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065;3.重慶信科設(shè)計(jì)有限公司,重慶 401121)

      0 引 言

      數(shù)據(jù)挖掘,也可以稱為數(shù)據(jù)中知識(shí)的發(fā)現(xiàn),是從大量數(shù)據(jù)中挖掘有趣模式或知識(shí)的過程,大數(shù)據(jù)的發(fā)展阻礙主要是來自于數(shù)據(jù)的“流動(dòng)性”和“可獲取性”。大數(shù)據(jù)從之前的批處理,再到現(xiàn)在的實(shí)時(shí)處理,以及混合兩者的處理,經(jīng)過了3次技術(shù)革新[1]。隨著時(shí)代在不斷的進(jìn)步,人工智能、模式識(shí)別中的搜索算法和建模技術(shù)也在數(shù)據(jù)流挖掘中得到很好的應(yīng)用,并且吸納了多個(gè)領(lǐng)域中優(yōu)秀知識(shí)和思想[2]。

      數(shù)據(jù)流的數(shù)據(jù)挖掘中存在著許多的機(jī)遇和挑戰(zhàn),這些機(jī)遇和挑戰(zhàn)同時(shí)也給了我們研究的方向和機(jī)會(huì),所以數(shù)據(jù)流頻繁項(xiàng)集挖掘已成為當(dāng)前數(shù)據(jù)挖掘中的一項(xiàng)重要任務(wù),并隨著大數(shù)據(jù)實(shí)時(shí)分析發(fā)展變得越來越重要。

      在數(shù)據(jù)流處理模型中,目前使用最多的是滑動(dòng)窗口模型。滑動(dòng)窗口模型自引入以來就得到廣泛應(yīng)用,SA-Mi-ner[3]、SYSTree[4]、FTK算法[5]采用滑動(dòng)窗口模型。WOB點(diǎn)陣算法[6]同樣也是采用的滑動(dòng)窗口模型,并且該算法巧妙使用點(diǎn)陣技術(shù)可以避免反復(fù)重建整個(gè)樹機(jī)構(gòu)。

      近年來孫杜靖等基于FP-tree的結(jié)構(gòu)提出了面向數(shù)據(jù)流DPFP-Stream[7]算法的設(shè)計(jì)與實(shí)現(xiàn);國(guó)內(nèi)茹蓓等提出的數(shù)據(jù)流完全頻繁項(xiàng)集挖掘算法[8]采用GroupTree算法挖掘頻繁項(xiàng)集;HUISW算法[9]是一種不生成候選項(xiàng)集的算法挖掘頻繁項(xiàng)集;而寇香霞等提出的FIUT-Stream算法[10],用位圖壓縮數(shù)據(jù)流,空間效率得到提高。

      現(xiàn)在的應(yīng)用不僅僅是在數(shù)據(jù)流中挖掘頻繁模式,數(shù)據(jù)流中非頻繁模式的挖掘也進(jìn)入我們視線之中。Hemalatha等[11]提出的MIP-DS方法是一種基于最小非頻繁模式的數(shù)據(jù)流孤立點(diǎn)檢測(cè)方法;Cagliero等[12]通過提出的算法對(duì)不確定數(shù)據(jù)流匯總的非頻繁權(quán)重模式進(jìn)行挖掘。

      針對(duì)現(xiàn)有數(shù)據(jù)流頻繁項(xiàng)集挖掘算法時(shí)間消耗長(zhǎng)、空間消耗大等問題,本文對(duì)FIUT-Stream算法進(jìn)行改進(jìn)。首先采用取余進(jìn)行窗口更新,然后挖掘頻繁項(xiàng)集時(shí)采用與操作,最后在支持度更新簡(jiǎn)單的數(shù)學(xué)運(yùn)算即可。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)算法相較于FIUT-Stream算法在時(shí)間和空間效率有明顯提升。

      1 相關(guān)知識(shí)

      定義1 設(shè)項(xiàng)目集合I={I1,I2,I3,…,Im},則該項(xiàng)集中的每一個(gè)元素稱為項(xiàng),任何一個(gè)項(xiàng)集都是由I中的若干元素組成,包含k個(gè)元素的稱為k-項(xiàng)集。

      定義2 數(shù)據(jù)流DS是由接連不斷到達(dá)的事務(wù)數(shù)據(jù)組成的有順序的序列DS={T1,T2,…}。其中Ti(i=1, 2, 3,…)稱為事務(wù),同時(shí),對(duì)于數(shù)據(jù)流中的每個(gè)事務(wù)Ti都是I中項(xiàng)的集合,即滿足Ti?I。

      定義3 用戶設(shè)定最小支持度閾值為minsup,倘若項(xiàng)集X出現(xiàn)的頻率即sup(X)≥minsup,則稱項(xiàng)集X為頻繁項(xiàng)集。

      定義4 將數(shù)據(jù)流按w大小等分成若干塊,每一塊對(duì)應(yīng)一個(gè)基本窗口,每一個(gè)基本窗口有相同的事物數(shù),這些事物數(shù)個(gè)數(shù)|w|即為基本窗口的大小。

      2 頻繁項(xiàng)集挖掘

      2.1 窗口更新

      FIUT-Stream算法采用滑動(dòng)窗口模型在數(shù)據(jù)流中挖掘頻繁項(xiàng)集。該算法將數(shù)據(jù)流壓縮到位表,即FIUT結(jié)構(gòu);在得到FIUT結(jié)構(gòu)后以滑動(dòng)窗口的形式進(jìn)行數(shù)據(jù)更新,然后對(duì)FIUT結(jié)構(gòu)位表里的數(shù)據(jù)進(jìn)行聚類得到所有k-itemsets,再根據(jù)k-itemsets構(gòu)建FIU-tree,最后在FIU-tree中挖掘出所有頻繁項(xiàng)集。

      相較于其它的算法,F(xiàn)IUT-Stream算法采用位表壓縮數(shù)據(jù),極大減少了內(nèi)存消耗,提高了空間效率;但是該算法在構(gòu)建FIUT結(jié)構(gòu)時(shí)使用兩個(gè)表格,這在處理大量數(shù)據(jù)的時(shí)候內(nèi)存消耗還是極大,而且在使用FIU-tree挖掘頻繁項(xiàng)集的時(shí)候有大量的候選項(xiàng)集的產(chǎn)生,使得挖掘效率不高;在有新的數(shù)據(jù)流到來時(shí),支持度的更新需要對(duì)所有的數(shù)據(jù)進(jìn)行重新計(jì)算,極大地消耗時(shí)間。

      本文提出的改進(jìn)算法只需要構(gòu)建一個(gè)位表來進(jìn)行數(shù)據(jù)的壓縮,而且采用數(shù)學(xué)的求與運(yùn)算直接進(jìn)行頻繁項(xiàng)集的挖掘,在支持度計(jì)算采用簡(jiǎn)單的加減運(yùn)算即可完成,減少了聚類和構(gòu)建FIU-tree的消耗,在挖掘效率上面有極大的提升。具體思路如下:

      表1是本文所用到的數(shù)據(jù)流,將其分為了4個(gè)簇,每一簇包含3個(gè)事物,在FIUT-Stream算法中,隨著數(shù)據(jù)流的流動(dòng),按表格的方向進(jìn)行流動(dòng),新簇流入,舊簇流出。

      表1 數(shù)據(jù)集

      表2為表1前3個(gè)盤壓縮后的數(shù)據(jù)集,每一次對(duì)3個(gè)簇進(jìn)行挖掘,每個(gè)簇包含3個(gè)事物,其將數(shù)據(jù)集壓縮存入一個(gè)位表里面,這樣在進(jìn)行頻繁項(xiàng)集挖掘的時(shí)候的效率可以得到提高。另外,每一個(gè)簇的最下面一行計(jì)算每一簇的每一項(xiàng)的支持度計(jì)數(shù),表格最后一行計(jì)算所有項(xiàng)的支持度計(jì)數(shù),見表2。

      FIUT-Stream算法在有新的數(shù)據(jù)到來的時(shí)候,是采用滑動(dòng)窗口的形式,而本文采用文獻(xiàn)[13]取余的方式進(jìn)行事物更新,當(dāng)滑動(dòng)窗口中數(shù)據(jù)已滿,新來的事物Ti,采用i%n將其插入到窗口中覆蓋原來舊數(shù)據(jù)進(jìn)行數(shù)據(jù)更新。采用這種方式在有新的數(shù)據(jù)到來時(shí)不需要對(duì)所有窗口中所有的數(shù)據(jù)進(jìn)行滑動(dòng),只需要對(duì)需要更新的窗口中的數(shù)據(jù)覆蓋,這對(duì)海量數(shù)據(jù)的更新可以極大提高效率,復(fù)雜度從O(m)降到了O(1),使得挖掘效率得到極大的提升。表3是使用取余的方式將BW4中的數(shù)據(jù)更新得到的更新表。

      2.2 支持度更新

      在更新一個(gè)BW之后,根據(jù)這個(gè)BW的支持度計(jì)數(shù)就可以對(duì)更新后的所有項(xiàng)的支持度進(jìn)行計(jì)算,表3是將BW4的數(shù)據(jù)更新插入BW1。如求a項(xiàng)的支持度時(shí),利用新得到的支持度計(jì)算舊的支持度,即3-2=1,1+7=8得到更新后的a項(xiàng)的支持度為8,以此方法就能得到更新后的所有項(xiàng)的支持度,見表3。

      表2 壓縮位

      表3 更新的數(shù)據(jù)流壓縮位

      2.3 頻繁項(xiàng)集挖掘

      在經(jīng)過一次掃描數(shù)據(jù)后,就可以得到表3,然后根據(jù)最后一行的支持度刪除掉非頻繁1-項(xiàng)集,得到所有的頻繁1-項(xiàng)集。設(shè)定最小支持度為4,根據(jù)表3得到所有頻繁1-項(xiàng)集分別為:a、b、d、f。得到如表4所示數(shù)據(jù),利用超集檢測(cè)減少頻繁項(xiàng)集挖掘的項(xiàng)數(shù),使挖掘效率變高。

      表4 刪除非頻繁1-項(xiàng)集的壓縮位

      接下來就是進(jìn)行頻繁k-項(xiàng)集(k≥2)的挖掘。在挖掘頻繁k-項(xiàng)集的時(shí)候,本文采用的是數(shù)學(xué)中的求與操作進(jìn)行頻繁項(xiàng)集的挖掘:如在挖掘頻繁2-項(xiàng)集的時(shí)候,我們只需要將要求的兩項(xiàng)所在的列之間進(jìn)行與,與之后得到1的個(gè)數(shù),即為該項(xiàng)集的支持度計(jì)數(shù),代表這兩項(xiàng)在同一事物中出現(xiàn)。

      算法1:挖掘k頻繁項(xiàng)集(k≥2)

      輸入:刪除非頻繁1-項(xiàng)集和支持度計(jì)數(shù)的壓縮位表D

      輸出:所有頻繁項(xiàng)集

      for(i = 1; i

      for(j = i+1; j

      s = 0;

      //在k值變化的時(shí)候, 這里也要進(jìn)行相關(guān)變化

      for(h = 1; h

      鋁是目前應(yīng)用最廣的輕質(zhì)材料,其密度大約是鋼鐵的1/3.目前,以鋁代鋼是輕量化技術(shù)的一個(gè)發(fā)展趨勢(shì),鋁合金的導(dǎo)熱率、吸收碰撞性、耐腐蝕性、加工性能都優(yōu)于鋼鐵材料.經(jīng)過技術(shù)的改進(jìn),提高了鋁材的強(qiáng)度,完全可以滿足輕量化要求.同時(shí),研究表明,每千克鋁合金可以比高強(qiáng)度鋼、鋼鐵、低碳鋼減少13~20 kg 溫室氣體的排放[24].因此自20世紀(jì)70年代開始,鋁合金的地位逐漸上升,成為汽車輕量化首選材料.我國(guó)也著手將鋁合金應(yīng)用于汽車,長(zhǎng)安汽車集團(tuán)與國(guó)家輕量化技術(shù)創(chuàng)新戰(zhàn)略聯(lián)盟攜手研發(fā)了“以鋁代鋼”的引擎蓋,同時(shí),用鋁做車頭結(jié)構(gòu)的高端車也在被各高端汽車企業(yè)所采用[25].

      t = D[h][i]*D[h][j];

      s+= t;

      }

      if (s≥minsup){

      記錄頻繁k-項(xiàng)集D[1][i]、D[1][j],…

      }

      }

      }

      圖1是頻繁項(xiàng)集挖掘算法流程。

      圖1 頻繁項(xiàng)集挖掘算法流程

      經(jīng)過以上幾個(gè)步驟,就可以從數(shù)據(jù)流中挖掘出所有的頻繁項(xiàng)集。該算法的改進(jìn)在很大程度上提升了FIUT-Stream算法的時(shí)間和空間效率。在FIUT結(jié)構(gòu)創(chuàng)建之后,不需要多余創(chuàng)建FIU-tree結(jié)構(gòu),頻繁項(xiàng)集的挖掘直接用位列表進(jìn)行數(shù)學(xué)中的與操作就可以挖掘出所有的頻繁項(xiàng)集,在支持度更新計(jì)算采用簡(jiǎn)單的加減運(yùn)算。既減少了構(gòu)建FIU-tree的空間內(nèi)存消耗,也通過與操作和新的支持度更新方式提高了時(shí)間的效率。

      這種高效率的數(shù)據(jù)流頻繁項(xiàng)集挖掘方式在恐怖分子搜查方面可以得到很好應(yīng)用,在人流中搜尋頻繁在一個(gè)地方出現(xiàn)的人可以給予很大的懷疑,這可以給警方破案提供很大的幫助;另外,用戶在網(wǎng)上瀏覽新聞、網(wǎng)上購物以及查看股票的變化趨勢(shì),都可以通過實(shí)時(shí)進(jìn)行分析,給用戶進(jìn)行個(gè)性化的推薦,或者給用戶做出一些指導(dǎo),隨著信息化社會(huì)的發(fā)展,這方面的應(yīng)用也變得越來越廣泛。

      3 實(shí)驗(yàn)結(jié)果分析

      實(shí)驗(yàn)所需要的程序采用的是Java進(jìn)行編寫,實(shí)驗(yàn)環(huán)境為Intel(R) Core(TM) i5-2400 CPU @ 3.1 GHz,4 GB內(nèi)存,64位Windows 10操作系統(tǒng)。為了更好體現(xiàn)算法的普遍性,本次實(shí)驗(yàn)采用了相對(duì)稀疏數(shù)據(jù)集T40I10D100K和相對(duì)稠密數(shù)據(jù)集connect-4這兩個(gè)數(shù)據(jù)集。其中相對(duì)稀疏數(shù)據(jù)集包含了100 000個(gè)事物和942個(gè)項(xiàng);而相對(duì)稠密數(shù)據(jù)集包含了67 557個(gè)事物,129個(gè)項(xiàng)。為了比較真實(shí)使實(shí)驗(yàn)環(huán)境為數(shù)據(jù)流,先是按時(shí)間順序使用一個(gè)線程從數(shù)據(jù)集中獲取基本窗口長(zhǎng)的數(shù)據(jù),然后依次將數(shù)據(jù)傳送給負(fù)責(zé)挖掘的線程,這時(shí)負(fù)責(zé)挖掘的線程就具備了時(shí)間連續(xù)到達(dá)的特征。

      首先比較了GroupTree算法、FIUT-Stream算法和改進(jìn)算法BTA在稀疏數(shù)據(jù)集T40I10D100K和稠密數(shù)據(jù)集connect-4中的時(shí)間開銷。在稀疏數(shù)據(jù)集T40I10D100K的實(shí)驗(yàn)中,設(shè)定滑動(dòng)窗口大小為4,支持度分別為(10, 15, 20, 25);對(duì)于稠密數(shù)據(jù)集connect-4,設(shè)定滑動(dòng)窗口大小2,支持度分別為(85, 88, 91, 94, 97),得到圖2、圖3的時(shí)間消耗對(duì)比。

      圖2 在數(shù)據(jù)集T40I10D100K下時(shí)間消耗對(duì)比

      圖3 在數(shù)據(jù)集connect-4下時(shí)間消耗對(duì)比

      由圖2、圖3可以看出,在較高和較低支持度情況下,BAT算法的時(shí)間開銷都要比FIUT-Stream算法和GroupTree算法小,在支持度越低效果越明顯,隨著支持度降低差距越來越大。因?yàn)楦倪M(jìn)算法減少了構(gòu)建FIU-tree和GroupTree的時(shí)間開銷,所以在時(shí)間效率上比較優(yōu)越,并且是隨著支持度越低的效果越明顯。

      在考慮完時(shí)間開銷之后,接下考慮空間開銷。設(shè)panes=10 K事物,在稀疏數(shù)據(jù)集T40I10D100K的時(shí)候,滑動(dòng)窗口大小設(shè)定分別為3,5,7,9。在稠密數(shù)據(jù)集connect-4中,設(shè)定滑動(dòng)窗口大小分別為2,3,4,5,實(shí)驗(yàn)對(duì)比結(jié)果如圖4、圖5所示。

      圖4 在數(shù)據(jù)集T40I10D100K下的內(nèi)存消耗

      圖5 在數(shù)據(jù)集connect-4下的內(nèi)存消耗

      由圖4、圖5可以看出,在稀疏數(shù)據(jù)集和稠密數(shù)據(jù)集中,隨著Pane數(shù)的增加,BTA算法在內(nèi)存消耗上面都低于FIUT-Stream算法和GroupTree算法,因?yàn)镕IUT-Stream算法在Pane數(shù)越來越多的情況下需要構(gòu)建的表格消耗內(nèi)存越來越大,并且在挖掘頻繁項(xiàng)集的時(shí)候候選項(xiàng)集會(huì)越來越多,而GroupTree算法對(duì)GroupTree結(jié)構(gòu)構(gòu)建越來越多,所以隨著Pane數(shù)的增加,BTA算法的空間優(yōu)越性越來越明顯。

      4 結(jié)束語

      本文針對(duì)FIUT-Stream算法在時(shí)間、空間效率不高等問題,提出了一種改進(jìn)算法,改進(jìn)算法同F(xiàn)IUT-Stream算法一樣將數(shù)據(jù)壓縮在位表結(jié)構(gòu)中,但是改進(jìn)算法只需要構(gòu)建一個(gè)表格即可,然后通過將數(shù)據(jù)流分成等長(zhǎng)的思想來準(zhǔn)確挖掘數(shù)據(jù)流中的頻繁項(xiàng)集,而且在滑動(dòng)窗口更新采用的是取余操作進(jìn)行數(shù)據(jù)更新,提升了時(shí)間效率。另外,在頻繁項(xiàng)集挖掘采用的求與操作,減少了FIUT-Stream算法的構(gòu)建FIU-tree的開銷和候選項(xiàng)集產(chǎn)生的開銷,在時(shí)間和空間效率都得到一定的提升。最后在進(jìn)行支持度的更新時(shí),分塊計(jì)算支持度計(jì)數(shù),然后通過數(shù)學(xué)運(yùn)算進(jìn)行支持度更新,只需要小范圍計(jì)算支持度,進(jìn)一步提高時(shí)間效率。

      猜你喜歡
      項(xiàng)集數(shù)據(jù)流內(nèi)存
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      “春夏秋冬”的內(nèi)存
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      北醫(yī)三院 數(shù)據(jù)流疏通就診量
      關(guān)聯(lián)規(guī)則中經(jīng)典的Apriori算法研究
      卷宗(2014年5期)2014-07-15 07:47:08
      一種頻繁核心項(xiàng)集的快速挖掘算法
      基于內(nèi)存的地理信息訪問技術(shù)
      一種新的改進(jìn)Apriori算法*
      分布式數(shù)據(jù)庫的精簡(jiǎn)頻繁模式集及其挖掘算法*
      临泽县| 上栗县| 富阳市| 苏州市| 哈密市| 钟山县| 阿坝县| 兴隆县| 浦北县| 长宁区| 丁青县| 梁山县| 屯门区| 平江县| 东城区| 漯河市| 云林县| 平顶山市| 新竹市| 郴州市| 巨鹿县| 莱州市| 巴东县| 盐津县| 肃宁县| 泗阳县| 华容县| 乌什县| 朔州市| 东乡县| 远安县| 颍上县| 莲花县| 个旧市| 阳东县| 蓬溪县| 华蓥市| 烟台市| 苍山县| 永吉县| 房山区|