• 沒有找到結果。

本章以實驗的方式來評估本論文所提出 CV-SCD 演算法的執行效能,並以論 文[1]提出的 FP-growth 演算法在每個時間點進行常見項目集探勘後,與上一個時 間點所探勘出之常見項目集進行比對,找出狀態變動項目集來比較執行效率(以

fpg 表示)。程式開發是採用 Microsoft Visual Studio 2005,以 C++程式語言實作,

實驗環境的作業系統為 Microsoft Windows XP,系統配備為 Pentium(R) IV

3.00GHz 的中央處理器,及 2.99GHz, 1.99GB 的 RAM。

5-1 實驗測詴資料

表 5.1 模擬資料集參數說明

參數 說明

T 每筆交易平均包含項目個數 I 最大常見項目集的平均長度 D 交易資料筆數

N 資料集中所包含項目種類個數

實驗評估所使用的交易資料分為兩種:模擬資料及實際資料。模擬資料的部 分是利用 IBM 資料產生器[21]產生,產生之資料集中各參數所代表意義如表 5.1 所示。而實際資料 BMS-POS 資料集則為 KDD CUP 2000 所提供的資料[22],其 包含一電子銷售商針對一位顧客數年的販賣資料,資料集中每一筆交易都是一次

交易行為中的購買紀錄。

以下皆以 Tx.Iy.Dmk(Nn)的方式來表示實驗所採用的模擬資料集之參數設 定。

5-2 實驗評估

在此部分的實驗,分別針對改變滑動視窗大小、改變新增及過時資料筆數、

及 改 變 支 持 度 對 執 行 時 間 的 影 響 進 行 探 討 , 所 使 用 的 實 驗 資 料 集 為

T5I4D30k(N200)。每 100 筆交易視為一個單位交易區塊來模擬資料流資料。

圖 5.1 改變模擬資料集之滑動視窗中交易資料筆數執行時間結果

[實驗一] 本實驗探討改變滑動視窗中包含交易資料筆數不同時,對 fpg 及 CV-SCD

演算法執行時間所造成的影響。

此實驗中 Smin設為 0.01,圖 5.1 中顯示在不同的滑動視窗大小下,分別以 fpg 及 CV-SCD 進行狀態變動項目集探勘一次的平均執行時間。圖中的結果顯示,當 視窗愈大時,可能出現的不同常見項目集愈多,因此利用 fpg 進行探勘花費的時 間會愈多;而 CV-SCD 由於 Base-Tree 愈來愈大,所花費的時間雖然也有成長的 趨勢,但是相較之下成長幅度較 fpg 為低,約節省約一半的執行時間。

圖 5.2 改變模擬資料集之交易區塊中交易資料筆數的執行時間結果

[實驗二] 本實驗探討改變交易區塊中包含之資料筆數對 fpg 及 CV-SCD 執行時間

的影響。

此實驗中在固定滑動視窗有 2 萬筆交易資料,且 Smin設為 0.01。由圖 5.2 顯 示之實驗結果得知,fpg 幾乎不受此項變因影響,這是因為當滑動視窗大小不變,

每個時間點要進行探勘的交易資料筆數都一樣多,因此探勘所花費的時間也相差

不多。但是此項變因會影響 CV-SCD 中 Delta-Tree 的大小,隨著交易區塊中所包 含之資料筆數的增加,變動的資料也愈多,探勘狀態變動項目集的時間也因而隨 之增加。因此實驗結果顯示 CV-SCD 在變動資料集相較於滑動視窗中所包含的資 料筆數愈少的情況下,能愈有效率的探勘出狀態變動項目集。如單位交易區塊中 包含的交易筆數(block size)為 100 時,CV-SCD 的執行時間只約為 fpg 的三分之 一。

圖 5.3 改變模擬資料集之支持度的執行時間結果

[實驗三] 本實驗探討不同支持度對 fpg 及 CV-SCD 探勘狀態變動項目集執行時間

的影響。

此實驗中固定滑動視窗中有 2 萬筆交易資料,且交易區塊中固定包含 100 筆 資料。由圖 5.3 所顯示結果看出 fpg 隨著支持度愈小時,花費時間上升的幅度較

CV-SCD 快,這是由於當支持度愈小的時候,每個時間點所探勘出來的常見項目 集會愈多,因此探勘及比對時間也會隨之增加。此因素雖然也對 CV-SCD 的執行 時間有影響,但當 Smin減少,CV-SCD 執行時間的增加幅度較小,在支持度設為

0.01 時,探勘所需時間約是 fpg 的一半,因此在 Smin較小的情況下,愈能顯示出 CV-SCD 增進的執行效率。

圖 5.4 改變模擬資料集中平均交易長度的執行時間

第二部分實驗則探討改變產生資料集之設定參數對探勘執行時間造成的影 響。

