• 沒有找到結果。

實驗結果與分析

在文檔中 中 華 大 學 (頁 39-51)

ƒ 軟體環境

O.S.: ReadHat Linux 7.3 Library: MPICH2 1.0.3

4.2 實驗設計

本實驗主要針對我們所提出的演算法進行效率的驗證,實驗對象是與近年所提 出的平行分散演算法進行探勘。探勘的過程中,為驗證本論文所提出的演算法確實 能夠有效提升探勘效率,本論文將進行下列實驗:

實驗一:改變處理器數量

在平行分散的環境中,處理器的數量,亦是驗證演算法是否的確具有提升資料 探勘的效率。處理器的數量愈多時,加速比應該同樣呈正向增加;反之,當處理器 數量增加但加速比反而下降則表示其演算法適用的處理器數量有限制,其因素可能 為資料庫小、支持度過高或處理器間過多次的訊息交換等。因此,本實驗便是探討 處理器數量對於演算法的加速比影響。

實驗二:調整門檻值高低

資料探勘的高頻項目集合是以門檻值為判斷依據。因此當門檻值愈低,符合的 項目集合數目會愈多,即需要耗費較長的執行時間於項目集合次數的計算,並且需 要較多次的訊息交換於處理器間,如此就會影響探勘的執行效能。因此,本實驗為 討論變動門檻值對演算法執行率的影響。

實驗三:變動資料庫大小

隨著資訊技術應用普及,資料庫包含的交易資料愈來愈龐大,然而資料量的大 小會影響探勘的執行效率。因此本實驗的目的是針對不同資料量的交易資料做探勘,

探討不同演算法間在資料庫大小對完成探勘工作所需時間的效能分析比較。

4.3 不同支持度對 WDPA 四種分配法之比較

本實驗為進行資料量在二十萬筆的情況下,對 WDPA 演算法的四種分配進進 行不同支持度的探勘,探勘時間如表4-2 及表 4-3。

表4-2. 四種分配法之執行時間 (資料:T10I4D200KN200K,支持度:0.2%)

Processors BL CL BWT CWT

1

354.0802513 355.0935591 355.0642994 353.8362865

2

186.7499379 183.3127015 184.5240253 181.2629127

4

100.6899249 98.58112637 97.13417546 95.4871823

8

55.69393531 55.45340165 53.89986038 52.67128023

16

36.05501763 33.72334997 33.42436282 31.79873443

表4-3. 四種分配法之執行時間

(資料:T10I4D200KN200K,支持度:0.15%)

Processors BL CL BWT CWT

1

2146.846135 2151.642765 2139.224329 2134.66684

2

1086.085024 1091.467562 1077.27761 1076.458966

4

560.1858676 561.2040627 545.9039406 543.2788765

8

299.928161 289.7025937 282.6013444 278.1970629

16

164.9561691 161.20001 154.4834379 148.6000716

表 4-2 及 4-3 為 WDPA 四種項目集合分配法分別在支持度 0.2%及 0.15%的執 行時間。由表中可看出,不論支持度在 0.2%或 0.15%之下,CWT 計算分配方式的 執行時間都較優於另外三種分配法;並且當支持度愈低時,藉由 CWT 分配法探勘 所節省的時間就更為顯著。

圖 4-1 為資料二十萬筆,支持度設定為 0.15%時 WDPA 四種分配方式的加速 比。根據實驗結果可觀察到四種項目集合分配法執行後的加速比都相當的接近,而 CWT 的計算分配方式由於使用 Tid 加權值並配合 Cyclic 分配方式,所以可以更準 確對項目集合做分配。並且不論處理器在1, 2, 4, 8, 16 台時,CWT 分配法的執行效 率都會優於其他三種分配方式。因此,後續實驗將以CWT 計算分配法為主。

圖4-1. WDPA 四種分配法之加速比 (資料:T10I4D200KN100K,支持度:0.15%)

4.4 各處理器執行時間之比較

本實驗是進行 EDMA、Ye’s 及 WDPA 演算法中處理器個別執行所需時間的比 較。在平行分散的演算法,由於資料庫掃描次數、交易紀錄或項目集合的計算切割 方式都會影響執行所需的時間。因此本節針對不同演算法之個別處理器所需探勘時 間做比較。

