第四章 前 K 個封閉常見子樹之探勘方法
探勘常見子樹的結果中常會因為有子樹結構包含關係,找出許多資訊重覆的 常見子樹,使探勘結果過於繁雜。為避免此情況,我們以去除非封閉常見子樹的 方式來解決此問題。
此外,對使用者而言,最小支持度門檻值的設定是相當困難的,因為其值的 設定會影響常見子樹的探勘結果多寡,必須考慮資料庫中項目節點分佈情況。換 言之,使用者必須對資料庫內的內容有相當程度的了解,才能給定一個適當的最 小支持度門檻值。為了解決此問題,我們提供使用者可以另外給定一個正整數值
K ,以限制所要探勘出封閉常見子樹 的最多數量。在本章中,將介紹 修 改 Tree-Projection 演算法,以找出前 K 個最大支持度計數值的封閉常見子樹之探勘 方法。
4.1 判別子樹關係
在探勘前 K 個封閉常見子樹時,必須對具有相同支持度計數值的子樹判別 子樹關係,以判斷各子樹是否為封閉常見子樹。由於本論文在探勘過程是以前序 字串-層級表示法來儲存各樹狀結構,因此本節將介紹如何以此表示法比對子樹 關係。
給兩個具項目標示有序樹 S 及 T,兩者皆以前序字串-層級表示法儲存,若
S 為 T 的子樹,則 S 的節點數必小於 T 的節點數。此外,S 中節點依前序編號所 形成的前序序列存在一個一對一函式 F 對應到 T 之前序序列中具有相同項目標 示的一個子序列,且在 S 中兩節點間若有祖先後代關係,在對應 T 中的兩節點
間必須也有祖先後代關係。因此在子樹的判別過程中,從 S 的前序序列中每一節 點α 所包含的項目,在 T 的前序節點中尋找具有相同項目的對應節點α ,並依 S' 中α 與前一個節點β 的樹狀結構關係(α 為β 的後代節點或非後代節點關係),判
別在 T 中節點α 和' β 的對應節點 'β 是否具相同結構關係,來判斷 'β 在樹狀結構 上是否的確和β 有一致的對應。而節點間的後代關係或非後代關係便同樣利用前 序字串-層級中的【特性 3.2】做判斷。因此,以 S 與 T 的前序字串-層級表示 法,即可判斷 S 是否為 T 的一個子樹。
由於在比對過程中找到相對應的節點未必形成整體的一個一對一對應關 係,因此如圖 4.1 所示,每次若在 T 中尋找到目前相對應於 S 的節點β 之節點 'β
時,則將其項目、節點 'β 的層級及節點β 的層級資料儲存於一個堆疊結構中;
相反地,若無法在 T 其後節點中找到相對應於 S 的節點α 之節點α 時,表示前'
面找到的對應不形成整體的一對一對應,因此從堆疊內取出前次對應到的(β 及
β'配對),並重新再由 T 中節點 'β 之後尋找下一個可對應到 S 的節點β 之節點。
以此方式,若可以找出 S 在 T 中對應的所有節點,則 S 為 T 的一個子樹,若堆 疊為空,而 S 仍找不到所有對應節點,則表示 S 不為 T 的子樹。
項目 節點 'β 的層級 節點β 的層級 節點 'β 的位置 節點β 的位置
: : : : :
圖 4.1 比對堆疊內所存放的資訊
【範例 4.1】:在圖 4.2 中,樹 T、S1、S2 及 S3 皆以前序字串-層級表示法編碼,
且 S1、S2 及 S3 的節點數亦皆小於 T 的節點數。以下我們分別說明如何判斷 S1、
S2 及 S3 是否為 T 的子樹之過程。
V1 V2
V5
V8 V4
V3 A
B B
A C D
F D
V6 V7 T
A
D V1
V2 S1
A
B
A S2 V1
V2
V3
B
F S3 V1
V2
T S1 S2 S3
A 1 A 1 A 1 B 1
B 2 D 2 B 2 F 2
C 2 A 3
D 3
F 4
D 2
B 2
A 3
圖 4.2 子樹的判別範例
首先,以 S1 為例,S1 的第一個節點之項目為 A,可比對到 T 的第一個節點 之項目亦為 A,故將項目 A 及兩對應節點的所在層級與所在位置(A, 1, 1, 1, 1)儲 存於堆疊中,如圖 4.3 (a)所示。接著,S1 的 V2 節點之項目為 D,且由層級得知,
V2 節點為 V1 節點的子節點,因此於 T 中 V1 之後的後代節點(具層級大於 1 者) 找到同樣具項目 D 的對應節點 V4,將相關的資訊(D, 3, 2, 4, 2)記錄於堆疊中,其 結果如圖 4.3 (b)所示。由於 S1 只由兩個節點所構成,並皆於 T 中尋找到相對應 的節點,因此得知 S1 為 T 的一個子樹。
D 3 2 4 2 A 1 1 1 1 A 1 1 1 1
堆疊 堆疊
(a) (b)
圖 4.3 S1 與 T 的子樹判別過程之堆疊內容
接著以 S2 為例,S2 的第一個節點之項目為 A,可以比對到 T 的第一個節點 之項目亦為 A,故將項目 A 及兩對應節點的所在層級與所在位置(A, 1, 1, 1, 1)儲 存於堆疊中,如圖 4.4 (a)所示。接著,S2 的 V2 節點之項目為 B,並於 T 內 V1 之後的 V2 節點找到具相同的項目 B,且皆為前一節點之後代節點,因此繼續將 相關的資訊(B, 2, 2, 2, 2)記錄於堆疊中,其結果如圖 4.4 (b)所示。接下來 S2 的
V3 節點項目為 A 且 V3 節點為 V2 節點的子節點;然而,在 T 中無法在 V2 之後 代節點中找到項目為 A 之節點。因此,刪除堆疊中有關 S2 的 V2 節點之相關資
節點相對應的節點。我們於 T 中找到亦具項目 B 的 V7 節點,將相關的資訊(B, 2,
2, 7, 2)記錄於堆疊中,其結果如圖 4.4 (d)所示。最後,S2 的 V3 節點之項目為 A 且 V3 節點為 V2 節點的子節點,我們可以於 T 內 V7 之後代節點中(層級大於 V7 的層級(2)者),找到具項目 A 的 V8 節點,亦將相關的資訊記錄(A, 3, 3, 8, 3)於堆 疊中,其結果如圖 4.4 (e)所示。由於 S2 的所有節點皆於 T 中尋找到相對應的節 點,因此得知 S2 亦為 T 的一個子樹。
B 2 2 2 2
A 1 1 1 1 A 1 1 1 1 A 1 1 1 1 堆疊 堆疊
堆疊
(a)
(b) (c) A 3 3 8 3
B 2 2 7 2 B 2 2 7 2 A 1 1 1 1 A 1 1 1 1 堆疊 堆疊
(d) (e)
圖 4.4 S2 與 T 的子樹判別過程之堆疊內容
最後,以 S3 為例,S3 的第一個節點 V1 包含項目 B,可比對到 T 的 V2 節 點之項目亦為 B,故將項目 B 及兩對應節點的所在層級與所在位置(B, 2, 1, 2, 1) 儲存於堆疊中,如圖 4.5 (a)所示。接著,S3 的 V2 節點之項目為 F,然而,在 T 內無法尋找到項目為 F 且亦為 V2 節點的子節點之節點。因此,刪除堆疊中有關 對應到 S3 的 V1 節點之相關資訊,此時堆疊為空,如圖 4.5 (b)所示。接著,由 T
的 V3 節點開始,重新尋找與 S3 的第一個節點相對應的節點。可於 T 中找到具 相同項目 B 的 V7 節點,故將相關的資訊(B, 2, 1, 7, 1)記錄於堆疊中,其結果如 圖 4.5 (c)所示。S3 的 V2 節點之項目為 F,然而,在 T 之 V7 節點的後代中,無 法找到項目為 F 的節點,因此,再次刪除堆疊中前一次對應到的資料,結果如圖
4.6 (d)所示。最後,從 T 的 V8 節點開始,重新尋找與 S3 第一個節點之相對應節 點。但結果顯示已無法從 V8 節點之後的節點中找到具項目 B 的節點,且堆疊已 空,因此得知 S3 不為 T 的一個子樹。
B 2 1 2 1 堆疊 堆疊
(a) (b)
B 2 1 7 1
堆疊 堆疊
(c) (d)
圖 4.5 S3 與 T 的子樹判別過程之堆疊內容
4.2 前 K 個封閉常見子樹的探勘流程
在探勘前 K 個具最大支持度計數值的封閉常見子樹過程,我們同樣採用前 一章所介紹的樹首遞迴投影的方式,找出常見子樹,並加入 4.1 所述判斷子樹的 方法,從常見子樹中,去除非封閉常見子樹。依投影資料之樹首產生的順序不同,
我們提出下列 Tree-Projection 演算法的三個變型探勘演算法:深先搜尋列舉法、
深先搜尋並提高最小支持度門檻值法、以及排序搜尋並提高最小支持度門檻值 法。
4.2.1 深先搜尋列舉法
第一種是深先搜尋列舉法,以下以 DFS(Depth First Search)法表示。對 投影資料庫中的常見項目節點,依字母先後順序加入樹首,並依序對產生的 樹首做遞迴投影。也就是如前一章所述 Tree-Projection 探勘演算法,但在過 程中加入子樹關係的判別,以去除非封閉常見子樹。最後將所有封閉常見子 樹依支持度計數值大小,以降冪的方式排序,再取出前 K 個最大支持度計 數值的封閉常見子樹。
【範例 4.2】:在圖 4.6 中,範例資料庫 DB 包含 T0、T1、T2、T3 及 T4 共 五棵樹,令最小支持度門檻值設為 40%,而 K 值設為 6。
B
C A F
D T0
C
B B T1
A F
B
A T2
F
F
A
B D T3
F
C
F
B
A T4
E
F
F
圖 4.6 範例資料庫 DB
在範例資料庫 DB 中,因最小支持度門檻值為 40%,若子樹於資料庫內 的支持度計數值大於或等於 2(即 5×40%)時,則該子樹為 DB 的一個常見
子樹。因此,完整探勘出常見子樹的搜尋樹,如圖 4.7 所示,搜尋樹中每個 節點表示一個找出的常見子樹。
A D : 2
A F F : 3 A F : 3
A : 5 B : 5 C : 3 D : 2
C F : 2
F : 5 F F : 3
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 B A -1 F : 2
圖 4.7 完整探勘的常見子樹
在 DFS 法中,找出常見 1-子樹為(A)、(B)、(C)、(D)及(F)之後,首先,
以(A)為樹首做投影,找出常見 2-子樹及其支持度計數值為(A D):2 與(A
F):3。因子樹(D)及子樹(A D)的支持度計數值皆為 2,且子樹(D)為(A D)的一 個子樹,故判斷子樹(D)不為封閉常見子樹並予以由探勘結果刪除,其搜尋 樹展開結果如圖 4.8 (a)所示。其中各節點表示已找出的常見子樹,加粗的分 枝表示已對該分枝節點代表的子樹做樹首投影,而畫“X”的節點表示該節點 已知不為封閉常見子樹,但以其為樹首仍可能找出封閉常見子樹,在往後仍 需用來做投影。
接著,如圖 4.8 (b)所示,以(A D)為樹首做投影,無法探勘出常見 3-子 樹,因此返回,選取(A F)為樹首,找出常見 3-子樹及其支持度計數值為(A F
F): 3。因子樹(A F)及子樹(A F F)的支持度計數值相同,且(A F)為(A F F)的一 個子樹,故子樹(A F)不為封閉常見子樹,由輸出結果中予以刪除,其搜尋 樹展開結果如圖 4.8 (c)所示。
最後,以(A F F)為樹首做投影,但無法找出常見 4-子樹,如圖 4.8 (d) 所示。至此以項目(A)為根節點常見子樹探勘過程已完成,已探勘出所有以 項目節點(A)為根節點的常見子樹及其支持度計數值為(A):5、(A D):2、(A F):3 及(A F F):3,且目前所探勘到的封閉常見子樹為(A):5、(A D):2 及(A F F):3。
與項目節點(A)相同的探勘方式,分別以節點(B)、(C)、(D)及(F)為樹首 做遞迴投影,即可探勘出根節點的項目節點為(B)、(C)、(D)及(F)的所有常 見子樹,其探勘過程如圖 4.8 (e)至圖 4.8 (q)所示。因此,所有以 B、C、D
及 F 為根節點的常見子樹及其支持度計數值為(B):5、(B A):4、(B A F):2、(B
A F F):2、(B A –1 F):2、(B C):2、(B F):5、(B F F):3、(C):3、(C F):2、(D):2、
(F):5 及(F F):3,且其中封閉常見子樹為(B A):4、(B A F F):2、(B A –1 F):2、
(B C):2、(B F):5、(B F F):3、(C):3 及(C F):2。
A D : 2
A : 5 B : 5 C : 3 D : 2 X F : 5
A F : 3
(a)
A D : 2
A : 5 B : 5 C : 3 D : 2 X F : 5
A F : 3
(b)
A D : 2
A F F : 3 A F : 3 X
A : 5 B : 5 C : 3 D : 2 X F : 5
(c)
A F F : 3 A F : 3 X
A : 5 B : 5 C : 3 D : 2 X F : 5
A D : 2
(d)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
A D : 2
(e)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F : 2 B A -1 F : 2 A D : 2
(f)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(g)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(h)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(i)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(j)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(k)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(l)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(m)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(n)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(o)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
F F : 3 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(p)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
F F : 3 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(q)
圖 4.8 深先搜尋列舉法的探勘流程
最後,將所有的封閉常見子樹依支持度計數值大小,以降冪的方式排 序,即可得到(A):5、(B F):5、(B A):4、(C):3、(A F F):3、(B F F):3、(A D):2、
(B C):2、(B A F F):2、(B A –1 F):2 及(C F):2,並選取前 6 個最大支持度計數 值的封閉常見子樹,其結果如圖 4.9 所示。
A B
F
B
A
C A
F
F
B
F
F
圖 4.9 前 6 個支持度計數值最大的封閉常見子樹
4.2.2 深先搜尋並提高最小支持度門檻值法
第 二 個 方 法 稱 為 深 先 搜 尋 並 提 高 最 小 支 持 度 門 檻 值 法 , 以 下 以
DFS-TC(Depth First Search with Threshold Changing)法表示。其探勘出常見子 樹的順序與前一方法相同是採用深先搜尋,而差異是在當已找到 K 個目前
已知為封閉常見子樹時,則提高往後最小支持度門檻值的設定,將其值調整 為那 K 個封閉常見子樹中最小的支持度計數值,以期不需展開搜尋樹中的 各節點便能找出前 K 個最大的常見封閉子樹。
【範例 4.3】
我們延續範例 4.2,顯示以 DFS-TC 法的搜尋探勘過程如圖 4.10 (a)至圖
4.10 (p),其中圖 4.10 (a)至圖 4.10 (j)的探勘搜尋過程中,雖然已產生 K(設為 6)個封閉常見子樹,但其 6 個中最小的支持度計數值仍為 2,因此對最小支 持度門檻值的設定沒有影響,因此其過程與前一方法相同。直到以(B F)為 樹首投影,找到常見子樹(B F F)後(如圖 4.10 (k)),到目前所探勘到的封閉常 見子樹為(A):5、(B F):5、(B A):4、(C):3、(A F F):3、(B F F):3、(A D):2、(B
C):2、(B A F F):2、(B A –1 F):2。因此,最小支持度門檻值會調高為前 6 個 最大支持度計數值的封閉常見子樹之最小支持度計數值 3。換言之,在之後 的探勘過程中,若子樹的支持度計數值小於 3 時,則列為非常見子樹,暫時 不需往下投影探勘,該節點以塗黑表示,其結果如圖 4.10 (l)所示。
在最小支持度門檻值調整完成後,繼續進行封閉常見子樹的探勘,其探 勘流程如圖 4.10 (m)至圖 4.10 (p)所示。最後,如同前一方法,將所有封閉 常見子樹依支持度計數值重新由大而小排序,並選取前 6 個封閉常見子樹,
可得到如圖 4.9 所示相同的封閉常見子樹。
A D : 2
A : 5 B : 5 C : 3 D : 2 X F : 5
A F : 3
(a)
A D : 2
A : 5 B : 5 C : 3 D : 2 X F : 5
A F : 3
(b)
A D : 2
A F F : 3 A F : 3 X
A : 5 B : 5 C : 3 D : 2 X F : 5
(c)
A F F : 3 A F : 3 X
A : 5 B : 5 C : 3 D : 2 X F : 5
A D : 2
(d)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
A D : 2
(e)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F : 2 B A -1 F : 2 A D : 2
(f)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(g)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(h)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(i)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(j)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(k) 最小支持度門檻值調高為 3
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(l) 砍除非常見子樹
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(m)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(n)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
F F : 3 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(o)
A F F : 3 A F : 3 X
A : 5 B : 5 X C : 3 D : 2 X
C F : 2
F : 5 X
F F : 3 X
B A : 4 B C : 2
B F F : 3 B F : 5
B A F F : 2
B A F : 2 XB A -1 F : 2 A D : 2
(p)
圖 4.10 深先搜尋並提高最小支持度門檻值法的探勘流程
在 DFS-TC 法的探勘過程中,我們可以發現,(C F)及(D)的支持度計數 值皆為 2,因其小於調整後的最小支持度門檻值(3),因此,在探勘的過程中,
省略了以(C F)及(D)為樹首的投影探勘過程,仍可得到正確結果,並減少了 需做投影探勘的次數。以範例 4.2 為例,本方法所展開的節點數(相當於投影
庫中的封閉常見子樹個數若大於 K 時,有機會將最小支持度門檻值提高,
因而砍除更多非常見子樹,縮小搜尋探勘的投影次數,因此將較為省時。
4.2.3 排序搜尋並提高最小支持度門檻值法
第三種方法在搜尋樹的展開順序不同於前二個方法,是隨時依目前所找 出的常見子樹之支持度計數值大小依降冪排序,並在之後的探勘過程中,按 此順序分別選擇為樹首往下投影探勘。此外,此方法亦運用與 DFS-TC 法相 同的方式提高最小支持度門檻值的設定。因此此方法稱為排序搜尋並提高最 小支持度門檻值法,之後以 SS-TC(Sorted Search with Threshold Changing)法 稱之。
【範例 4.4】
以範例 4.2 為例,首先,得知常見 1-子樹,並按支持度計數值降冪排序 後為(A):5、(B):5、(F):5、(C):3 及(D):3。
因此,首先以(A)為樹首投影,找出常見 2-子樹及其支持度計數值為(A
D):2 及(A F):3,因子樹(D)及子樹(A D)的支持度計數值皆為 2,且子樹(D) 為(A D)的一個子樹,故子樹(D)不為封閉常見子樹予以由探勘結果刪除,其 搜尋樹展開結果如圖 4.11 (a)所示。
接下來將目前已知但尚未當樹首投影過的常見子樹,按支持度計數值重
新排序,可得 (B):5、(F):5、(C):3、(A F):3、(D):2 及(A D):2。因此,以(B) 為樹首投影,找出常見 2-子樹及其支持度計數值為(B A):4、(B C):2 及(B
F):5,因子樹(F)及子樹(B F)的支持度計數值相同,且子樹(F)為(B F)的一個 子樹,故子樹(F)不為封閉常見子樹,同樣地,子樹(B)亦不為封閉常見子樹,
兩者皆由探勘結果刪除,其結果如圖 4.11 (b)所示。
再次將目前已知但尚未當樹首投影過的常見子樹依其支持度計數值排 序,結果為(F):5、(B F):5、(B A):4、(C):3、(A F):3、(D):2、(A D):2 及(B C):2。
因此接下來,以(F)為樹首投影,找出常見 2-子樹及其支持度計數值為(F
F):3,如圖 4.11 (c)所示。而目前所探勘到的封閉常見子樹為(A):5、(B F):5、
(B A):4、(C):3、(A F):3、(F F):3、(D):2、(A D):2 及(B C):2,其中已大於最 小支持度門檻值為前 6 個最大支持度計數值的封閉常見子樹之最小支持度 計數值 3,因此調高最小支持度門檻值為 3。在之後的探勘過程中,若子樹 的支持度計數值小於 3 時,則列為非常見子樹,其結果如圖 4.11 (d)所示。
在最小支持度門檻值調整完成後,繼續進行封閉常見子樹的探勘,其探 勘流程如圖 4.11 (e)至圖 4.11 (k)所示。最後,仍得到如圖 4.9 所示的前 6 個 封閉常見子樹。
A D : 2
A : 5 B : 5 C : 3 D : 2 X F : 5
A F : 3
(a)
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 B A : 4 B C : 2 B F : 5
(b)
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 B A : 4 B C : 2 B F : 5 F F : 3
(c) 最小支持度門檻值調高為 3
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 B A : 4 B C : 2 B F : 5 F F : 3
(d) 砍除非常見子樹
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 B A : 4 B C : 2 B F : 5 F F : 3 X
B F F : 3
(e)
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 B A : 4 B C : 2 B F : 5 F F : 3 X
B F F : 3 B A F : 2 B A -1 F : 2
(f)
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 B A : 4 B C : 2 B F : 5 F F : 3 X
B F F : 3 B A F : 2 B A -1 F : 2
C F : 2
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 X B A : 4 B C : 2 B F : 5 F F : 3 X
B F F : 3 B A F : 2 B A -1 F : 2
C F : 2 A F F : 3
(h)
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 X B A : 4 B C : 2 B F : 5 F F : 3 X
B F F : 3 B A F : 2 B A -1 F : 2
C F : 2 A F F : 3
(i)
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 X B A : 4 B C : 2 B F : 5 F F : 3 X
B F F : 3 B A F : 2 B A -1 F : 2
C F : 2 A F F : 3
(j)
A D : 2
A : 5 B : 5 X C : 3 D : 2 X F : 5 X
A F : 3 X B A : 4 B C : 2 B F : 5 F F : 3 X
B F F : 3 B A F : 2 B A -1 F : 2
C F : 2 A F F : 3
(k)
圖 4.11 排序搜尋並提高最小支持度門檻值法的探勘流程
在本方法的探勘過程中,我們可以發現,當(A)、(B)及(F)為樹首投影探 勘完成後,最小支持度門檻值立即調高為 3。而在 DFS-TC 法的探勘過程中,
必須將(A)、(A D)、(A F)、(A F F)、(B)、(B A)、(B A F)、(B A F F)、(B A –1
F)、(B C)及(B F)為樹首投影探勘完成後,才能調整最小支持度門檻值。因
此,DFS-TC 法所做的投影次數(共 15 次)比本方法所須投影次數(共 10 次) 來得多。這是因為本方法按常見子樹依支持度計數值的大小順序展開投影,
因此支持度計數值較高的常見子樹有較大機會先被探勘出來,也增加了儘早 提高最小支持度門檻值的機會,而可較早砍除非常見子樹,也因此減少需投 影探勘的次數。
一般來說,若資料庫中封閉常見子樹的數量大於 K 個時,則其探勘所 花費的執行時間,以本方法最為省時,接著,DFS-TC 法次之,而 DFS 法是 最費時的。我們將在下一章實驗中,顯示對此三種方法做實驗評估的結果。