[實驗四] 本實驗探討資料集之參數固定為 I4D30k(N200),Smin設定為 0.01 的情況 下,改變平均交易長度 T 觀察 fpg 與 CV-SCD 的探勘時間變化。

圖 5.4 顯示結果中,兩種方法在資料集平均交易長度愈長時,皆需愈多執行 時間,由於平均交易長度增加,會使 Base-Tree 及 Delta-Tree 變大,因此會造成

CV-SCD 的執行時間上升幅度較 fpg 快一些,但是當平均交易長度為 5 以下時,

CV-CSD 的探勘速度較 fpg 快了一半以上。

[實驗五] 本實驗探討產生資料集時,最大常見項目集長度 I 設定值不同,對執行

時間的影響。資料集的參數設定為 T5D30k(N200),Smin設定為 0.01。

從圖 5.5 中顯示之結果可知隨著常見項目集的長度愈長,兩個演算法探勘執 行時間也愈長,其原因及結果與平均交易長度造成的因素相似,但是實驗顯示

CV-SCD 執行時間上升的幅度較圖 5.4 的上升幅度來的小,表示常見項目集之長 度對探勘執行時間的影響相較於資料集中平均交易長度來得小。

圖 5.5 改變模擬資料集中常見項目集之長度的執行時間

圖 5.6 改變模擬資料集中包含之項目種類的執行時間

[實驗六] 本實驗將資料集參數設定為 T5I4D30k,且 Smin設定為 0.01,觀察資料 集中包含不同數量之項目種類 N 對 fpg 及 CV-SCD 執行時間的影響。

從圖 5.6 中可知當資料集中包含的項目數量愈多的話,fpg 及 CV-SCD 所需的 探勘時間都會下降,這是由於資料集中所包含的項目數量愈多,會造成所建立之

Base-Tree 及 Delta-Tree 結構的形狀較寬而深度較淺;當樹狀資料結構的深度愈淺,

就不用執行多次遞迴探勘的動作,所需探勘時間就會減少。同時從圖 5.6 中也可 以看出,當資料集中所包含項目愈多,CV-SCD 的執行時間比 fpg 執行時間的下 降幅度更大,因此增進效率愈明顯。

接下來針對 KDD CUP 2000 所提供的實際資料 BMS-POS 資料集進行改變滑 動視窗大小、交易區塊大小、支持度討論 fpg 及 CV-SCD 執行時間的比較。

圖 5.7 改變 BMS-POS 資料集之滑動視窗大小的執行時間 (交易區塊大小=5k,支持度=0.0001)

圖 5.8 改變 BMS-POS 資料集之交易區塊大小的執行時間 (視窗大小=50k,支持度=0.0001)

圖 5.9 改變 BMS-POS 資料集之支持度的執行時間 (視窗大小=50k,交易區塊大小=5k)

由圖 5.7、圖 5.8、圖 5.9 中對實際資料改變各參數的執行時間,fpg 與 CV-SCD 都維持與模擬資料改變相同參數時相同的特性,因此不再多做說明。但 CV-SCD 相較於 fpg 呈現相當好的執行效率,表示在實際資料上,C V-SCD 演算法花費極 短的時間就能探勘出狀態變動項目集。

最後一部分的實驗是觀察進行狀態變動項目集快照的總結特性探勘相對於 CV-SCD 執行時間的比較。第一組資料集我們採用 T5I4D30k(N200)的模擬資料集,

在滑動視窗大小設為 2 萬筆,一個單位交易區塊中包含 100 筆交易資料,且 Smin

設為 0.01,SI 設為 10,α設為 2,ℓ設為 2 進行狀態變動項目集探勘。第二組資料

集是以實際資料 BMP-POS,設定滑動視窗大小設為 10 萬筆,一個單位交易區塊 中包含 5000 筆交易資料,且 Smin設為 0.001,SI 設為 10,α設為 2,ℓ設為 2,將 探勘得出的狀態變動項目集加入至狀態變動項目集之快照中,實驗結果如圖 5.10

及圖 5.11 所示。其中分別顯示每次狀態變動探勘及記錄和分析狀態變動項目集快

5-3 實驗結果總結

綜合以上各實驗結果得知,當交易資料變動不多,或是新增集貨時的資料相 較於滑動視窗中的資料為少量時,相較於 fpg,CV-SCD 能很有效率的探勘出狀態 變動項目集。此外,當資料集中所包含的項目種類愈多,以及 Smin設定值愈小時,

相較於 FP-growth 更能增進狀態變動項目集的探勘效率。加入快照的資料結構的 儲存分析,對於 CV-SCD 探勘狀態變動項目集的執行效能影響太大,並能提供使 用者狀態變動項目集在指定區間的變動特性分析資訊。

相關文件