圖 4-2 表示 EDMA、Ye’s 及 WDPA 演算法在資料量一萬筆的執行時間,分析 每一台處理器個別執行時所需要的時間。WDPA(4)表示 WDPA 演算法由四台處理 器做平行分散時,處理器個別所花費的時間;以此類推,WDPA(8)是指由八台處

理器執行探勘工作個別需探勘的時間。由於 Ye’s 在探勘的過程需要多次資料庫掃 描,並且在項目集合的切割方式會造成處理器間的負載不平衡。EDMA 演算法雖 然不需要多次資料庫掃描,但在探勘的前置動作卻需要龐大的儲存空間建立交易紀 錄的矩陣(CMatrix),項目集合在探勘過程中驗證動作繁雜,如此便需要耗費許多 時間。WDPA 使用 Tid 表格儲存項目集合的資料,並藉由 Tid 表格應用於項目集合 的次數計算及平行分散的計算機制中,因此可以有效減少資料庫的掃描以節省探勘 的執行時間,並且能使每台處理器達到負載平衡,如圖 4-3 所示。因此,根據實驗 結果可得知處理器為四台時,演算法間的執行時間最大會相差近156 倍。

圖4-2. 各處理器執行時間

(資料:T10I4D10KN100K,支持度:0.2%)

圖4-3. WDPA 之各處理器執行時間 (資料:T10I4D10KN100K,支持度:0.2%)

4.5 固定支持度對 EDMA, Ye’s, WDPA 演算法效能影響之比較

在資料量固定為六千筆、支持度為0.2%的情況下,對 EDMA、Ye’s 及 WDPA 演算法進行探勘。

圖4-4 為 EDMA、Ye’s 及 WDPA 演算法當處理器分別由 1, 2, 4, 8 台探勘的執 行時間。根據實驗結果得知,由於 Ye’s 探勘的過程會對每個項目集合進行資料庫 掃描以計算項目集合次數,因此當候選項目集合愈多時,其演算法的效能會愈差。

而 EDMA 演算法雖然建立 CMatrix 做項目集合次數的計算以減少資料庫掃描,但 當候選項目集合眾多時,仍需要多次從 CMatrix 矩陣中讀取資料計算次數。本論文 所提出的 WDPA 演算法藉由儲存 Tid,因此只需要一次資料庫掃描,並利用 Tid 表 格做項目集合次數計算,便可快速得到項目集合共同出現的交易筆數,有效節省探 勘時間。

圖4-4. 演算法執行時間

(資料:T10I4D6KN100K,支持度:0.2%)

4.6 不同資料量對 EDMA、Ye’s、WDPA 演算法效能影響之比較

圖 4-5 是固定支持度為 0.2%,改變資料量以進行效能比較。根據實驗結果可 得知,WDPA 演算法當資料量改變時仍可有效達到探勘效率。而 EDMA、Ye’s 演 算法不但需要耗費很長的探勘時間,而且在資料量 6000 筆 (6K)時反而較交易筆數 多的資料庫耗費更長的執行時間,是由於高頻項目集合在支持度 0.2%、資料量六 千筆的情況下,反而較資料量大的高頻項目集合來的多。因此當演算法在執行的過 程中就需要多次對資料量掃描或對矩陣進行項目集合次數的計算,才會使得在執行 時間上資料量少的執行時間反而高於交易筆數多的資料庫。

圖4-5. 改變資料量大小,演算法執行時間 (支持度:0.2%,處理器:8 台)

4.7 不同支持度對 EDMA、Ye’s、WDPA 演算法效能影響之比較

由於支持度的設定會影響候選項目集合及高頻項目集合的數量,因此進行當改 變支持度高低對演算法執行時間的影響。固定資料量為一萬筆、處理器為八台,設 定支持度為0.35%、0.3%、0.25%、0.2%。

圖 4-6 為變動支持度對執行時間的影響。由於當支持度於 0.35%時,只有一階 高頻項目集合,因此演算法在支持度於 0.35%執行時間皆相近;但當支持度由 0.25%降低至 0.2%時,高頻項目集合數量會大量增加,因此 Ye’s 演算法在探勘過 程需要多次資料庫掃描, EDMA 演算法則需要多次從矩陣中讀取資料以計算項目 集合次數,所以由圖中可看出 Ye’s 及 EDMA 演算法的探勘時間急速上升。而本論 文所提出的 WDPA 演算法,藉由 Tid 表格的儲存能有效減少資料庫掃描次數並加 快項目集合次數的計算,配合加權值計算分配方式使處理器間有效減少閒置時間,

