馮忠慧 尹紹宏
摘 要:閉頻繁項(xiàng)集包含了關(guān)于頻繁項(xiàng)集的完整信息,可顯著減少頻繁項(xiàng)集挖掘所產(chǎn)生的模式數(shù)量,在一定程度上降低了內(nèi)存開(kāi)銷(xiāo)、提高了時(shí)間效率。數(shù)據(jù)流的特性決定了它需要更高效的挖掘算法,為此使用分治策略,提出一種并行化閉頻繁項(xiàng)集挖掘算法PCFI。該算法采用垂直數(shù)據(jù)格式存儲(chǔ)項(xiàng)集的事務(wù),通過(guò)對(duì)事務(wù)集的集合運(yùn)算,可快速得到項(xiàng)集的支持度計(jì)數(shù),合并具有相同事務(wù)集的頻繁項(xiàng),得到初始生成子,降低了搜索空間的規(guī)模。采用分治策略對(duì)初始生成子進(jìn)行并行處理,得到約簡(jiǎn)前序集和約簡(jiǎn)后序集,在挖掘過(guò)程中不斷地對(duì)每一生成子的搜索空間進(jìn)行減枝,得到更小的約簡(jiǎn)后序集,從而減少對(duì)冗余數(shù)據(jù)的處理。實(shí)驗(yàn)分析表明,該算法的性能優(yōu)于先前設(shè)計(jì)的算法。
關(guān)鍵詞:數(shù)據(jù)流;滑動(dòng)窗口;垂直數(shù)據(jù)格式;并行計(jì)算;閉頻繁項(xiàng)集
中圖分類(lèi)號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
數(shù)據(jù)流[1]是一串快速到達(dá)、無(wú)界的數(shù)據(jù)序列,廣泛存在于日常生活各領(lǐng)域。數(shù)據(jù)流的特性決定了對(duì)其進(jìn)行挖掘?qū)⒚媾R著更多的挑戰(zhàn)。首先,由于存儲(chǔ)器的有限性,無(wú)法通過(guò)一次掃描存儲(chǔ)所有傳入的數(shù)據(jù)。其次,對(duì)于數(shù)據(jù)的處理效率也有更高的要求,即在新事物到來(lái)之前,需完成對(duì)當(dāng)前時(shí)間段內(nèi)數(shù)據(jù)的處理。因此,傳統(tǒng)數(shù)據(jù)挖掘算法無(wú)法直接應(yīng)用于數(shù)據(jù)流挖掘,需進(jìn)行適當(dāng)?shù)母倪M(jìn)和擴(kuò)展。
盡管對(duì)于如何高效的挖掘頻繁項(xiàng)集已取得不少研究成果[2-5],但當(dāng)最小支持度閾值設(shè)置過(guò)低或數(shù)據(jù)集存在長(zhǎng)模式時(shí),仍將會(huì)產(chǎn)生大量頻繁項(xiàng)集,影響著數(shù)據(jù)流挖掘的時(shí)效性。針對(duì)此問(wèn)題,1999年,Pasquier等人首次提出閉頻繁項(xiàng)集概念[6]來(lái)減少存儲(chǔ)空間和處理時(shí)間。閉頻繁項(xiàng)集,規(guī)模小,包含頻繁項(xiàng)集的完整信息,作為頻繁項(xiàng)集的替代,可從大量的頻繁項(xiàng)集中進(jìn)一步提取有用知識(shí),提高挖掘效率。
Chi等人首次提出基于滑動(dòng)窗口的閉頻繁項(xiàng)集挖掘算法,Moment算法[7]引入閉合計(jì)數(shù)樹(shù)CET結(jié)構(gòu),用來(lái)檢測(cè)閉頻繁項(xiàng)集及與其他項(xiàng)集的邊界,并通過(guò)CET中的相應(yīng)節(jié)點(diǎn)類(lèi)型轉(zhuǎn)換來(lái)處理數(shù)據(jù)流的概念變化。該算法面臨兩個(gè)問(wèn)題:其一,相對(duì)于閉頻繁項(xiàng)集的數(shù)量而言,CET節(jié)點(diǎn)數(shù)目非常高。其二,以減少內(nèi)存占用并加快對(duì)事物的搜索,采用FP樹(shù)存儲(chǔ)滑動(dòng)窗口事務(wù),并在此結(jié)構(gòu)中搜索新的頻繁項(xiàng)集。因此需要維護(hù)大量節(jié)點(diǎn),影響算法運(yùn)行效率。
Lucchese等人提出的DCI-Closed算法[8],通過(guò)生成子的前序集和后序集,來(lái)判定該生成子是否保序的方法,進(jìn)行大量剪枝操作,減少了無(wú)效的檢測(cè),實(shí)現(xiàn)了對(duì)頻繁項(xiàng)集格跳躍式的搜索閉頻繁項(xiàng)集。優(yōu)于CLOSET+算法[9]。宋威等人在此基礎(chǔ)上,提出改進(jìn)的DCI-CLOSED-INDEX算法[10],采用二進(jìn)制矩陣存儲(chǔ)數(shù)據(jù)集,索引數(shù)組組織數(shù)據(jù),并提出約簡(jiǎn)前序集和約簡(jiǎn)后序集概念,進(jìn)一步的縮小了搜索空間。但通過(guò)遞歸的調(diào)用方式挖掘閉頻繁項(xiàng)集使得效率低下。
數(shù)據(jù)流中閉頻繁模式挖掘的研究問(wèn)題主要集中在兩點(diǎn):(1)引入高效的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)集。提高空間利用率同時(shí)提高數(shù)據(jù)存儲(chǔ)效率及數(shù)據(jù)處理效率。(2)算法本身性能的提升。本章通過(guò)對(duì)DCI-CLOSED-INDEX算法的改進(jìn),設(shè)計(jì)一種并行化的數(shù)據(jù)流閉頻繁項(xiàng)集挖掘算法。引入垂直數(shù)據(jù)格式組織數(shù)據(jù),通過(guò)集合運(yùn)算對(duì)項(xiàng)集進(jìn)行集合操作計(jì)數(shù)判斷。對(duì)初始生成子采用分治策略,利用ForkJoin框架對(duì)其進(jìn)行并行化處理。
2 相關(guān)知識(shí)(Related knowledge)
2.1 基本概念和性質(zhì)
定義1:數(shù)據(jù)流DS={T1,T2,T3,…,Tn},由以一定速度連續(xù)到達(dá)的事務(wù)Ti組成。I={i1,i2,i3,…,in}代表數(shù)據(jù)流中數(shù)據(jù)項(xiàng)的集合,事務(wù)Ti由數(shù)據(jù)流中部分或全體數(shù)據(jù)項(xiàng)構(gòu)成,Ti={i1,i2,i3,…,ik}(1≤k≤n),對(duì)于任意Ti,都有TiI。
定義2:滑動(dòng)窗口[11]SW={S0,S1,S2,…,Sw-1},構(gòu)成數(shù)據(jù)流的一個(gè)瞬時(shí)抽樣,窗口寬度w(w>0),即窗口內(nèi)包含事務(wù)集的數(shù)量,由用戶(hù)預(yù)定義。隨時(shí)間推進(jìn),新事務(wù)的到來(lái),滑動(dòng)窗口采取可重寫(xiě)循環(huán)方式不斷更新窗口內(nèi)數(shù)據(jù)。
定義3:閉項(xiàng)集。如果項(xiàng)集X的直接超集都不具有和它相同的支持度計(jì)數(shù),則稱(chēng)項(xiàng)集X為閉項(xiàng)集。
定義4:閉頻繁項(xiàng)集。給定最小支持度閥值min_sup,若閉項(xiàng)集X的支持度sup(X)≥min_sup,則X是一個(gè)閉頻繁項(xiàng)集,其中,|X|表示窗口中事務(wù)集包含項(xiàng)集X的數(shù)量。
性質(zhì)1:對(duì)于窗口中的任意頻繁項(xiàng)集X,若,則Tnew的到來(lái)對(duì)于當(dāng)前窗口中已存在的頻繁項(xiàng)集無(wú)影響,其中Tnew代表新事務(wù)。
性質(zhì)2:如果項(xiàng)集,則。
2.2 數(shù)據(jù)結(jié)構(gòu)
2.2.1 事務(wù)矩陣
用一個(gè)m×n的矩陣存儲(chǔ)窗口中的事務(wù),其中m代表事務(wù)量,n代表數(shù)據(jù)流中項(xiàng)的量。設(shè)定滑動(dòng)窗口大小為w,則事務(wù)矩陣大小固定為w×n。窗口未滿(mǎn)時(shí),按照事務(wù)到達(dá)次序,依次對(duì)矩陣賦值,若事務(wù)Ti包含項(xiàng)目ij,則將TMij置為1,否則置為0;窗口滑動(dòng)后,采用新事務(wù)覆蓋最舊事務(wù)的方式[12],對(duì)事務(wù)矩陣進(jìn)行更新。
2.2.2 垂直數(shù)據(jù)格式
對(duì)頻繁的項(xiàng)集采用事務(wù)集表示,即{items:transactions},其中items代表頻繁項(xiàng)集,transactions代表包括items的事務(wù)集合。通過(guò)對(duì)事務(wù)集進(jìn)行交集運(yùn)算,便于進(jìn)行支持度計(jì)數(shù)。同時(shí)采用該方式以緊湊方式進(jìn)行存儲(chǔ),也可避免以bit值存儲(chǔ)大量0所導(dǎo)致的空間浪費(fèi),對(duì)于數(shù)據(jù)的存儲(chǔ)和處理在時(shí)空效率上均有所提高。
2.3 ForkJoin框架
ForkJoin[12]框架是由Java7提供的基于多核計(jì)算的并行處理框架,充分利用多核CPU的優(yōu)勢(shì),提高程序處理能力。主要思想是通過(guò)設(shè)置閾值和工作線(xiàn)程數(shù)量,將總?cè)蝿?wù)分割成多個(gè)子任務(wù)并行處理,其中工作線(xiàn)程數(shù)量根據(jù)CPU和任務(wù)需要進(jìn)行設(shè)置,閾值取決于要進(jìn)行劃分的任務(wù)規(guī)模和工作線(xiàn)程數(shù)量。最后,通過(guò)對(duì)子任務(wù)的結(jié)果進(jìn)行合并,可得到全局結(jié)果。其原理如圖1所示。
3 PCFI算法(PCFI algorithm)
該算法主要包括三部分:首先,使用事務(wù)矩陣存儲(chǔ)滑動(dòng)窗口數(shù)據(jù),計(jì)算頻繁1-項(xiàng)集,并按支持度計(jì)數(shù)降序排列以垂直數(shù)據(jù)格式結(jié)構(gòu)進(jìn)行存儲(chǔ)。之后,對(duì)頻繁1-項(xiàng)集進(jìn)行處理,獲得初始生成子。最后,將初始生成子分組以并行方式處理,計(jì)算約簡(jiǎn)前序集和約簡(jiǎn)后序集,得到局部閉頻繁項(xiàng)集。合并子任務(wù)結(jié)果,得到全局閉頻繁項(xiàng)集。
以表1所示事務(wù)數(shù)據(jù)流為例,介紹PCFI算法流程,設(shè)min_sup=0.4,w=5。
3.1 處理滑動(dòng)窗口數(shù)據(jù)
掃描事務(wù)矩陣count一行,如果該值不小于最小支持度計(jì)數(shù),則該項(xiàng)為頻繁1-項(xiàng)集,可得到按支持度計(jì)數(shù)降序排列的頻繁1-項(xiàng)集{c,a,b,d,e}。并以垂直數(shù)據(jù)格式的方式來(lái)存儲(chǔ)頻繁1-項(xiàng)集,如表3所示。其中TID-集表示包括該項(xiàng)集事務(wù)TID的集合。以項(xiàng)集c為例,被事務(wù)TID={1,2,3,4}所包含。
3.2 初始生成子
初始生成子需滿(mǎn)足兩個(gè)條件:(1)沒(méi)有直接超集的項(xiàng),即閉頻繁項(xiàng)集。(2)如果項(xiàng)集的事務(wù)集相同,則應(yīng)將其合并。滿(mǎn)足其一,即可作為初始生成子。對(duì)頻繁1-項(xiàng)集矩陣進(jìn)行處理,計(jì)算初始生成子。由于,,均不滿(mǎn)足條件一,因此排除項(xiàng)a和b。經(jīng)處理后可得到的初始生成子如表4所示,同時(shí)可得到閉頻繁項(xiàng)集{c,d,e}。此步有效的減少了后期需要處理的數(shù)據(jù)量。
3.3 并行挖掘閉頻繁項(xiàng)集
全局閉頻繁項(xiàng)集的挖掘部分以并行化方式執(zhí)行。由于對(duì)每個(gè)初始生成子進(jìn)行處理時(shí)相互之間不存在關(guān)聯(lián)關(guān)系,所以根據(jù)分治策略,可將初始生成子分割成與CPU核數(shù)相匹配的子任務(wù),對(duì)其并行處理。
3.3.1 前序集和后序集
以支持度計(jì)數(shù)降序排列的頻繁1-項(xiàng)集矩陣為基準(zhǔn),位于某項(xiàng)之前的項(xiàng)歸為該項(xiàng)的前序集,其后序項(xiàng)作為其后序集。以項(xiàng)b為例,其前序集為{c,a},后序集為{d,e}。其中第一個(gè)項(xiàng)的前序集為空集,最后一個(gè)項(xiàng)的后序集為空集。
3.3.2 約簡(jiǎn)前序集和約簡(jiǎn)后序集
為縮減候選項(xiàng)集的規(guī)模,應(yīng)對(duì)其用于擴(kuò)展初始生成子的后序集進(jìn)行約簡(jiǎn),以降低后期處理的復(fù)雜度。因此引入約簡(jiǎn)前序集和約簡(jiǎn)后序集概念。
首先,對(duì)初始生成子的前序集進(jìn)行約簡(jiǎn)。約簡(jiǎn)規(guī)則以保證約簡(jiǎn)前序集中項(xiàng)的事務(wù)集都不被其他項(xiàng)的事務(wù)集所包含。以初始生成子{e}為例,前序集{c,a,b,d},其中項(xiàng)a的事務(wù)集被項(xiàng)c事務(wù)集所包含,因此項(xiàng)a應(yīng)被約簡(jiǎn),同理約簡(jiǎn)項(xiàng)b,得到約簡(jiǎn)后序集{c,d}。
在得到約簡(jiǎn)前序集的基礎(chǔ)上,對(duì)后序集進(jìn)行約簡(jiǎn)。如果后序集中項(xiàng)的事務(wù)集不被約簡(jiǎn)前序集中項(xiàng)的事務(wù)集所包含,則可加入約簡(jiǎn)后序集,從而縮小了可擴(kuò)展項(xiàng)的數(shù)量。
經(jīng)以上步驟處理后得到初始生成子的約簡(jiǎn)前序集和約簡(jiǎn)后序集如表5所示。
3.3.3 全局閉頻繁項(xiàng)集
設(shè)置ForkJoin框架的工作線(xiàn)程數(shù)量n,將初始生成子分成n組并行計(jì)算,充分利用多核CPU資源,提高運(yùn)算速度。
當(dāng)初始生成子的約簡(jiǎn)后序集為空時(shí),將其直接歸為閉頻繁項(xiàng)集,結(jié)束擴(kuò)展。如初始生成子e,其約簡(jiǎn)后序集為空集,則e為閉頻繁項(xiàng)集。
否則,利用約簡(jiǎn)后序集以廣度優(yōu)先方式對(duì)初始生成子進(jìn)行擴(kuò)展以避免遞歸式的調(diào)用。如果當(dāng)前項(xiàng)集支持度計(jì)數(shù)大于擴(kuò)展集支持度計(jì)數(shù),則將當(dāng)前項(xiàng)集加入全局閉頻繁項(xiàng)集;如果擴(kuò)展集支持度計(jì)數(shù)不小于最小閾值,則將其加入生成子,繼續(xù)對(duì)其擴(kuò)展;由性質(zhì)2可知,非頻繁項(xiàng)集的超集均為非頻繁項(xiàng)集,對(duì)于支持度計(jì)數(shù)小于最小閾值的項(xiàng)集停止擴(kuò)展。重復(fù)以上步驟,直到不再有新生成子時(shí)結(jié)束,即可獲得以當(dāng)前初始生成子為前項(xiàng)的閉頻繁項(xiàng)集。以初始生成子c為例,用項(xiàng)b對(duì)其擴(kuò)展,得到,由于,則c為閉頻繁項(xiàng)集,同時(shí)項(xiàng)集{cb}作為生成子,繼續(xù)擴(kuò)展,得到候選項(xiàng)集{cbd},因?yàn)?,停止?duì)其擴(kuò)展。
合并對(duì)初始生成子擴(kuò)展挖掘后得到的閉頻繁項(xiàng)集,即可得到全局閉頻繁項(xiàng)集。如圖2所示。
3.4 PCFI算法描述
算法1:滑動(dòng)窗口初始化,計(jì)算頻繁1-項(xiàng)集。
輸入:數(shù)據(jù)流DS,最小支持度min_sup,滑動(dòng)窗口大小w。
輸出:頻繁1-項(xiàng)集
1 掃描DS前w條事務(wù),存儲(chǔ)到事務(wù)矩陣。
2 掃描事務(wù)矩陣最后一行
for(j=0;j if(TM[last,j]>=min_sup) Fi.item.add(item); /*加入項(xiàng)*/ Fi.item.trans(transaction); /*加入事務(wù)*/ } 3 按支持度計(jì)數(shù)降序排列頻繁1-項(xiàng)集 4 輸出以垂直數(shù)據(jù)格式存儲(chǔ)的頻繁1-項(xiàng)集矩陣 算法2:計(jì)算初始生成子。 輸入:頻繁1-項(xiàng)集矩陣 輸出:初始生成子 for each頻繁1-項(xiàng)集 if(fi(i).trans和fi(j).trans相同) /*合并兩項(xiàng),將合并后的項(xiàng)集作為初始生成子*/ if(fi(i).trans?fi(j).trans) /*該項(xiàng)不能作為初始生成子*/ if(fi(i).trans不被任何項(xiàng)的事務(wù)集包含) /*該項(xiàng)既是初始生成子,也是頻繁1-項(xiàng)集*/ 算法3:并行挖掘全局閉頻繁項(xiàng)集。 輸入:頻繁1-項(xiàng)集,初始生成子,線(xiàn)程數(shù)量n 輸出:全局閉頻繁項(xiàng)集 1 將初始生成子分割成子任務(wù) THRESHOLD=(end-start)/n; canCompute=(end-start)<=THRESHOLD;
if(canCompute){/*核心處理部分2~6*/
}else{/*繼續(xù)分割初始生成子*/
middle=(start+end)/2;
ParallelProcessing(start,middle);
ParallelProcessing(middle+1,end);
}
2 計(jì)算約簡(jiǎn)前序集
for初始生成子each前序集
if(pre_set(i).trans?pre_set(j).trans)
/*pre_set(i)被約簡(jiǎn)掉*/
3 得到約簡(jiǎn)后的前序集pre_set
4 計(jì)算約簡(jiǎn)后序集
for初始生成子each后序集
if(post_set(i).trans?pre_set(j).trans)
/*post_set(i)被約簡(jiǎn)掉*/
5 得到約簡(jiǎn)后的后序集post_set
6 挖掘全局閉頻繁項(xiàng)集
if(post_set==NULL)/*將gen加入到全局閉頻繁項(xiàng)集*/
else
candidate.add(gen);
for each candidate 用約簡(jiǎn)后序集進(jìn)行擴(kuò)展
if(new_gen.post_set==null)
continue;
if(new_gen.sup>=min_sup)
/* 將candidate.add(new_gen);*/
if(gen.sup>new_gen.sup)
/*將gen加入到全局閉頻繁項(xiàng)集*/
4 實(shí)驗(yàn)結(jié)果及分析(Experimental results and
analysis)
本文算法采用Java語(yǔ)言實(shí)現(xiàn),以MyElipse為開(kāi)發(fā)平臺(tái),部署Fork-Join框架,采用雙核的并行方式對(duì)算法進(jìn)行性能測(cè)試。實(shí)驗(yàn)環(huán)境為Windows 7旗艦版操作系統(tǒng)、AMD A4-6210 APU with AMD Radeon R3 Graphics1.80GHz、4GB內(nèi)存。
采用三組數(shù)據(jù)集來(lái)模擬數(shù)據(jù)流環(huán)境進(jìn)行測(cè)試,分別是稀疏集T10I4D100K、稠密集T40I10D100K和Mushroom。
為測(cè)試PCFI算法的有效性,本文將DCI-CLOSED-INDEX算法擴(kuò)展為數(shù)據(jù)流中閉頻繁項(xiàng)集挖掘算法,標(biāo)記為DCI-CLOSED-INDEX-DS。
4.1 不同數(shù)據(jù)集下運(yùn)行時(shí)間的比較
設(shè)定滑動(dòng)窗口大小為w=1000,最小支持度為min_sup=0.02,測(cè)試兩種算法在稀疏集T10I4D100K上的運(yùn)行時(shí)間對(duì)比,如圖3所示。
如圖4所示,設(shè)定滑動(dòng)窗口大小為w=1000,最小支持度為min_sup=0.05,測(cè)試兩種算法在稠密集T40I10D100K上的運(yùn)行時(shí)間對(duì)比。
可以看出,兩種算法在不同數(shù)據(jù)集下運(yùn)行時(shí)間均隨事務(wù)數(shù)的增多呈線(xiàn)性增長(zhǎng)趨勢(shì),但相比之下DCI-CLOSED-INDEX-DS算法增長(zhǎng)速度更快些,也說(shuō)明了本算法的穩(wěn)定性;在相同事務(wù)數(shù)下,無(wú)論是稀疏集還是稠密集,PCFI算法的時(shí)間效率均高于DCI-CLOSED-INDEX-DS算法。這是由于PCFI算法在挖掘閉頻繁項(xiàng)集時(shí)避免了遞歸式的調(diào)用,降低了算法的時(shí)間復(fù)雜度;同時(shí),在并行環(huán)境下,采用分治策略,利用多核CPU將初始生成子分成子任務(wù)并行處理,極大的提高了程序的執(zhí)行效率。
4.2 不同支持度下運(yùn)行時(shí)間的比較
如圖5所示,設(shè)定滑動(dòng)窗口大小為w=1000,采用數(shù)據(jù)集Mushroom測(cè)試兩種算法在不同支持度下的運(yùn)行時(shí)間對(duì)比。
圖5顯示當(dāng)支持度設(shè)置較低時(shí),PCFI算法運(yùn)行時(shí)間比DCI-CLOSED-INDEX-DS快兩倍多。隨支持度變小,兩種算法的運(yùn)行時(shí)間波動(dòng)均較小,可以反映出閉頻繁項(xiàng)集的個(gè)數(shù)增加并不快,因此以閉頻繁項(xiàng)集替代頻繁項(xiàng)集也更適用于數(shù)據(jù)流中的頻繁模式挖掘,能夠以較快的運(yùn)行速度挖掘出所需的完整信息。
5 結(jié)論(Conclusion)
本文針對(duì)頻繁項(xiàng)集在數(shù)據(jù)流環(huán)境下挖掘效率低下的問(wèn)題,對(duì)DCI-CLOSED-INDEX算法的改進(jìn)和擴(kuò)展,提出一種數(shù)據(jù)流中閉頻繁項(xiàng)集的并行挖掘算法PCFI。該算法以垂直數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)頻繁項(xiàng)集,通過(guò)事務(wù)集間的集合操作可以減少對(duì)事務(wù)矩陣的掃描,同時(shí)也能避免存儲(chǔ)大量0元素對(duì)存儲(chǔ)空間的浪費(fèi)。根據(jù)頻繁1-項(xiàng)集獲取初始生成子,使用分治策略,與CPU核數(shù)及程序需求相匹配,對(duì)初始生成子進(jìn)行分組并行計(jì)算,利用約簡(jiǎn)前序集得到約簡(jiǎn)后序集,對(duì)初始生成子進(jìn)行擴(kuò)展,直至擴(kuò)展結(jié)束,將局部閉頻繁項(xiàng)集合并得到全局閉頻繁項(xiàng)集。實(shí)驗(yàn)結(jié)果表明,基于ForkJoin框架的PCFI算法在時(shí)間效率上,相對(duì)于已有算法有了明顯的提高。
參考文獻(xiàn)(References)
[1] Morales G D F,Bifet A,Khan L,et al.IoT Big Data Stream Mining[C].ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2016:2119-2120.
[2] Aliberti G,Colantonio A,Pietro R D,et al.EXPEDITE:EXPress closED ITemset Enumeration[J].Expert Systems with Applications,2015,42(8):3933-3944.
[3] Subbulakshmi B,Dharini B,Deisy C.Recent weighted maximal frequent itemsets mining[C].International Conference on I-Smac.IEEE,2017:391-397.
[4] Huang J N,Hong T P,Chiang M C.An effective method for approximate representation of frequent itemsets[J].Intelligent Data Analysis,2017,21(3):597-616.
[5] 張偉,石純一.Agent組織的一種遞歸模型[J].軟件學(xué)報(bào),2002,13(11):2149-2154.
[6] Meuer H,Simon H,Strohmaier E,et al.TOP500 supercomputer sites[EB/OL].http://www.top500.org,2011-10-15.
[7] Johnson T F,Tinoco E T,N.Yu N.Thirty years of development and application of CFD at Boeing commercial airplane seattle[R].USA:AIAA,2003:343.
[8] Zhang H,Li S K.Description logic of tasks: From theory to practice[J].Chinese Journal of Computers,2006,29(3):488-496.
[9] Wang J,Han J,Pei J.CLOSET+:searching for the best strategies for mining frequent closed itemsets[C].ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2003:236-245.
[10] Graham S,Park C.Assignment of dual port memory banks for a cup and a host channel adapter in an infiniband computing node [P].US 6816889 B1,2004-10-09.
[11] Zhang Hui.Organizational coordinate behaviors modeling of virtual entity group[D].Changsha:National University of Defense Technology,2006.
[12] 梅杓春.新編英漢通信詞典[M].南京:東南大學(xué)出版社,1996.
作者簡(jiǎn)介:
馮忠慧(1993-),女,碩士生.研究領(lǐng)域:數(shù)據(jù)挖掘.
尹紹宏(1964-),女,碩士,副教授.研究領(lǐng)域:數(shù)據(jù)挖掘.