高效率探勘關聯規則之演算法
陳垂呈1、陳宗義2 1 . 南台科技大學 資訊管理系 2 . 南華大學 電子商務系 E-mail: [email protected]摘 要
從交易資料庫中探勘關聯規則是資料探勘領域中最重要的研究問題之一,本論文以交易資料為探勘的 資料來源,每一筆交易資料包含消費者曾經購買的產品項目,分別從兩方面探勘關聯規則:一是修改 CDAR (cluster-decomposition association rule)演算法對交易資料分群的方式,加入以交易資料之字首項目(prefix item)為依據的分群概念,設計一個以布林運算為基礎的 BPL (Boolean mining association rules for clustering the database with the prefix item and the length of transaction data)演算法探勘關聯規則。從實驗評估中顯示, BPL 演算法的執行效率優於 CDAR 演算法;二是考量當有新增或刪除交易資料的情況,文中以 BPL 演算法 的探勘步驟為基礎,設計一個 UBPL (updating association rules with the BPL algorithm)演算法更新關聯規則。 從效能實驗中顯示,當有新增或刪除交易資料時,UBPL 演算法將可以大幅提升更新關聯規則的執行效能。 關鍵詞:資料探勘、關聯規則、CDAR、BPL、UBPL1. 前 言
資料探勘(data mining)目前已廣泛運用在資料庫領域中,其目的是從大量交易資料中挖掘潛在、隱藏有 用的知識與資訊,可提供相當有用的參考資訊於企業行銷決策的應用上[1]、[2]。交易資料經由探勘的計算 過程,可找出產品項目(items)之間的關聯性,其中關聯規則(association rules)是最常用來表示項目間關聯性 的形式之一。在探勘關聯規則的方法中,由 Agrawal and Srikant (1994)所提出的 Apriori 演算法[3]是最具代 表性的方法之一,其特性為簡單、容易瞭解及實作。之後 Wur 和 Leu (1999)提出一個以布林運算(Boolean computation)為基礎的布林演算法(Boolean algorithm) [4],而 Tsay 和 Chang-Chien (2004)利用分解交易資料 成各群組而設計一個 CDAR (cluster-decomposition association rule)演算法[5],並效能評估顯示以上兩個演算 法的執行效率優於 Apriori 演算法。 探勘關聯規則的計算過程中,若有新增或刪除交易資料時,往往必須重新探勘關聯規則,如此將導致 前次探勘計算的重複及資源的浪費。因此考量交易資料若發生異動時,如何避免探勘計算的重複,以較有 效率的計算更新關聯規則,是探勘關聯規則重要的問題之一。 本研究以交易資料為探勘的資料來源,每一筆交易資料包含消費者曾經購買的產品項目,分別從兩方 面探勘關聯規則:一是修改 CDAR 演算法對交易資料分群的方式,加入以交易資料之字首項目為依據的分 群概念,並以布林運算為基礎設計一個 BPL (Boolean mining association rules for clustering the database with the prefix item and the length of transaction data)演算法探勘關聯規則;二是考量若有新增或刪除交易資料的 情況,以 BPL 演算法的探勘步驟為基礎,設計一個 UBPL (updating association rules with the BPL algorithm) 演算法更新關聯規則。本論文的架構如下:下一節中介紹探勘關聯規則的相關研究;第 3 節中說明 BPL 演算法探勘關聯規則 的計算過程,並以一個實例作說明;第 4 節中考量新增或刪除交易資料的情況,說明 UBPL 演算法更新關 聯規則的計算過程,並以一個實例作說明;第 5 節中實驗評估所提出之演算法的執行效能;最後,在第 6 節中做一結論。
2. 相關研究
從大量交易資料中找出產品項目之間的關聯規則,由 Agrawal 等人(1993)首先提出[6],之後許多相關的 研究也相繼被發表[3]、[5]、[7]、[8]、[9]、[10]、[11]、[12]、[13]、[14]、[15]、[16]、[17]。探勘關聯規則 的方法中,Apriori 演算法[3]是最常被使用的方法之一,而 Tsay 和 Chang-Chien (2004)設計一個 CDAR 演算 法[5]探勘關聯規則,並評估實驗顯示其執行效率優於 Apriori 演算法。在後續許多的相關研究中,分別提出 不同的資料結構或資料儲存的方式,並設計出對應的演算法,以達到提升探勘關聯規則之執行效能的目的。 上述研究中所提出之演算法都是以字元運算為基礎的探勘計算,而以位元(bit)的資料型態來儲存項目, 並發展探勘關聯規則之演算法的相關研究有[4]、[18]、[19]、[20]、[21]、[22]、[23]。Wur 和 Leu (1999)提 出一個以布林運算為基礎的方法探勘關聯規則[4],評估實驗顯示其執行效率優於 Apriori 演算法。 關聯規則的相關定義說明如下:假設 I 是交易資料庫(transaction databases)中全部項目的集合,T 是交 易資料庫中全部消費者之交易資料的集合,共 m 筆,每一筆交易資料 Tj是由一些項目所組成的集合,1≤j≤m,稱之為項目組(itemsets),且 Tj⊆I,在項目組 X 與 Y 之間有一關聯規則被表示成 X→Y,其中 X 稱之為前項目
組(antecedent),Y 稱之為後項目組(consequent),X、Y⊆I 且 X∩Y=∅。關聯規則 X→Y 是否為有效規則(strong rules),則必須由兩個參數 s 與 c 來決定,其分別為支持度(support)與信賴度(confidence)。支持度 s 表示為: 在全部的交易資料集合中,同時包含(X∪Y)的比率值,即 s=(包含(X∪Y)的交易資料數量)/(全部交易資料數 量);而信賴度 c 表示為:在包含 X 的交易資料集合中,同時也包含 Y 的比率值,即 c=(包含(X∪Y)的交易資 料數量)/(包含 X 的交易資料數量)。找出的關聯規則,其支持度與信賴度必須分別大於或等於所指定的最小 支持度與最小信賴度,如此的關聯規則才有意義。 探勘關聯規則的過程主要分成以下兩個階段:第一階段先找出滿足最小支持度的項目組,稱之為高頻 項目組(frequent itemsets),若一個項目組包含 k 個項目,則稱之為 k-項目組(k-itemsets),以 itemsetk表示之,
若某 k-項目組滿足最小支持度,則稱之為高頻 k-項目組(frequent k-itemsets),以 frequentk表示之。第二階段
以最小信賴度為條件,計算高頻項目組所形成的關聯規則,若滿足最小信賴度,則關聯規則成立。例如 ABC 為高頻 3-項目組,A、B、C∈I,若關聯規則 AB→C 滿足最小信賴度,則此關聯規則成立。以下說明 Apriori 演算法探勘關聯規則的步驟: (1) 找出 frequentk-1,k>1,若為∅,則停止執行。 (2) 由步驟(1)中組合任兩個有 k-2 項目相同的 frequentk-1,形成 itemsetk。 (3) 判斷由步驟(2)所找出的 itemsetk,其所有包含的子集合 itemsetk-1是否都出現在步驟(1)中,若成立就保 留此 itemsetk,否則就刪除。 (4) 再檢查由步驟(3)所擷取的 itemsetk是否滿足最小支持度,若符合就成為 frequentk,否則就刪除。 (5) 計算 frequentk所形成的關聯規則,若滿足最小信賴度,則關聯規則成立。 (6) 跳至步驟(1)找 frequentk+1,直到無法產生高頻項目組為止。
Tsay 和 Chang-Chien (2004)設計一個演算法探勘關聯規則稱之為 CDAR 演算法[5],探勘的過程中,先 將包含相同項目個數的交易資料歸屬於同一群組中,然後利用類似 Apriori 演算法的方法探勘關聯規則。在 判斷 k-項目組是否為高頻 k-項目組時,k≥2,CDAR 演算法只須掃瞄包含項目個數大於或等於 k 的群組即可, 而非如 Apriori 演算法需要掃瞄全部的交易資料,其評估實驗顯示 CDAR 演算法的執行效率優於 Apriori 演 算法。
探勘關聯規則的過程中,若有新增或刪除交易資料時,依據上述演算法往往必須重新進行探勘關聯規 則的計算過程,如此將造成前次探勘計算的重複及資源的浪費。目前已有許多相關研究探討在異動交易資 料庫中如何有效率探勘關聯規則,其包含漸增式探勘關聯規則(incremental mining association rules)、及考量 資料庫動態新增或刪除交易資料時更新關聯規則等[24]、[25]、[26]、[27]、[28]、[29]、[30]、[31]、[32]、[33]。 接下來定義以下名詞: z I={i1, i2, …, in},表示交易資料庫中全部項目的集合,共有 n 項。 z T={T1, T2, …, Tj, …, Tm},表示交易資料庫中全部消費者之交易資料的集合,共 m 筆,其中 Tj為消費者 j 的交易資料,1≤j≤m。 z BTj是由 n 位元(bits)所組成,其格式表示成 BTj=[b1, b2, b3, …, bt, …, bn],bt∈{0, 1},1≤t≤n,假如 BTj 中有出現第 f 項的項目,則 bt=1,否則 bt=0。 z Bitemsetk表示某一個 k-項目組,其格式由 n 位元所組成,表示成 Bitemsetk=[b1, b2, b3, …, bt, …, bn],bt∈{0, 1},1≤t≤n,且有 k 個項目其值為 1,k≥0。
z Bfrequentk表示某一個高頻 k-項目組,其格式定義與 Bitemsetk相同,Bfrequentk=[b1, b2, b3, …, bn]。
本論文將以交易資料為探勘的資料來源,修改 CDAR 演算法對交易資料分群的方式,加入以交易資料 之字首項目為依據的分群概念,並以布林運算為基礎,分別從兩方面探勘關聯規則:一是設計一個高效率 的 BPL 演算法探勘關聯規則;二是考量新增或刪除交易資料的情況,以 BPL 演算法為探勘關聯規則的基礎, 設計一個 UBPL 演算法更新關聯規則。
3. 探勘關聯規則
Apriori 演算法探勘關聯規則的過程中,當產生新的項目組時,判斷項目組是否為高頻項目組就必須重 新掃瞄全部交易資料,如此計算過程必定耗費相當大的時間於搜尋交易資料。CDAR 演算法先將包含項目 個數相同的交易資料歸屬於同一群組中,當產生新的 k-項目組時,k≥2,並不掃瞄包含項目個數小於 k 的交 易資料,以達到避免掃瞄包含項目小於 k 之交易資料的搜尋計算。探勘關聯規則的過程中,將交易資料轉 換成位元的資料型態來儲存,並利用布林運算的計算方式探勘關聯規則,其執行效能的優異性已經被許多 相關研究所探討[4]、[18]、[19]、[20]、[21]。 此章節中將以交易資料為探勘的資料來源,修改 CDAR 演算法對交易資料的分群方式,並以布林運算 為基礎,設計一個 BPL 演算法探勘關聯規則。此章節共分為兩小節如下:第 3.1 節中說明一個探勘關聯規 則的 BPL 演算法;第 3.2 節中以一實例說明探勘的過程。 3.1 BPL 演算法 本研究以交易資料為探勘的資料來源,在判斷某 k-項目組是否為高頻項目組時,k≥2,為了避免掃瞄包 含項目個數小於 k、且不可能包含此 k-項目組的交易資料,我們修改 CDAR 演算法對交易資料分群的方式,加入以交易資料之字首項目(prefix item of transaction data)為依據的分群概念,設計一個 BPL 演算法探勘關 聯規則。
假設 I 為全部項目的集合,在 BPL 演算法探勘關聯規則的計算過程中,首先掃瞄全部交易資料找出 frequent1,並找出每一筆交易資料的字首項目,以項目為最小者表示之。除了將包含項目個數為 i 的交易資
料歸屬於同群組 Gi中,i≥1,並再將包含字首項目為 j 的交易資料歸屬於群組 Gi中的同一子群組 Gij中,j∈I。
當兩個 frequentk-1可組合形成 itemsetk時,k>1,須將兩個 frequentk-1中最小項目置於字首,當欲判斷 itemsetk
是否為 frequentk時,則對交易資料執行以下的掃瞄計算: 從群組 Gij的交易資料中,i≥k,j≤itemsetk的字首項目,檢查 itemsertk是否滿足最小支持度,若符合就 成為 frequentk。 以上計算過程中可避免掃瞄不可能包含 itemsertk的交易資料,並且交易資料在分群的過程中也未耗費 額外太多的計算,即可達到將交易資料分群的結果。 探勘關聯規則的過程中,我們分別利用 or 及 xor 布林運算,如表 1,可以很有效率計算出兩項目組之 間位元的聯集、及兩項目組之間相異的位元。 表 1 or 及 xor 布林運算 or 0 1 xor 0 1 0 0 1 0 0 1 1 1 1 1 1 0 文中將每一筆交易資料轉換成位元的資料格式,然後根據交易資料包含的項目數量長度、及以交易資 料之字首項目為依據的分群概念,設計一個以布林運算為基礎的 BPL 演算法探勘關聯規則,其探勘過程說 明如下: (1) 將交易資料轉換成位元的資料格式。 (2) 執行以下的布林運算: Bitemset1 or BTj xor BTj,1≤j≤m (1) 若結果為全部位元值都為“0”,即以布林邏輯值為 False,則表示 Bitemset1⊆BTj,掃瞄所有項目之後, 可得知交易資料包含的項目數量及其字首項目。掃瞄全部交易資料後找出 Bfrequent1,同時將包含項目數量 為 i、且字首項目為 j 的交易資料歸屬於群組 Gij中,i>1,j∈I,i 為該群組中交易資料包含的項目個數。 (1) 將任兩個 Bfrequent1執行 or 布林運算,若結果為 Bitemset2,即有 2 個項目其值為“1”,且非重複者,就 保留此 Bitemset2,否則就刪除。 (2) 判斷由步驟(3)所找出的 Bitemset2,從群組 Gij 的交易資料中執行公式(1)的布林運算,i>1,j≤Bitemset2 的字首項目,檢查 Bitemset2是否滿足最小支持度,若符合就成為 Bfrequent2,否則就刪除。 (3) 找出 Bfrequentk-1,k>2。 (4) 將任兩個 Bfrequentk-1執行 or 布林運算,若結果為 Bitemsetk,即有 k 個項目其值為“1”,且非重複者,就 保留此 Bitemsetk,否則就刪除。
(5) 判斷由步驟(6)所找出的 Bitemsetk,其包含的子集合 Bitemsetk-1是否都出現在步驟 5 中,可將 Bitemsetk
與步驟(5)中各 Bfrequentk-1執行以下的布林運算:
若結果為 Bitemset1的數目等於 k,則保留此 Bitemsetk,否則就刪除。 (6) 判斷由步驟(7)所找出的 Bitemsetk,從群組 Gij的交易資料中執行公式(1)的布林運算,i≥k,j≤Bitemsetk 的字首項目,檢查 Bitemsetk是否滿足最小支持度,若符合就成為 Bfrequentk,否則就刪除。 (7) 計算 Bfrequentk所形成的關聯規則,若設定前置項目組為 X,則後置項目組 Y,可執行以下的布林運算 找出:
Y= Bfrequentk xor X (3) 若關聯規則 X→Y 滿足最小信賴度,則關聯規則成立。 (8) 跳至步驟(5)找 Bfrequentk+1,直到無法產生高頻項目組為止。 以上演算法的計算過程中,若要檢查 Bitemsertk是否為高頻項目組時,只須要掃瞄群組 Gij中的交易資 料,i≥k,j≤Bitemsetk的字首項目,如此將可避免掃瞄包含項目數量小於 k 的交易資料,並且只掃瞄字首項 目小於等於 Bitemsertk之字首項目的交易資料。相較於 CDAR 演算法、及[4]利用布林運算為基礎的演算法, BPL 演算法將可以更有效率找到關聯規則。 3.2 實例說明 我們以表 2 之交易資料庫 D1為例,說明利用 BPL 演算法探勘關聯規則的計算過程。{A, B, C, D, E}為 全部產品項目的集合,{T1, T2, T3, T4, T5, T6}為 6 筆消費者之交易資料的集合,最小支持度為 40%(即最小支 持數量為 2.4),最小信賴度為 70%。 表 2 交易資料庫 D1 交易資料編號 產品項目 T1 ACD T2 BCE T3 ABCE T4 BE T5 BCE T6 ABD 首先將各交易資料轉換成位元的資料格式:BT1=[1, 0, 1, 1, 0]、BT2=[0, 1, 1, 0, 1]、BT3=[1, 1, 1, 0, 1]、 BT4=[0, 1, 0, 0, 1] 、BT5=[0, 1,1, 0, 1] 、BT6=[1, 1, 0,1, 0]。在擷取 Bfrequent1的過程中,將包含相同項目個 數的交易資料歸屬於同一群組中,並再將包含相同字首項目的交易資料歸屬於同一子群組中,而形成表 3 之交易資料庫 D2。 表 3 交易資料庫 D2 群組 交易資料編號 產品項目 位元資料 G2B BT4 BE 01001 BT1 ACD 10110 G3A BT6 ABD 11010 BT2 BCE 01101 G3B BT5 BCE 01101 G4A BT3 ABCE 11101
擷取高頻項目組的過程如下: G2B G3A G3B G4A Bitemset1 BT4 BT1 BT6 BT2 BT5 BT3 A B C D E A 0 1 1 0 0 1 1 0 0 0 0 B 1 0 1 1 1 1 0 1 0 0 0 C 0 1 0 1 1 1 0 0 1 0 0 D 0 1 1 0 0 0 0 0 0 1 0 E 1 0 0 1 1 1 步驟(2) 0 0 0 0 1 出現次數 3 5 4 2 4 Bfrequent1 Bitemset2 A B C E AB AC AE BC BE CE 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 ≥2.4 0 0 0 1 步驟(3)、(4) 0 0 1 0 1 1 出現次數 3 5 4 4 出現次數 2 2 1 3 4 3 Bfrequent2 Bitemset3 Bitemset3 Bfrequent3
BC BE CE BCE BCE BCE
0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 ≥2.4 0 1 1 步驟(7) 1 步驟(8) ≥2.4 1 1 出現次數 3 3 3 出現次數 3 3 無 4-項目組。 以高頻 3-項目組 BCE 為例,步驟(9)計算形成的關聯規則 B→CE、C→BE、E→BC、BC→E、BE→C、 及 CE→B,其信賴度滿足最小信賴度者有 C→BE、E→BC、BC→E、BE→C、及 CE→B。依據相同的計算 方法,可找出其他高頻項目組所形成的關聯規則。
4. 更新關聯規則之 UBPL 演算法
在探勘的過程中首先利用 BPL 演算法找出關聯規則,並儲存探勘過程中所產生的項目組與其出現次 數、及是否為高頻項目組於記憶體中。然後考量新增或刪除交易資料時,在避免重複前次探勘計算的情況 下更新關聯規則。此章節共分為三小節如下:第 4.1 節中說明新增交易資料時更新關聯規則的探勘過程;第 4.2 節中說明刪除交易資料時更新關聯規則的探勘過程;第 4.3 節中以一實例做說明。 4.1 新增交易資料 利用傳統探勘關聯規則的方法,若有新增交易資料時,則往往必須重新計算探勘關聯規則的過程,此 計算方式將導致前次探勘計算的重複與資源的浪費。文中利用表 4 的表格儲存探勘關聯規則過程中所產生 的項目組、出現次數、及是否為高頻項目組。而後當有新增交易資料時,將以即時的處理方式將其拆解成 1-項目組,並且將次數累加於相同項目的對應欄位中,高頻項目組也會隨著出現次數的變更而改變。當要 更新儲存於表格中項目組的出現次數時,只須掃瞄新增交易資料即可。表 4 項目組儲存表格 項目組 出現次數 是否為高頻項目組 我們修改 BPL 演算法的計算過程,以儲存探勘關聯規則過程中所產生的項目組、出現次數、及是否為 高頻項目組,並設計一個 UBPL 演算法更新關聯規則。當有新增交易資料時,UBPL 演算法更新關聯規則的 執行步驟說明如下: (1) 執行 BPL 演算法的步驟(1)、(2)找出 Bfrequent1,並儲存於記憶體的表格中,若為∅,則停止執行。
(2) 將任兩個 Bfrequent1執行 or 布林運算,若結果為 Bitemset2,從分群後的交易資料中檢查 itemset2是否滿
足最小支持度,若符合就成為 Bfrequent2,否則就刪除,並儲存於記憶體的表格中。
(3) 找出 Bfrequentk-1,並儲存於記憶體中,k>2,若為∅,則停止執行。
(4) 將任兩個 Bfrequentk-1執行 or 布林運算,若結果為 Bitemsetk,且非重複者,就保留此 Bitemsetk,否則就
刪除。 (5) 執行 BPL 演算法的步驟(7),判斷 Bitemsetk包含的子集合 Bitemsetk-1是否都出現在步驟(3)中,若有則保 留此 Bitemsetk,否則就刪除。 (6) 從分群後的交易資料中檢查 Bitemsertk是否滿足最小支持度,若符合就成為 Bfrequentk,否則就刪除,並 儲存於記憶體的表格中。 (7) 計算 Bfrequentk可能形成的關聯規則,若滿足最小信賴度,則關聯規則成立。 (8) 跳至步驟(3)找 Bfrequentk+1,直到無法產生高頻項目組為止。 經由上述演算法的計算過程,可以找出所有的關聯規則,並且儲存探勘過程中的項目組、出現次數、 及是否為高頻項目組。現在考量有一筆新增交易資料為 Tadd時,其各項目組的支持度必須更新為:項目組 更新之後的出現次數/(原先資料庫中交易資料的數目+1),其更新關聯規則的過程說明如下: (1) 讀入 Tadd,並將之轉換成位元的資料格式,以 BTadd表示之。
(2) 計算之前儲存 Bitemset1的出現次數,判斷 Bitemset1是否有出現在 BTadd中,可執行布林運算如下:
Bitemset1 or BTadd xor BTadd (4)
若為 Bitemset0,則表示 Bitemset1⊆BTadd,其對應項目組的次數加 1,若滿足最小支持度,則成為 Bfrequent1。
(3) 將任兩個 Bfrequent1執行 or 布林運算,若結果為 Bitemset2,且已儲存於記憶體中,則執行公式(4)的運
算,若為 Bitemset0,則表示 Bitemset2⊆BTadd,其對應項目組的次數加 1,若 Bitemset2為新產生的項目組,
則掃瞄原先分群後的交易資料與 BTadd,並儲存之,計算 Bitemset2的出現次數,若滿足最小支持度,則 成為 Bfrequent2。 (4) 找出 Bfrequentk-1,k>2。 (5) 由步驟(4)中將任兩個 Bfrequentk-1執行 or 布林運算,若結果為 Bitemsetk,且非重複就加以保留。 (6) 判斷由步驟(5)所找出的 Bitemsetk,其所包含的子集合 Bitemsetk-1是否都有出現在步驟(4)中,若有則保留 此 Bitemsetk,否則就刪除。 (7) 檢查由步驟(6)所找出的 Bitesmetk,若已儲存於記憶體中,則只須掃瞄 BTadd,執行公式(4)的布林運算,
若為 Bitemset0,則表示 Bitemsetk⊆BTadd,其對應項目組的次數加 1,若 Bitemsetk為新產生的項目組,則
為 Bfrequentk。 (8) 計算 Bfrequentk可能形成的關聯規則,若滿足最小信賴度,則關聯規則成立。 (9) 跳至步驟(4)繼續找 Bfrequentk+1,直到無法產生高頻項目組為止。 以上演算法的計算過程對於新增交易資料而變動的項目組而言,若之前已儲存於記憶體的表格中,則 只須掃瞄此新增交易資料即可更新各項目組的出現次數。若為新產生的項目組,則必須掃瞄原先利用 BPL 演算法所分群後的交易資料與此新增交易資料,才能計算出新項目組是否為高頻項目組,並將此新增交易 資料歸屬於具有包含相同項目個數與字首項目的群組中。對新增交易資料而言,其數量往往遠小於原先全 部交易資料的數量,因此在更新關聯規則的過程中,應不會變動太多已儲存於表格中的項目組。對新產生 的項目組而言,雖然必須掃瞄原先分群後的交易資料與此新增交易資料,但相較於必須重新探勘關聯規則 而言,仍然減少很多重複性的計算過程。 若有 a 筆新增交易資料,a≥1,更新關聯規則之過程如上述演算法的執行步驟,其計算各項目組的支持 度必須更新為:項目組更新之後的出現次數/(原先全部交易資料的數量+a)。 4.2 刪除交易資料 此小節考量有一筆交易資料為 Tdel被刪除時,其各項目組的支持度必須更新為:項目組更新之後的出現 次數/(原先全部交易資料的數量-1),UBPL 演算法更新關聯規則的執行步驟說明如下: (1) 讀入 Tdel,並將之轉換成位元的資料格式,以 BTdel表示之。
(2) 計算之前儲存 Bitemset1的出現次數,判斷 Bitemset1是否有出現在 BTadd中,可執行布林運算如下:
Bitemset1 or BTdel xor BTdel (5)
若為 Bitemset0,則表示 Bitemset1⊆BTdel,其對應項目組的次數減 1,若滿足最小支持度,則成為 Bfrequent1。
(3) 將任兩個 Bfrequent1執行 or 布林運算,若結果為 Bitemset2,且已儲存於記憶體中,則執行公式(5)的運
算,若為 Bitemset0,則表示 Bitemset2⊆BTdel,其對應項目組的次數減 1,若 Bitemset2為新產生的項目組,
則掃瞄原先分群後的交易資料(但不包含 BTdel),並儲存之,計算 Bitemset2的出現次數,若滿足最小支 持度,則成為 Bfrequent2。 (4) 找出 Bfrequentk-1,k>2。 (5) 由步驟(4)中將任兩個 Bfrequentk-1執行 or 布林運算,若結果為 Bitemsetk,且非重複就加以保留。 (6) 判斷由步驟(5)所找出的 Bitemsetk,其所包含的子集合 Bitemsetk-1是否都有出現在步驟 4 中,若有則保留 此 Bitemsetk,否則就刪除。 (7) 檢查由步驟(6)所找出的 Bitesmetk,若已儲存於記憶體中,則只須掃瞄 BTdel,執行公式(5)的布林運算,
若為 Bitemset0,則表示 Bitemsetk⊆BTdel,其對應項目組的次數減 1,若 Bitemsetk為新產生的項目組,則
掃瞄原先分群後的交易資料(但不包含 BTdel),並儲存之,計算 Bitemsetk的出現次數,若滿足最小支持度, 則成為 Bfrequentk。 (8) 計算 Bfrequentk可能形成的關聯規則,若滿足最小信賴度,則關聯規則成立。 (9) 跳至步驟(4)繼續找 Bfrequentk+1,直到無法產生高頻項目組為止。 以上演算法的計算過程對於刪除交易資料而變動的項目組而言,若之前已儲存於記憶體的表格中,則 只須掃瞄此刪除交易資料即可更新各項目組的出現次數。若為新產生的項目組,則仍必須掃瞄原先利用 BPL
演算法所分群後的交易資料,但不包含此刪除交易資料,才能計算出新項目組是否為高頻項目組,並將此 刪除交易資料從歸屬的群組中刪除。對刪除交易資料而言,在短期間其異動數量往往遠小於原先全部交易 資料的數量,因此在更新關聯規則的過程中,應不會變動太多已儲存於表格中的項目組。對新產生的項目 組而言,雖然仍必須掃瞄原先分群後的交易資料(不包含此刪除交易資料),但相較於必須重新探勘關聯規則 而言,仍然會減少很多重複性的計算過程。 若有 d 筆交易資料被刪除,d≥1,則更新關聯規則之過程如上述演算法的執行步驟,其計算各項目組的 支持度必須更新為:項目組更新之後的出現次數/(原先全部交易資料的數量-d)。 4.3 實例說明 我們以表 5 的交易資料庫 D3為例,說明利用 UBPL 演算法更新關聯規則的計算過程。{A, B, C, D, E} 為所有項目所形成的集合,{T1, T2, T3, T4}為 4 筆交易資料所形成的集合,最小支持度為 40%(即最小支持數 量為 1.6),最小信賴度為 60%。 表 5 交易資料庫 D3 交易資料編號 產品項目 T1 ACD T2 BCE T3 ABCE T4 BE 將各交易資料轉換成位元格式為:BT1=[10110]、BT2=[01101]、BT3=[11101]、BT4=[01001]。利用 BPL 演算法將包含相同項目個數的交易資料歸屬於同一群組中,並再將包含相同字首項目的交易資料歸屬於同 一子群組中,而形成表 6 的交易資料庫 D4。 表 6 交易資料庫 D4 群組 交易資料編號 產品項目 位元資料 G2B BT4 BE 01001 G3A BT1 ACD 10110 G3B BT2 BCE 01101 G4A BT3 ABCE 11101 擷取高頻項目組的過程如下: G2B G3A G3B G4A Bitemset1 BT4 BT1 BT2 BT3 A B C D E A 0 1 0 1 1 0 0 0 0 B 1 0 1 1 0 1 0 0 0 C 0 1 1 1 0 0 1 0 0 D 0 1 0 0 0 0 0 1 0 E 1 0 1 1 步驟(1) 0 0 0 0 1 出現次數 2 3 3 1 3
Bfrequent1 Bitemset2 A B C D E AB AC AE BC BE CE 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 ≥1.6 0 0 0 0 1 步驟(2) 0 0 1 0 1 1 出現次數 2 3 3 1 3 出現次數 1 2 1 2 3 2 是否高頻 * * * * Bfrequent2 Bitemset3
AB AC AE BC BE CE ABC ACE BCE
1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 ≥1.6 0 0 1 0 1 1 步驟(4) 0 1 1 出現次數 1 2 1 2 3 2 是否高頻 * * * *
Bitemset3 Bitemset3 Bitemset3 Bfrequent3
ABC ACE BCE BCE BCE BCE
1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 步驟(5) 0 1 1 =3 1 步驟(6) 1 ≥1.6 1 出現次數 2 2 3 3 2 2 是否高頻 * 無 4-項目組。 經由上述的探勘過程,可得到的高頻項目組有 BCE、AC、BC、BE 及 CE,利用步驟(7)分別計算其可 能形成的關聯規則,若滿足最小信賴度,則關聯規則成立。若有一筆新增交易資料 T5,其交易資料為 ACE, 轉成位元格式為 BT5= [10101],則最小支持數量變更為 40%×5=2,更新高頻項目組的過程如下: G2B G3A G3B G4A Bitemset1 BT4 BT1 BT2 BT3 BT5 A B C D E A 0 1 0 1 1 1 0 0 0 0 B 1 0 1 1 0 0 1 0 0 0 C 0 1 1 1 1 0 0 1 0 0 D 0 1 0 0 0 0 0 0 1 0 E 1 0 1 1 1 掃瞄 BT5 0 0 0 0 1 出現次數 3 3 4 1 4
Bfrequent1 Bitemset2 A B C D E AB AC AE BC BE CE 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 ≥2 0 0 0 0 1 步驟(3) 0 0 1 0 1 1 出現次數 3 3 4 1 4 出現次數 1 3 2 2 3 3 是否高頻 * * * * Bfrequent2 Bitemset3
AB AC AE BC BE CE ABC ACE BCE 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 ≥2 0 0 1 0 1 1 步驟(5) 0 1 1 出現次數 1 3 2 2 3 3 是否高頻 * * * * *
ABC ACE BCE ACE BCE ACE BCE
1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 步驟(6) 0 1 1 =3 1 1 對 BCE 掃瞄 BT5,對 ACE 掃瞄 G3A及 G4A與 BT5 ≥2 1 1 出現次數 2 3 3 3 3 出現次數 2 2 是否高頻 * * ABCE ABCE 1 1 1 1 1 1 0 0 步驟(5) 0 步驟(6) 0 ≠4 無 4-項目組 出現次數 2 在計算新增交易資料 T5而更新關聯規則的過程中,只有 ACE 是新產生的項目組,故必須掃瞄原先分群 後的 G3A、G4A中交易資料及 T5,以判斷 ACE 是否為高頻項目組。經更新計算後,得到的高頻項目組有 ACE、 BCE、AC、AE、BC、BE 及 CE,分別計算其可能形成的關聯規則,若滿足最小信賴度,則關聯規則成立。 若目前並非新增交易資料,而是刪除交易資料 T4,其交易資料為 BE,最小支持數量變更為 40%×3=1.2, 則更新高頻項目組的過程如下: G2B G3A G3B G4A Bitemset1 BT4 BT1 BT2 BT3 A B C D E A 0 1 0 1 1 0 0 0 0 B 1 0 1 1 0 1 0 0 0 C 0 1 1 1 0 0 1 0 0 D 0 1 0 0 0 0 0 1 0 E 1 0 1 1 掃瞄 BT4 0 0 0 0 1 出現次數 2 2 3 1 2
Bfrequent1 Bitemset2 A B C D E AB AC AE BC BE CE 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 ≥1.2 0 0 0 0 1 步驟(3) 0 0 1 0 1 1 出現次數 2 2 3 1 2 出現次數 1 2 1 2 2 2 是否高頻 * * * * Bfrequent2 Bitemset3
AB AC AE BC BE CE ABC ACE BCE
1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 ≥1.2 0 0 1 0 1 1 步驟(5) 0 1 1 出現次數 1 2 1 2 2 2 是否高頻 * * * *
ABC ACE BCE BCE BCE BCE
1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 步驟(6) 0 1 1 =3 1 掃瞄 BT4 1 ≥1.2 1 出現次數 2 2 3 3 出現次數 2 出現次數 2 是否高頻 * 無 4-項目組。 在計算刪除交易資料 T4而更新關聯規則的過程中,並無新產生的項目組,故無須掃瞄原先分群後的交 易資料。經更新計算後,得到的高頻項目組有 BCE、AC、BC、BE 及 CE,分別計算其可能形成的關聯規 則,若滿足最小信賴度,則關聯規則成立。
5. 效能評估
本研究實驗評估前面章節所描述之演算法的執行效能,實驗平台說明如表 7,交易資料由 IBM Data Mining 網站(http://www.almaden.ibm.com/)下載資料模擬程式,以產生評估實驗中所需要的交易資料。 表 7 實驗平台 CPU CPU-Pentium 4 2.4GHz Main memory 512 Mbytes作業系統 Microsoft Windows XP Professional SP2
使用語言 C#
為了評估演算法的執行效能,我們共產生 11 個分別包含 10k 筆交易資料的資料庫,分別以 TD1, TD2, TD3, …, TD10, TD11 表示之,然後依次累加前十個資料庫的交易資料,其數量分別成為 10k, 20k, 30k, …, 100k 的交易資料庫,並分別以編號 D1, D2, D3, D4, D5, D6, D7, D8, D9, D10 表示之,如表 8。其中又將資料
庫 TD10 及 TD11 分別分割成 10 個各 1k 筆交易資料的子資料庫,TD10 之子資料庫分別以 TD10A1, TD10A2, TD10A3, …, TD10A10 表示之,而 TD11 之子資料庫分別以 TD11A1, TD11A2, TD11A3, …, TD11A10 表示 之。交易資料庫中的主要參數值其意義分別為:n 代表項目的數量、ntran 為交易資料的數量、np 為型樣組 合的數量、tl 為交易資料的平均項目個數、pl 為高頻項目組的平均長度,其餘參數以預設值表示之。在探 勘的計算過程中,設定最小信賴度為 70%,分別評估 BPL 演算法、及探勘異動交易資料之 UBPL 演算法的 執行效能。 表 8 交易資料庫與其參數 參數 交易資料庫 n ntran np tl pl D1 300 10k 10000 20 5 D2 300 20k 10000 20 5 D3 300 30k 10000 20 5 D4 300 40k 10000 20 5 D5 300 50k 10000 20 5 D6 300 60k 10000 20 5 D7 300 70k 10000 20 5 D8 300 80k 10000 20 5 D9 300 90k 10000 20 5 D10 300 100k 10000 20 5 在評估 BPL 演算法及 UBPL 演算法的執行時間中,由於分群交易資料時也必須找出高頻 1-項目組,然 後再將分群後之交易資料做為判斷 k-項目組是否為高頻項目組的掃瞄資料庫,k≥2。為了計算探勘時間的連 續性,本研究評估演算法的執行時間,將包含分群交易資料時所花費的執行時間。在圖 1 中以交易資料庫 D5 為探勘的資料來源,分別評估在不同最小支持度的條件下,CDAR 演算法和 BPL 演算法的執行時間。在 圖 2 中固定最小支持度為 0.015,以交易資料庫 D1, D2, D3, D4, D5, D6, D7, D8, D9, D10 為探勘的資料來源, 分別評估 CDAR 演算法及 BPL 演算法的執行時間。 交易資料庫D5 0 10 20 30 40 50 60 70 80 90 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 最小支持度 執 行 時 間︵ 秒︶ CDAR BPL 圖 1 不同最小支持度的執行時間
最小支持度: 0.015 0 20 40 60 80 100 120 140 1 2 3 4 5 6 7 8 9 10 交易資料數量(10k) 執 行 時 間︵ 秒︶ CDAR BPL 圖 2 不同交易資料數量的執行時間 我們分別使用 BPL 演算法(每次新增交易資料時就必須重新執行探勘的計算)、及 UBPL 演算法於新增 交易資料的探勘過程,評估兩者在新增交易資料時更新關聯規則的執行效能。在圖 3 中以交易資料庫 D10 為 探 勘 的 初 始 資 料 來 源 , 設 定 最 小 支 持 度 為 0.015 的 條 件 下 , 然 後 依 次 分 別 新 增 TD11A1, TD11A2, TD11A3, …, TD11A10 中的交易資料,以評估兩個演算法的執行時間。 最小支持度: 0.015 0 20 40 60 80 100 120 1 2 3 4 5 6 7 8 9 10 交易資料增加數量(1k) 執 行 時 間︵ 秒︶ BPL UBPL 圖 3 新增交易資料的執行時間 每次新增交易資料時以 BPL 演算法探勘關聯規則,且每次都必須重新計算,因此其執行時間會呈現一 條緩慢上升的直線。而 UBPL 演算法於新增交易資料的探勘過程中,一開始探勘的執行時間與原先 BPL 演 算法的執行時間大致相同,由於第一次探勘時就將其過程中的項目組、其出現次數與是否為高頻項目儲存 於記憶體中,故每次新增交易資料時,其執行時間會遠少於第一次探勘所花的執行時間。 我們分別使用 BPL 演算法(每次刪除交易資料時就必須重新探勘計算)、及 UBPL 演算法於刪除交易資 料的探勘過程,評估兩者在探勘刪除交易資料時更新關聯規則的執行效能。在圖 4 中以交易資料庫 D10 為 探勘的初始資料來源,設定最小支持度為 0.015 的條件下,然後依次分別刪除 TD10A1, TD10A2, TD10A3, …, TD10A10 中的交易資料,以評估兩個演算法的執行時間。
最小支持度: 0.015 0 10 20 30 40 50 60 70 80 90 100 1 2 3 4 5 6 7 8 9 10 刪除交易資料數量(1k) 執 行 時 間︵ 秒︶ BPL UBPL 圖 4 刪除交易資料的執行時間 每次刪除交易資料時以 BPL 演算法探勘關聯規則,且每次都必須重新計算,其執行時間會呈現一條緩 慢下降的直線。而 UBPL 演算法於刪除交易資料的探勘過程中,一開始探勘的執行時間與原先 BPL 演算法 的執行時間大致相同,由於第一次探勘時就將其過程中的項目組、其出現次數與是否為高頻項目組儲存於 記憶體中,每次刪除交易資料時,其執行時間會遠少於第一次探勘所花的執行時間。 從以上評估實驗中顯示,BPL 演算法的執行效能可優於 CDAR 演算法找出關聯規則。若針對新增交易 資料、或是刪除交易資料時,UBPL 演算法將可以大幅改善更新關聯規則的執行效率,相對於每次異動交易 資料時就重新探勘的計算而言,其將可以有效避免很多重複性的計算過程。
6. 結論
關聯規則是資料探勘中最常被用來表示項目之間關聯性的形式之一,在其探勘過程中必須耗費相當大 的計算時間於交易資料間的搜尋,以判斷項目組是否為高頻項目組。因此,如何提升探勘關聯規則的執行 效能,是資料探勘中最重要的研究主題之一。本論文以交易資料為探勘的資料來源,並以布林運算為基礎, 分別從以下兩方面探勘關聯規則:一是根據 CDAR 演算法對交易資料分群化的過程,並加入以交易資料之 字首項目為依據的再分群概念,提出 BPL 演算法探勘關聯規則。從評估實驗中顯示 BPL 演算法的執行效能 優於 CDAR 演算法;二是考量當有新增或刪除交易資料的情況,設計一個以 BPL 演算法為基礎之更新關聯 規則的 UBPL 演算法,從效能評估中顯示,UBPL 演算法將可以大幅提昇更新關聯規則的執行效率。參考文獻
[1] Berry, M. J. A. and Linoff, G. S., Data Mining Techniques for Marketing, Sales, and Customer Support, 2nd ed., New York: John Wiley, 2004.
[2] Han, J. and Kamber, M., Data Mining: Concepts and Techniques, 2nd ed., Morgan Kaufmann, 2006.
[3] Agrawal, R. and Srikant, R., “Fast Algorithms for Mining Association Rules in Large Database,” Proceedings of the 20th International Conference on Very Large Data Bases, pp. 487-499, 1994.
[4] Wur, S.Y. and Leu, Y., “An Effective Boolean Algorithm for Mining Association Rules in Large Databases,” Proceedings of the Sixth International Conference on Database Systems for Advanced Applications (DASFAA), pp. 179-186, 1999. [5] Tsay, Y. J. and Chang-Chien, Y. W., “An Efficient Cluster and Decomposition Algorithm for Mining Association Rules,”
Information Sciences, Vol. 160, pp. 161-171, 2004.
[6] Agrawal, R., Imielinski, T. and Swami, A., “Mining Association Rules between Sets of Items in Large Database,” Proceedings of the ACM SIGMOD Conference on Management of Data, pp. 207-216, 1993.
[7] Agarwal, R., Aggarwal, C. and Prasad, V. V. V., “A Tree Projection Algorithm for Generation of Frequent Itemsets,” Journal of Parallel and Distributed Computing, Vol., 63, No. 3, pp. 350-371, 2000.
[8] Coenen, F., Leng, P. and Ahmed, S., “Data Structure for Association Rule Mining: T-Trees and P-Trees,” IEEE Transactions on Knowledge and Data Engineering, Vol. 16, No. 6, 774-778, 2004.
[9] Da Silva Camargo, S. and Martins Engel, P., “MiRABIT: a New Algorithm for Mining Association Rules,” Proceedings of the XII International Conference of the Chilean Computer Science Society (SCCC'02), pp. 162-166, 2002.
[10] Han, J., Pei, J. and Yin, Y., “Mining Frequent Patterns without Candidate Generation,” Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data Table of Contents, pp. 1-12, 2000.
[11] Han, J., Pei, J., Yin, Y and Mao, R., “Mining Frequent Patterns without Candidate Generation: a Frequent-Pattern Tree Approach,” Data Mining and Knowledge Discovery, Vol. 8, No. 1, pp. 53-87, 2004.
[12] Holt, J. D. and Chung, S. M., “Mining Association Rules Using Inverted Hashing and Pruning,” Information Processing Letters, Vol. 83, pp. 211-220, 2002.
[13] Liu, P. Q., Li, Z. Z. and Zhao, Y. L., “Effective Algorithm of Mining Frequent Itemsets for Association Rules,” Proceedings of the Third International Conference on Machine Learning and Cybernetics, pp. 1447-1451, 2004.
[14] Li, Z. C., He, P. L. and Lei, M., “A High Efficient AprioriTid Algorithm for Mining Association Rule,” Proceedings of the Fourth International Conference on Machine Learning and Cybernetics, pp. 1812-1815, 2005.
[15] Park, J. S., Chen, M. S. and Yu, P. S., “Using a Hash-Based Method with Transaction Trimming for Mining Association Rules,” IEEE Transactions on Knowledge and Data Engineering, Vol. 9, No. 5, pp. 813-825, 1997.
[16] Pi, D. C., Qin, X. L., Gu, W. F. and Cheng, R., “STBAR: a More Efficient Algorithm for Association Rule Mining,” Proceedings of the International Conference on Machine Learning and Cybernetics, pp. 1529-1533, 2005.
[17] Tsay, Y. J. and Chiang, J. Y., “CBAR: an Efficient Method for Mining Association Rules,” Knowledge-Based Systems, Vol. 18, pp. 99-105, 2005.
[18] Hu, X., Lin, T. Y. and Louie, E., “Bitmap Techniques for Optimizing Decision Support Queries and Association Rule Algorithms,” Proceedings of the Seventh International Database Engineering and Applications Symposium (IDEAS 2003), pp. 34-43, 2003.
[19] Kang, W. H., Kim, D. H. and Lee, S. W., “mBAR: a Materialized Bitmap Based Association Rule Algorithm,” Proceedings of the 21st
International Conference on Data Engineering Workshops, pp. 1221-1221, 2005.
[20] Lin, T. Y., Hu, X. and Louie, E., “A Fast Association Rule Algorithm Based on Bitmap and Granular Computing,” Proceedings of the 12th IEEE International Conference on Fuzzy Systems, pp. 678-683, 2003.
[21] Meng, X. P., Qian, J. and Qi, X., “Parallel Mining Association Rules with Bit String Array in Large Database,” Proceedings of the 2003 International Conference on Machine Learning and Cybernetics, pp. 183-187, 2003.
[22] Morzy, T. and Zakrzewicz, M., “Group Bitmap Index: a Structure for Association Rules Retrieval,” Proceedings of the 4th International Conference on Knowledge Discovery and Data Mining, pp. 284-288, 1998.
[23] Tseng, F. C. and Hsu, C. C., “Generating Frequent Patterns with the Frequent Pattern List,” Proceedings of the 5th Pacific-Asia Conference on Knowledge Discovery and Data Mining, pp. 376-386, 2001.
[24] Adnan, M., Alhajj, R. and Barker, K., “Performance Analysis of Incremental Update of Association Rules Mining Approaches,” Proceedings of the IEEE International Conference on Intelligent Engineering Systems, pp. 129-134, 2005.
[25] Ayan, N. F., Tansel, A. U. and Arkun, E., “An Efficient Algorithm to Update Large Itemsets with Early Pruning,” Proceedings of the International Conference on Knowledge Discovery and Data Mining, pp. 287-291, 1999.
[26] Cheung, D. W., Han, J., Ng, V. T. and Wong, C. Y., “Maintenance of Discovered Association Rules in Large Databases: an Incremental Updating Technique,” Proceedings of the Twelfth International Conference on Data Engineering, pp. 106-114, 1996.
[27] Duan, Z., Cai, Z. and Yu, J., “Incrementally Updating Association rules Based on Multiple Previously Mined Results,” Proceedings of the IEEE International Conference on Natural Language Processing and Knowledge Engineering, pp. 741-745, 2005.
[28] Huang, H., Wu, X. and Relue, R., “Association Analysis with One Scan of Databases,” Proceedings of the IEEE International Conference on Data Mining, pp. 629-632, 2002.
[29] Mo, H. and Xu, L., “Immune Clone Algorithm for Mining Association Rules on Dynamic Databases,” Proceedings of the 17th
IEEE International Conference on Tools with Artificial Intelligence (ICTAI 05), pp. 202-206, 2005.
[30] Ng, K. K. and Lam, W., “Updating of Association Rules Dynamically,” Proceedings of the International Symposium on Database Applications in Non-Traditional Environments, pp. 84-91, 1999.
[31] Qian, J. and Meng, X. P., “An Adaptive Algorithm for Incremental Mining Association Rules,” Proceedings of the International Conference on Machine Learning and Cybernetics, pp. 67-70, 2003.
[32] Su, Y., Gu, X. and Li, Z., “Incremental Updating Algorithm Based on Artificial Immune System for Mining Association Rules,” Proceedings of the IEEE International Conference on e-Business Engineering, pp. 541-544, 2006.
[33] Woon, Y. K., Ng, W. K. and Das, A., “Fast Online Dynamic Association Rule Mining,” Proceedings of the Second International Conference on Web Information Systems Engineering, pp. 278-287, 2001.