提升探勘效率。

圖4-6. 變動支持度高低,演算法執行時間 (資料:T10I4D10KN100K,處理器:8 台)

4.8 資料量對 Ye’s 及 WDPA 演算法效能影響之比較

由於 EDMA 演算法需要耗費較多的記憶體空間於矩陣的建立,因此當資料庫 龐大時則會有執行上的困難,如記憶體不足。因此在此章節的實驗中,只針對 WDPA 及 Ye’s 演算法進行討論,固定資料量為十萬筆、支持度為 0.2%。

從圖 4-7 中可看出,由於 Ye’s 演算法在探勘的過程中會對各個項目集合進行 資料庫掃描,因此需要花費相當長的時間執行時間,而在平行分散的過程由於分配 不均勻,因此使處理器間的執行時間相差 10%以上; EDMA 演算法藉由 Tid 表格 的項目集合儲存能有效減少資料庫掃描次數,並將項目集合以加權值計算後平均分 配,能有效提升探勘效率並達到負載平衡。因此,根據圖 4-7 的實驗結果,WDPA 演算法的執行時間大約只需要Ye’s 演算法的 5%。

圖4-7. 演算法執行時間

(資料:T10I4D100KN100K,支持度:0.2%)

4.9 不同資料量對 WDPA 演算法效能影響之比較

由於 Ye’s 演算法在探勘的過程中需要耗費冗長的執行時間於資料庫掃描,而 EDMA 演算法則需要耗費較多的記憶體空間於矩陣的建立,因此當資料庫龐大時 則會有執行上的困難,如記憶體不足。因此在此節及下一節的實驗中,只對 WDPA 演算法的效能進行討論。

本實驗進行 WDPA 演算法在不同資料量五萬、十萬、二十萬筆之下,探勘所 需的執行時間及加速比的變化情形,如圖 4-8 及圖 4-9 所示。由於資料量增加時,

Tid 表格儲存的交易筆數會愈長,因此在計算項目集合出現比例時就需要多次的交 集比對,因此由圖 4-8 中可看出當資料量愈大就需要較長的執行時間。然而藉由平 行分散的策略,將資料筆數及項目集合均勻分配給各處理器做探勘工作,不但能節 省探勘時間,更降低處理器的閒置時間,有效提升勘率。因此加速比在資料量愈大 或支持度愈低時其值會愈顯著,如圖4-9。

圖4-8. 變動資料量大小,WDPA 之執行時間 (支持度:0.15%)

圖4-9. 變動資料量大小,WDPA 之加速比 (支持度:0.15%)

4.10 不同支持度對 WDPA 演算法效能影響之比較

本實驗進行當資料量二十萬筆時,變動支持度探勘會產生影響之探勘。由於支 持度的設定對於高頻項目集合的探勘是重要的變數之一。當支持度設定過高或過低,

都會影響探勘時間及高頻項目集合的數量。因此本節將支持度設定為 0.5%、0.4%、

0.3%、0.25%、0.2%及 0.15%進行探勘。圖 4-10 是探討支持度的改變對 WDPA 演 算法的影響。當降低支持度,高頻項目集合需探勘的階層數及項目集合數會劇增。

此時藉由平行分散的分配機制,能有效的加快高頻項目集合探勘。因此,WDPA 演算法的項目集合分配方式,當支持度愈低加速比會愈顯著,有效提升探勘效率。

圖4-10. 改變支持度高低,WDPA 之加速比 (資料:T10I4D200KN100K)

綜合上述實驗結果可得知,WDPA 演算法當變動處理器數量、變動資料量或 支持度時執行效率都能較前人研究有更好的表現,是由於 WDPA 演算法藉由 Tid 表格的儲存能有效節省資料庫掃描次數,並提升探勘效率;在平行分散部份藉由所 提出的項目集合分配機制,因此能使處理器間的工作量相近,有效達到負載平衡;

並且當資料量愈大或支持度愈低時,WDPA 演算法加速比愈顯著。

在文檔中 中 華 大 學 (頁 39-51)

相關文件