98
1 第七章 網路資料庫之關連法則探

第七章 網路資料庫之關連法則探勘

Embed Size (px)

DESCRIPTION

第七章 網路資料庫之關連法則探勘. 內容概要. 簡介 關連法則探勘 (Association Rule Mining) 多層次關連法則探勘 (Multilevel Association Rule Mining) 數量化關連法則探勘 (Quantitative Association Rule Mining) 關連分析 (Correlation Analysis) 總結. 簡介 (1). 單一購物車告訴我們個別顧客的消費行為,但是累積大量的購物車資料之後,可以分析整體顧客的消費習慣。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第七章  網路資料庫之關連法則探勘

1

第七章 網路資料庫之關連法則探勘

Page 2: 第七章  網路資料庫之關連法則探勘

2

內容概要 簡介 關連法則探勘 (Association Rule Mining) 多層次關連法則探勘 (Multilevel Associatio

n Rule Mining) 數量化關連法則探勘 (Quantitative Associat

ion Rule Mining) 關連分析 (Correlation Analysis) 總結

Page 3: 第七章  網路資料庫之關連法則探勘

3

簡介 (1) 單一購物車告訴我們個別顧客的消費行為,但是

累積大量的購物車資料之後,可以分析整體顧客的消費習慣。

例如,顧客購買印表機時,他們是否也會購買報表紙?購買 IBM PC 主機的顧客是否會傾向於搭配 ViewSonic 螢幕?顧客購買碳粉匣的數量是否和同時購買的報表紙數量有關係?

這些分析過的資訊可以幫助我們設計更好的網路購物環境,制訂更有效的行銷策略,提供顧客客製化的服務,進而提升整體的銷售業績。

Page 4: 第七章  網路資料庫之關連法則探勘

4

簡介 (2)

關連法則探勘的目的是找出交易中可能相關連的產品項目。 例如,根據商店中消費者每次交易所購買的產品資料,可以發掘出類似下列的關連法則:“80% 的顧客如果購買碳粉匣,則也會購買報表紙”。

Page 5: 第七章  網路資料庫之關連法則探勘

5

內容概要 簡介 關連法則探勘 (Association Rule Mining) 多層次關連法則探勘 (Multilevel Associatio

n Rule Mining) 數量化關連法則探勘 (Quantitative Associat

ion Rule Mining) 關連分析 (Correlation Analysis) 總結

Page 6: 第七章  網路資料庫之關連法則探勘

6

表 7-1 :網路交易資料庫 交易編號 商品編號

1 2, 5, 7

2 1, 3, 4, 6

3 2, 6, 7

4 2, 4, 5

5 3, 6

6 2, 4, 6

7 1, 4, 5

8 1, 3, 5

9 2, 3, 5

10 1, 3, 5

Page 7: 第七章  網路資料庫之關連法則探勘

7

關連法則探勘的相關定義 (1)

在交易資料庫中,每一筆交易包含交易編號與一組被購買的商品項目;而一組商品項目所成的集合稱之為 “項目集” (itemset) 。

假設 X 是一個項目集,若所有在 X 中的項目皆被包含在交易 T 之中,則稱交易 T 支持 (support) 項目集 X 。

Page 8: 第七章  網路資料庫之關連法則探勘

8

關連法則探勘的相關定義 (2) 項目集X的 “支持個數” (support count) 被定義為“支持項目集X的交易

總數”。 項目集X的 “支持度” (support) 則是 “支持項目集X的交易個數佔全部

交易總數的比例”。 考慮表 7-1的網路交易資料庫。商品編號為 “ 2” 的物品之 “支持個數” 為 5,亦即 “支持度” 為 5/10=0.5;而項目集 {2,5}的 “支持個數” 為 3,“支持度” 為3/10=0.3。

關連法則的形式為 “X Y [支持度 ,信心水準 ]”,其中 X 和 Y 代表項目集,X 被稱為 “條件句”,Y為 “結論句”。

法則X Y的支持度定義為項目集 的支持 度。

YX

Page 9: 第七章  網路資料庫之關連法則探勘

9

關連法則探勘的相關定義 (3)

法則 X Y 的 “信心水準” (confidence) 是符合條件句與結論句的交易個數佔全體符合條件句的交易個數之比例,亦即

信心水準 ﹦ 的支持度的支持度

X

YX

Page 10: 第七章  網路資料庫之關連法則探勘

10

關連法則探勘的相關定義 (4) 關連法則必須滿足事先設定的兩個參數值:最小

支持度 (minimum support) 與最小信心水準 (minimum confidence) 。

最小支持度和資料庫中交易總數的乘積即是最小支持個數 (minimum support count) 。 考慮表 7-1 ,假設最小支持度與最小信心水準分別為 0.

2 和 0.5 。關連法則 {1,3} {5} 的支持個數為 2 ,所以支持度為 0.2 ,且項目集 {1,3} 的支持度為 0.3 ,因此關連法則 {1,3} {5} 的信心水準為 0.2/0.3=0.67 。

Page 11: 第七章  網路資料庫之關連法則探勘

11

關連法則探勘的相關定義 (5) 關連法則探勘的問題可以再細分為兩個子問題。

首先,找出所有支持度大於或等於最小支持度的項目集,稱之為 “大型項目集” (large itemset) 。

接著,從大型項目集中產生信心水準大於或等於最小信心水準的關連法則。

假設 Z 為大型項目集,所有形式為 XY ,滿足 、 以及信心水準大於或等於最小信心水準的關連法則都應該被產生。 很明顯的,一旦所有大型項目集被發掘之後,關連法則的產生將變得非常直接。

ZYX YX

Page 12: 第七章  網路資料庫之關連法則探勘

12

關連法則探勘的相關定義 (6)

考慮表 7-1 的網路交易資料庫,若最小支持度與最小信心水準分別為 0.2 和 0.7 ,則項目集 {1,3} 是大型項目集,因此可以考慮下列這兩條法則: {1}{3} 和 {3}{1} 法則 {1}{3} 的信心水準為 0.3/0.4=0.75 法則 {3}{1} 的信心水準為 0.3/0.5=0.6 其中只有法則 {1}{3} 才是我們所想要的關連法則。

Page 13: 第七章  網路資料庫之關連法則探勘

13

Apriori 演算法的基本精神 一個包含 k 個項目的項目集被稱為 k- 項目集 (k-i

temset)。 符號 Lk表示所有大型 k- 項目集 (large k-itemset)

所成的集合。 Apriori 的基本精神是使用前一個階段所發掘的大

型項目集來產生下一個階段的大型項目集。 也就是說,先找出所有大型 1- 項目集 L1,再利用 L1 找出 L2,然後利用 L2找出 L3,依此類推下去,直到下一個階段無任何大型項目集產生為止。

Page 14: 第七章  網路資料庫之關連法則探勘

14

Apriori 性質 為了減少產生大型項目集所花費的計算時間, Apri

ori 使用一個重要的性質來減少搜尋的空間: Apriori 性質:一個大型項目集的任何子集合也必定是大型項目集。

假設 {A,B} 是一個大型項目集,根據大型項目集的定義,它的支持個數必定大於或等於最小支持個數。考慮 {A,B} 的兩個子集合 {A} 和 {B} 。 在交易資料庫中,項目集 {A} 的支持個數必大於或等於項目集 {A,B} 的支持個數,因此項目集 {A} 必定是大型項目集。

同理,項目集 {B} 也必定是大型項目集。

Page 15: 第七章  網路資料庫之關連法則探勘

15

候選項目集產生程序的主要步驟 Apriori 演算法使用 Apriori 性質產生候選

項目集 (candidate itemsets) ,候選項目集的產生程序主要包含兩個步驟: “ 結合” (join) 步驟 “ 刪除” (prune) 步驟

Page 16: 第七章  網路資料庫之關連法則探勘

16

“ 結合”步驟 結合大型 (k-1)- 項目集來產生候選 k- 項目集 (can

didate k-itemsets) 。符號 Ck表示所有候選 k- 項目集所成的集合。

令 X1和 X2是兩個大型 (k-1)- 項目集, Xi[j] 代表項目集 Xi中的第 j 個項目。假設項目集中的項目已依遞增的方式排序完成。 若 X1和 X2的前 k-2 個項目皆相同,且 X1[k-1]<X2[k-1] ,則 X1和 X2將被結合成一個候選 k- 項目集,亦即 {X1[1], X1[2], …, X1[k-1], X2[k-1]} 。

其中,結合條件 X1[k-1]< X2[k-1] 的目的是為了避免產生重複的候選 k- 項目集。

Page 17: 第七章  網路資料庫之關連法則探勘

17

範例 7-1 假設 X1和 X2是兩個大型 3- 項目集, X1={1,

3,5} 且 X2={1,3,6} 。 X1[1]=X2[1]=1 , X1[2]=X2[2]=3 且 X1[3]<X2[3] ,完全符合結合的條件,因此 X1和 X2被結合成一個候選 4- 項目集,亦即 {1,3,5,6} 。

在集合中的元素,它們的先後次序並不代表任何意義,因此,集合 {1,3,5,6} 和 {1,3,6,5} 被視為是相同的集合,故為了避免重複,結合條件必須要考慮 “ X1[3]<X2[3]” 。

Page 18: 第七章  網路資料庫之關連法則探勘

18

“ 刪除” 步驟 刪除不滿足 Apriori 性質的候選項目集。候選 k-

項目集 Ck包含 Lk,但不一定和 Lk相等。 假設 XCk, Apriori 演算法在讀取資料庫中的每

一筆交易時,若交易支持項目集 X ,則 X 的支持個數將會增加 1 。

應用 Apriori 性質來減少 Ck的大小。 若項目集 X 有任何一個大小為 k-1 的子集合不是大型

(k-1)- 項目集,則 X 必定不是大型 k- 項目集,因此就可以將 X 從 Ck中刪除。

Page 19: 第七章  網路資料庫之關連法則探勘

19

範例 7-2 假設 X1和 X2是兩個大型 3- 項目集, X1={1,3,5} 且 X2

={1,3,6} 。 X1和 X2被結合成一個候選 4- 項目集 {1,3,5,6} 。 應用 Apriori 性質對候選 4- 項目集 {1,3,5,6} 做初步的檢驗。項目集 {1,3,5,6} 的大小為 3 的子集合包括 {1,3,5} 、 {1,3,6} 、 {1,5,6} 和 {3,5,6} 。已知 {1,3,5} 和 {1,3,6} 是大型 3-項目集:

若 {1,5,6} 和 {3,5,6} 其中任何一個不是大型 3- 項目集,則{1,3,5,6} 必定不是大型 4- 項目集。

若 {1,5,6} 和 {3,5,6} 都是大型 3- 項目集,則藉由讀取資料庫來計算 {1,3,5,6} 的支持度之後,就可以決定它是否為大型 4- 項目集。

Page 20: 第七章  網路資料庫之關連法則探勘

20

Apriori 演算法

步驟 1 : L1 = 大型 1- 項目集所成的集合 ;步驟 2 : for (k = 2; Lk-1≠; k++) do begin

步驟 3 : Ck = Candidate_gen (Lk-1) ; 步驟 4 : for each 交易 t

步驟 5 : 對於 Ck中的每一個候選項目集 c ,若 t 包含 c , 則將 c 的支持個數增加 1 ; 步驟 6 : Lk = 在 Ck中滿足最小支持個數的候選項目集 所成的集合;步驟 7 : end

步驟 8 : return L = 所有大型項目集的集合

Page 21: 第七章  網路資料庫之關連法則探勘

21

候選項目集產生程序 Candidate_gen Procedure

步驟 1 : for each 項目集 X1 Lk-1

/* X1[1],X1[2], …, X1[k-1] 表示在 X1中的 k-1 個項目 */

步驟 2 : for each 項目集 X2 Lk-1

/* X2[1],X2[2], …, X2[k-1] 表示在 X2中的 k-1 個項目 */

步驟 3 : if (X1[1]=X2[1]) (X1[2]=X2[2]) … (X1[k-2]=X2[k-2]) (X1[k-1]<X2[k-1])

步驟 4 : then { c = {X1[1], X1[2], …, X1[k-2], X1[k-1], X2[k-1]};步驟 5 : if 所有 c 的大小為 k-1 的子集合都是大型 (k-1)- 項目集步驟 6 : then 將 c 加入 Ck;步驟 7 : else 刪除 c;}

步驟 8 : return Ck = 所有候選 k- 項目集的集合

Page 22: 第七章  網路資料庫之關連法則探勘

22

範例 7-3 (1) 使用表 7-1 的網路交易資料庫來說明 Apriori 演算法如何

找到所有大型項目集。假設最小支持個數為 3 。 讀取資料庫並且計算每一個候選 1- 項目集的支持個數。

項目集 支持個數

{1} 4

{2} 5

{3} 5

{4} 4

{5} 6

{6} 4

{7} 2

C1

Page 23: 第七章  網路資料庫之關連法則探勘

23

範例 7-3 (2)

刪除支持個數小於最小支持個數的項目集。

項目集 支持個數

{1} 4

{2} 5

{3} 5

{4} 4

{5} 6

{6} 4

L1

Page 24: 第七章  網路資料庫之關連法則探勘

24

範例 7-3 (3)

從 L1產生候選項目集 C2。項目集

{1,2}{1,3}{1,4}{1,5}{1,6}{2,3}{2,4}{2,5}{2,6}{3,4}{3,5}{3,6}{4,5}{4,6}{5,6}

Page 25: 第七章  網路資料庫之關連法則探勘

25

範例 7-3 (4) 讀取資料庫,並且計算每一個候選 2- 項目集的支

持個數。 項目集 支持個數

{1,2} 0{1,3} 3{1,4} 2{1,5} 3{1,6} 1{2,3} 1{2,4} 2{2,5} 3{2,6} 2{3,4} 1{3,5} 3{3,6} 2{4,5} 2{4,6} 2{5,6} 0

Page 26: 第七章  網路資料庫之關連法則探勘

26

範例 7-3 (5)

刪除支持個數小於最小支持個數的項目集 。

項目集 支持個數

{1,3} 3

{1,5} 3

{2,5} 3

{3,5} 3

L2

Page 27: 第七章  網路資料庫之關連法則探勘

27

範例 7-3 (6)

從 L2產生候選項目集 C3。

計算候選 3- 項目集的支持個數。

項目集

{1,3,5}

項目集 支持個數

{1,3,5} 2

Page 28: 第七章  網路資料庫之關連法則探勘

28

範例 7-3 (7) 所有大型項目集的集合為 {{1},{2},{3},{4},{5},{6},{1,3},{1,5},{2,5},

{3,5}} 。假設最小信心水準為 0.7 ,可能產生的關連法則如下: {1} {3} 信心水準 =3/4=0.75 {3} {1} 信心水準 =3/5=0.6 {1} {5} 信心水準 =3/4=0.75 {5} {1} 信心水準 =3/6=0.5 {2} {5} 信心水準 =3/5=0.6 {5} {2} 信心水準 =3/6=0.5 {3} {5} 信心水準 =3/5=0.6 {5} {3} 信心水準 =3/6=0.5 只有第 1 和第 3 條法則才是真正符合條件的關連法則。

Page 29: 第七章  網路資料庫之關連法則探勘

29

內容概要 簡介 關連法則探勘 (Association Rule Mining) 多層次關連法則探勘 (Multilevel Associatio

n Rule Mining) 數量化關連法則探勘 (Quantitative Associat

ion Rule Mining) 關連分析 (Correlation Analysis) 總結

Page 30: 第七章  網路資料庫之關連法則探勘

30

多層次關連法則探勘 在許多應用中,使用不同的概念階層來發掘

關連法則是非常有用的。 法則一: 80% 的顧客如果購買 PC 主機,也會同時購買螢幕。

法則二: 70% 的顧客如果購買 IBM PC 主機,也會同時購買 ViewSonic 螢幕。

法則二是以一個較低的概念層次 (lower concept level) 來表示,但是它可以比法則一提供更細部的資訊。

Page 31: 第七章  網路資料庫之關連法則探勘

31

圖 7-5 :個人電腦的概念階層

個人電腦

桌上型電腦 攜帶型電腦

家用電腦 商用電腦 筆記型電腦 平板電腦

IBM COMPAQ ASUS HP IBM Acer IBM Acer Toshiba

 

 

 

Page 32: 第七章  網路資料庫之關連法則探勘

32

圖 7-14 :螢幕分類的概念階層  

螢幕  CRT LCD

17 吋 19 吋 15 吋 17 吋

優派 宏碁 飛利浦 優派 聲寶 奇美 優派 三星 優派 三星

 

 

Page 33: 第七章  網路資料庫之關連法則探勘

33

圖 7-15 :印表機分類的概念階層  

印表機

彩色噴墨 雷射

A4 尺寸 A3+ 尺寸 黑白 彩色

佳能 利盟 惠普 愛普生 惠普 利盟 惠普 愛普生 

 

 

 

Page 34: 第七章  網路資料庫之關連法則探勘

34

概念階層 雖然以 “較低” (lower) 的概念層次所表示的關連法則可

以比 “較高” (higher) 的概念層次呈現更多的資訊,但是可能產生“在較低的概念層次的項目之支持度偏低”的情況。

若想要在較低的概念層次發掘關連法則,最小支持度相對的就必須被降低。 例如, HP 商用電腦 ViewSonic 液晶螢幕(支持度 =0.01),但這種作法可能會造成所產生的法則之實際效益大為降低。

在較高的概念層次所產生的關連法則雖然具有較高的支持度,但可能是一般根據經驗即可預測出來的明顯的結果。 例如,個人電腦 螢幕(支持度 =0.95),這種明顯的結果之實際效益亦不高。

Page 35: 第七章  網路資料庫之關連法則探勘

35

多層次關連法則 使用概念階層來進行跨層次的探勘,並且給

予不同層次設定不同最小支持度的彈性。 例如,商用電腦 ViewSonic 液晶螢幕

(支持度 =0.7 ,信心水準 =0.9 )。這種使用概念階層所發掘出來的關連法則稱之為 “多層次關連法則” (multilevel association rules) 。

Page 36: 第七章  網路資料庫之關連法則探勘

36

多層次關連法則探勘的基本精神 使用由上而下 (top-down) 的處理方式,先

計算在層次 1 (level-1) 的大型項目集,接著計算在層次 2 (level-2) 的大型項目集,依此類推下去,直到沒有其它的大型項目集產生為止。

在每一個層次中,可以使用 Apriori 演算法來產生大型項目集。

Page 37: 第七章  網路資料庫之關連法則探勘

37

限制條件 (1) 在進行多層次關連法則探勘時,可以讓不同的層次

有不同的最小支持度,也可以增加下列條件加以限制: 在層次 i 的項目 x ,只有當 x 在層次 i-1 的父節點所代表的項目是大型項目時, x 才需要被考慮。

例如,在概念階層中,若 “桌上型電腦” 是一個大型項目,則 “家用電腦” 和 “商用電腦” 才需要被考慮。反之,若 “桌上型電腦” 不是大型項目,則 “家用電腦” 和 “商用電腦” 就不用被考慮。

Page 38: 第七章  網路資料庫之關連法則探勘

38

限制條件 (2) 考慮父節點支持度的多層次探勘:考慮層次 i 的項

目 x 時,只有當它在層次 i-1 的父節點是大型 1-項目集的時候,項目 x 才會被考慮,否則就忽略不予考慮。

桌上型電腦 [ 支持度 =0.2]

家用電腦 ( 不考慮 )

商用電腦 ( 不考慮 )

最小支持度 = 0.25 

Page 39: 第七章  網路資料庫之關連法則探勘

39

不同的限制條件 (1) 忽略父節點支持度的多層次探勘:每一個節點都

被檢查,不管它的父節點是否為大型項目。

桌上型電腦 [ 支持度 =0.2]

家用電腦 [ 支持度 =0.12]

商用電腦 [ 支持度 =0.08]

最小支持度 = 0.3

最小支持度 = 0.06

Page 40: 第七章  網路資料庫之關連法則探勘

40

不同的限制條件 (2) 考慮父節點 k- 項目集支持度的多層次探勘:考慮層次 i 的

k- 項目集 X 時,只有當它在層次 i-1 所對應的父節點之 k-項目集是大型 k- 項目集的時候, X 才需要被考慮,否則就忽略不予檢查。

{ 桌上型電腦 ,LCD 螢幕 }[ 支持度 = 0.2]

{ 家用電腦 ,15 吋LCD 螢幕 }[ 支持度 = 0.12]

{ 家用電腦 ,17吋 LCD螢幕 }[ 支持度 = 0.02]

{ 商用電腦 ,15吋 LCD 螢幕 }[ 支持度 = 0.03]

{ 商用電腦 ,17 吋 LCD螢幕 }[ 支持度 = 0.03]

最小支持度 = 0.15

最小支持度 = 0.03

Page 41: 第七章  網路資料庫之關連法則探勘

41

項目編碼的方式 對於個人電腦分類階層中的項目,可以用下

列的編碼方式來表示: IBM 商用電腦被表示為 “ 1122” ,其中第一個數字 “ 1” 代表在層次 1 的 “個人電腦”,第二個數字 “ 1” 代表往下在層次 2 的第一個分支 “桌上型電腦”, 第三個數字 “ 2” 代表往下在層次 3的第二個分支 “商用電腦”,第四個數字 “ 2” 代表往下在層次 4 的第二個分支 “ IBM 電腦”。

Page 42: 第七章  網路資料庫之關連法則探勘

42

表 7-2 :個人電腦分類描述商品編號 層次 2 層次 3 品牌

1600 桌上型電腦 家用電腦 IBM

1601 桌上型電腦 家用電腦 COMPAQ

1602 桌上型電腦 家用電腦 ASUS

1603 桌上型電腦 商用電腦 HP

1604 桌上型電腦 商用電腦 IBM

1605 攜帶型電腦 筆記型電腦 Acer

1606 攜帶型電腦 筆記型電腦 IBM

1607 攜帶型電腦 平板電腦 Acer

1608 攜帶型電腦 平板電腦 Toshiba

Page 43: 第七章  網路資料庫之關連法則探勘

43

表 7-3 :網路交易資料庫 交易編號 商品編號

1 {1600,2301}

2 {1602,3457,4563}

3 {1601,2305,4563}

4 {1606,2302}

5 {1605,2302,4623}

6 {1607,2307,5457}

7 {1608,2306}

8 {1606,2302,4563}

9 {3001,5453}

10 {5455}

Page 44: 第七章  網路資料庫之關連法則探勘

44

表 7-4 :編碼後的交易資料庫 T[1]

交易編號 編碼後的項目集

1 {1111,2111}

2 {1113,3214,4111}

3 {1112,2211,4111}

4 {1212,2112}

5 {1211,2112,4212}

6 {1221,2231,5214}

7 {1222,2223}

8 {1212,2112,4111}

9 {3112,5211}

10 {5213}

Page 45: 第七章  網路資料庫之關連法則探勘

45

相關定義 T 為原始的交易資料庫。 T[1] 是將交易中購買的項目使用項目編碼方

式轉換而成的資料庫。 L[j,k] 表示在層次 j 的大型 k- 項目集所成的

集合。 LL[j] 則表示在層次 j 的所有大型項目集所成

的集合。 minsup[j] 表示層次 j 的最小支持個數。

Page 46: 第七章  網路資料庫之關連法則探勘

46

範例 7-4 假設有關商品編號中第一個數字的意義為:數字 “

1” 代表 “個人電腦”, 數字 “ 2” 代表 “螢幕”,數字 “ 3” 代表 “網路設備”,數字 “ 4” 代表 “印表機”, 數字 “ 5” 代表 “掃描器”。

根據商品編號,將商品項目依其所對應的概念階層重新編碼,編碼後的交易資料庫為 T[1]( 如表 7-4) 。 例如,在表 7-3 的第一筆交易中包含商品編號為 “ 1600

” 的物品,根據表 7-2 的個人電腦分類描述,它對應到IBM 家用電腦,再依據個人電腦的分類階層,則可得到對應的編碼為 “ 1111” 。

Page 47: 第七章  網路資料庫之關連法則探勘

47

多層次關連法則探勘演算法 (1)步驟 1 : for (j=1; L[j,1]≠ and j 最大層次; j++) do begin

/* 從層次 1 開始依序產生各層次的大型項目集 */

步驟 2 : if j=1 then {

步驟 3 : L[j,1] = Large_item_gen(T[1],j) ; /* 從交易資料庫 T[1] 中找出在層次 1 的大 型 1- 項目集 */

步驟 4 : T[2] = Filtered_table(T[1],L[1,1]) ; /* 使用 L[1,1] 對 T[1] 進行過濾的動作 */

步驟 5 : }

步驟 6 : else L[j,1] = Large_item_gen(T[2],j) ;

Page 48: 第七章  網路資料庫之關連法則探勘

48

多層次關連法則探勘演算法 (2)步驟 7 : for (k = 2;L[j,k-1]≠; k++) do begin

/* 產生層次 j 的大型 k- 項目集 */

步驟 8 : Ck = Candidate_gen(L[j,k-1]) ;步驟 9 : for each 在 T[2] 中的交易 t

步驟 10 : 對於 Ck中的每一個候選項目集 c ,若 t 包含 c ,則將 c 的 支持個數增加 1 ;步驟 11 : L[j,k] = 在 Ck中滿足最小支持個數 minsup[j] 的候選 k- 項 目集所成的集合; 步驟 12 : end

步驟 13 : return LL[j] = 所有在層次 j 的大型項目集的集合 步驟 14 : end

Page 49: 第七章  網路資料庫之關連法則探勘

49

多層次關連法則探勘演算法 (3) 在步驟 3 , Large_item_gen (T[1],j) 程序的目的是從交

易資料庫 T[1] 中,找出在層次 j 的大型 1- 項目集,亦即 L[j,1] 。 當考慮層次 1 時,使用 Large_item_gen(T[1],1) 產生大型 1-項目集 L[1,1] 。

在步驟 6 的其它層次 j(j>1) ,使用 Large_item_gen(T[2],j) 來產生大型 1- 項目集 L[j,1] 。

在這裡我們限制只有在 L[j-1,1]的項目才可以被考慮在 L[j,1]中。以個人電腦分類階層為例,在層次 2的 “桌上型電腦” 被表示為 “ 11**”,若 “桌上型電腦” 不是大型1-項目集,則在層次 3的 “家用電腦” (“111*”) 和 “商用電腦” (“112*”) 就不被考慮。

Page 50: 第七章  網路資料庫之關連法則探勘

50

多層次關連法則探勘演算法 (4) 在步驟 4 , Filtered_table(T[1],L[1,1]) 程序

的目的是使用 L[1,1] 來檢查 T[1] 中的每一筆交易 t ,並且執行下列過濾的動作: 刪除 t 中任何支持個數小於最小支持個數的項目。 若 t 不包含任何大型項目,則將 t 從 T[1] 中刪除。

Filtered _table(T[1],L[1,1]) 的目的是縮減資料庫的大小,它執行完的結果則儲存在資料庫 T[2] 中。

Page 51: 第七章  網路資料庫之關連法則探勘

51

範例 7-5 接續範例 7-4 ,首先從層次 1 開始依序產生各層次的大

型項目集。假設層次 1 的最小支持個數為 4 。 掃描交易資料庫 T[1] 之後,得到層次 1 的大型 1- 項目集 L[1,1] 。

例如,項目集 {4***} 出現在交易編號 “ 2” 、“ 3” 、“ 5” 和 “ 8” 之中,所以它的支持個數為 4 ,其中 “ *” 代表任何可能的編碼數字。

Filtered_table 程序依據 L[1,1] 來檢查 T[1] 中的每一筆交易,執行過濾的動作之後得到 T[2] 。

在 T[1] 中交易編號為 “ 2” 的記錄裡,編碼為 “ 3214” 的項目因它的支持個數小於 4 ,所以此項目在過濾的過程中被刪除。

交易編號為 “ 9” 和 “ 10” 的記錄,其項目集所包含的項目都不是大型項目,所以這兩個交易也會在過濾的過程中被刪除。

Page 52: 第七章  網路資料庫之關連法則探勘

52

範例 7-6 (1)

接續範例 7-5 ,產生層次 1 的大型 1- 項目集 L[1,1]。

項目集 支持個數

{1***} 8

{2***} 7

{4***} 4

Page 53: 第七章  網路資料庫之關連法則探勘

53

範例 7-6 (2) T[1] 過濾之後得到 T[2] 。

交易編號 商品編碼

1 {1111,2111}

2 {1113,4111}

3 {1112,2211,4111}

4 {1212,2112}

5 {1211,2112,4212}

6 {1221,2231}

7 {1222,2223}

8 {1212,2112,4111}

Page 54: 第七章  網路資料庫之關連法則探勘

54

範例 7-6 (3) 利用 Candidate_gen 程序產生層次 1 的大型 2- 項目集。

層次 1 的最小支持個數為 4 。 從 L[1,1] 產生候選項目集 C2={{1***,2***}, {1***,4**

*}, {2***,4***}} 。 因為 {2***,4***} 的支持個數只有 3 ,所以將它刪除,最後得到 L[1,2]={{1***,2***},{1***,4***}} 。

從 L[1,2] 可以產生候選項目集 C3={{1***,2***,4***}} 。 因為 {1***,2***,4***} 的支持個數只有 3 ,所以 L[1,3]= 。

Page 55: 第七章  網路資料庫之關連法則探勘

55

範例 7-6 (4)

層次 1 的大型 2- 項目集 L[1,2]

項目集 支持個數

{1***,2***} 7

{1***,4***} 4

Page 56: 第七章  網路資料庫之關連法則探勘

56

範例 7-6 (5) 接下來考慮層次 2 ,假設層次 2 的最小支持個數為 2 ,掃

描交易資料庫 T[2] 之後,得到層次 2 的大型 1- 項目集 L[2,1] 。

例如,項目集 {41**} 出現在交易編號 “ 2” 、“ 3” 和 “ 8” 之中,所以它的支持個數為 3 ,是一個層次 2 的大型 1- 項目集。

利用 Candidate_gen程序,從 L[2,1] 產生候選項目集 C2 = {{11**,12**}, {11**,21**}, {11**,22**}, {11**,41**}, {12**,21**}, {12**,22**}, {12**,41**}, {21**,22**}, {21**,41**}, {22**,41**}} ,

將支持個數小於 2 者刪除,最後得到 L[2,2] = {{11**,41**},{12**,21**},{12**,22**}} 。

從 L[2,2] 可以產生候選項目集 C3={{12**,21**,22**}} 。 因為 {12**,21**,22**} 的支持個數為 0 ,所以 L[2,3]= 。

Page 57: 第七章  網路資料庫之關連法則探勘

57

範例 7-6 (6)

在層次 2 的大型項目集

項目集 支持個數

{11**} 3

{12**} 5

{21**} 4

{22**} 3

{41**} 3

項目集 支持個數

{11**,41**} 2

{12**,21**} 3

{12**,22**} 2

L[2,1] L[2,2]

Page 58: 第七章  網路資料庫之關連法則探勘

58

範例 7-6 (7) 接下來考慮層次 3 ,假設層次 3 的最小支持個數為

3 。掃描交易資料庫 T[2] 之後,得到層次 3 的大型 1- 項目集 L[3,1] 。 利用 Candidate_gen程序,可以從 L[3,1] 產生候選項目集 C2={{111*,121*},{111*,211*},{111*,411*},{121*,211*},{121*,411*},{211*,411*}} 。

接著將支持個數小於 3 者刪除,最後得到 L[3,2] = {{121*,211*}} 。

從 L[3,2] 無法產生任何候選 3- 項目集,因此 L[3,3]= 。

Page 59: 第七章  網路資料庫之關連法則探勘

59

範例 7-6 (8)

在層次 3 的大型項目集

項目集 支持個數

{111*} 3

{121*} 3

{211*} 4

{411*} 3

項目集 支持個數

{121*,211*} 3

L[3,1]

L[3,2]

Page 60: 第七章  網路資料庫之關連法則探勘

60

範例 7-6 (9) 接下來考慮層次 4 ,假設層次 4 的最小支持個數為

2 。掃描交易資料庫 T[2] 之後,得到層次 4 的大型 1- 項目集 L[4,1] 。 利用 Candidate_gen程序,可以從 L[4,1] 產生候選項目集 C2,然後將支持個數小於 2 者刪除,最後得到 L[4,2] ={{1212,2112}} 。

從 L[4,2] 無法產生任何候選 3- 項目集,因此 L[4,3]= 。

Page 61: 第七章  網路資料庫之關連法則探勘

61

範例 7-6 (10)

在層次 4 的大型項目集

項目集 支持個數

{1212} 2

{2112} 3

{4111} 3

項目集 支持個數

{1212,2112} 2

L[4,1] L[4,2]

Page 62: 第七章  網路資料庫之關連法則探勘

62

範例 7-7 (1) 接續範例 7-6 ,假設層次 1 、層次 2 、層次 3 和層

次 4 的最小信心水準分別為 0.8 、 0.7 、 0.7 和 0.6 ,則各層次可能產生的關連法則如下:

層次 1 {1***} {2***} 信心水準 =7/8=0.875 {2***} {1***} 信心水準 =7/7=1 {1***} {4***} 信心水準 =4/8=0.5 {4***} {1***} 信心水準 =4/4=1

其中第 1 、第 2 和第 4 條關連法則皆符合條件。

Page 63: 第七章  網路資料庫之關連法則探勘

63

範例 7-7 (2)

層次 2 {11**} {41**} 信心水準 =2/3=0.67 {41**} {11**} 信心水準 =2/3=0.67 {12**} {21**} 信心水準 =3/5=0.6 {21**} {12**} 信心水準 =3/4=0.75 {12**} {22**} 信心水準 =2/5=0.4 {22**} {12**} 信心水準 =2/3=0.67

其中只有第 4 條關連法則符合條件。

Page 64: 第七章  網路資料庫之關連法則探勘

64

範例 7-7 (3)

層次 3 {121*} {211*} 信心水準 =3/3=1 {211*} {121*} 信心水準 =3/4=0.75

第 1 和第 2 條關連法則皆符合條件。 層次 4

{1212} {2112} 信心水準 =2/2=1 {2112} {1212} 信心水準 =2/3=0.67

第 1 和第 2 條關連法則皆符合條件。

Page 65: 第七章  網路資料庫之關連法則探勘

65

範例 7-7 (4) 在商品項目的編碼中,假設第一個數字 “ 1” 代表 “個人電腦”

(如圖 7-5) ,“ 2” 代表 “螢幕” (如圖 7-14) ,“ 4” 代表 “印表機” (如圖 7-15) 。將符合條件的關連法則根據編碼的方式還原如下:

“個人電腦” “螢幕” 信心水準 =0.875 “螢幕” “個人電腦” 信心水準 =1 “印表機” “個人電腦” 信心水準 =1 “CRT 螢幕” “攜帶型電腦” 信心水準 =0.75 “筆記型電腦” “ 17 吋 CRT 螢幕” 信心水準 = 1 “17 吋 CRT 螢幕” “筆記型電腦” 信心水準 = 0.75 “IBM 筆記型電腦” “宏碁 17 吋 CRT 螢幕” 信心水準 = 1 “ 宏碁 17 吋 CRT 螢幕” “ IBM 筆記型電腦” 信心水準 = 0.67

Page 66: 第七章  網路資料庫之關連法則探勘

66

內容概要 簡介 關連法則探勘 (Association Rule Mining) 多層次關連法則探勘 (Multilevel Associatio

n Rule Mining) 數量化關連法則探勘 (Quantitative Associat

ion Rule Mining) 關連分析 (Correlation Analysis) 總結

Page 67: 第七章  網路資料庫之關連法則探勘

67

簡介 (1) 物品與購買數量這層關係對於行銷策略的決定有

重要的影響。 例如,“ 40% 的顧客如果購買一個碳粉匣,也會購買三包報表紙”。我們稱這種法則為 “數量化關連法則” (quantitative association rule) 。

數量化關連法則有助於決策者制定出更有效益的行銷策略。 例如,當考慮 “碳粉匣” 的促銷策略時,就可以根據 探勘結果的資訊,提出類似 “買一個碳粉匣送兩包報表紙” 的促銷方案。

Page 68: 第七章  網路資料庫之關連法則探勘

68

簡介 (2)

同時考慮 “物品” 與 “購買數量” 時,會造成滿足最小支持度的項目集變得更少,甚至可能無法產生任何滿足最小支持度的關連法則。

考慮將 “數量” 分割成許多區間 (intervals) ,提高每一個項目在其所屬區間的支持度,以發掘出更多潛在有用的關連法則。

Page 69: 第七章  網路資料庫之關連法則探勘

69

相關定義 假設在資料庫中每一筆交易是由一個交易編

號以及一組 q_ 項目 (q_item) 所組成的。 q_ 項目的形式為 <i,q> ,它代表項目 i 以及被購買的數量 q 。

一組 q_ 項目所組成的集合稱之為 q_ 項目集 (q_itemset) 。

一個 q_ 項目 x 的支持度被定義為“包含 q_項目 x 的交易總數佔全部交易總數的比例”。

Page 70: 第七章  網路資料庫之關連法則探勘

70

分割的目的 具有相同項目的 q_ 項目可能會有不同的數

量值,因此 q_ 項目的支持度可能非常小。 如果大部分 q_ 項目的支持度都非常小,那

麼能夠發掘出來的數量化關連法則就更少了。 我們可以將每一個項目所有可能的 “數量”

分割成許多區間,以提高每一個項目在其所屬區間的支持度。

Page 71: 第七章  網路資料庫之關連法則探勘

71

分割演算法 (1) 假設在資料庫中具有相同項目 i 的 q_ 項目所

成的集合為 ,其中, , , ... 和 分別代表

包含 , , ... 和 的交易個數。 使用一種分割方式將 “數量” 分割成許多區間之後,再將所產生的區間對應到連續的整數。

當分割的程序執行完之後,資料庫中每一筆交易所包含的 q_ 項目之數量值將被轉換成它所屬區間的對應整數值。

}{ 21 ni,q,...,i,q,i,q

nqqq ...21 1c 2c nc

1, qi 2, qi nqi,

Page 72: 第七章  網路資料庫之關連法則探勘

72

分割演算法 (2) 假設全部的交易總數為 T,最小支持度為 s; 步驟 1 :尋找一個最小的整數 ,滿足 ,產生 區間 ; 步驟 2 :尋找下一個最小的整數 ,滿足 並且產生區間 ;

步驟 3 :依此類推下去; 步驟 4 :若 ,最後產生的區間 和

合併成區間 ;

1k sT

ck

mm

1

1

]..[11 kqq

)( 122 kkk sT

ck

kmm

2

1 1

]..[21 )1( kk qq

]..[ )1( )1( jj kk qq

sT

cn

kmm

j

1

]..[ )1( nk qqj

]..[ )1( )1( nk qqj

Page 73: 第七章  網路資料庫之關連法則探勘

73

範例 7-8 令 {<i,1>,<i,2>,<i,3>,<i,4>,<i,5>} 是資料庫中

具有相同項目 i 的 q_ 項目所成的集合,且包含各個 q_ 項目的交易個數分別為 50 、 30 、100 、 20 和 40 。假設交易總數為 500 ,且最小支持度為 10% 。 使用分割演算法,可以得到三個區間 [1]、 [2..3]和 [4..5],分別被對應到整數 1、 2和 3。

以 q_項目 <i,3>為例,它將被轉換成一般化的形式 <i,2> (亦即 <i,[2..3]>)。

Page 74: 第七章  網路資料庫之關連法則探勘

74

相關定義 (1) 假設 X 是一個 q_ 項目集,若所有在 X 中的 q_ 項

目皆被包含在交易 t 之中,則稱交易 t 支持 q_ 項目集 X 。

一個 q_ 項目集 X 的支持度被定義為 “支持 q_ 項目集 X 的交易個數佔全部交易總數的比例”。

若 q_ 項目集的支持度大於或等於最小支持度,則稱它為大型 q_ 項目集 (large q_itemset) 。

大小為 k 的 q_ 項目集則稱之為 k-q_ 項目集 (k-q_itemset) 。

Page 75: 第七章  網路資料庫之關連法則探勘

75

相關定義 (2)

數量化關連法則的形式為 “ X Y [ 支持度 ,

信心水準 ]” ,其中 X 和 Y 代表 q_ 項目集。

假設 Z 為大型 q_ 項目集,所有形式為 XY ,滿足 , 以及信心水準大於或等於最小信心水準的數量化關連法則都應該被產生。

ZYX YX

Page 76: 第七章  網路資料庫之關連法則探勘

76

數量化關連法則探勘的主要步驟 數量化關連法則探勘的問題主要包含下列兩

個步驟: 步驟一:對購買物品的數量做分割,將數量轉換成所屬區間對應的整數 ( 使用分割演算法 )。

步驟二:找出所有大型 q_ 項目集 ( 使用 LqiTid(large q_itemset generation using Tids)演算法 )。

Page 77: 第七章  網路資料庫之關連法則探勘

77

表 7-6 :網路交易資料庫 DB交易編號 q_ 項目集

1 <B,1> <C,2> <F,1> <G,3>2 <C,1> <D,1> <G,1>3 <C,1> <F,3> <G,1>4 <A,2> <B,1> <C,3> <G,2>

5 <A,1> <B,1>6 <B,3> <C,2>7 <B,3> <C,2> <D,1> <E,5> <F,1>

8 <B,1> <C,2> <G,3>9 <B,4> <F,2>10 <A,2> <B,2> <C,3> <F,1>11 <B,2> <C,3> <F,1>12 <A,1> <B,2> <G,2>13 <B,2> <C,2> <G,4>14 <A,1> <B,2> <C,3> <F,3> <G,5>

15 <A,3> <C,4> <G,3>

Page 78: 第七章  網路資料庫之關連法則探勘

78

使用分割演算法對各物品數量進行分割

對表 7-6 的資料庫 DB 進行物品數量的分割。假設最小支持個數為 3 。 首先使用分割演算法對各物品數量進行分割,如圖 7-17 。

接著根據所對應的整數值,將 DB轉換成資料庫DB’ ,如表 7-7 所示。

Page 79: 第七章  網路資料庫之關連法則探勘

79

圖 7-17 :物品數量所對應的整數

數量 對應的整數

1 1

2..3 2

數量 對應的整數

1 1

2 2

3..4 3

數量 對應的整數

1..2 1

3..4 2

數量

對應的整數

1 1

數量

對應的整數

5 1

數量

對應的整數

1 1

2..3 2

數量 對應的整數

1..2 1

3..5 2

項目 A 項目 B 項目 C

項目 D 項目 E 項目 F 項目 G

Page 80: 第七章  網路資料庫之關連法則探勘

80

表 7-7 :轉換後的資料庫 DB’交易編號 q_ 項目集

1 <B,1> <C,1> <F,1> <G,2>

2 <C,1> <D,1> <G,1>

3 <C,1> <F,2> <G,1>

4 <A,2> <B,1> <C,2> <G,1>

5 <A,1> <B,1>

6 <B,3> <C,1>

7 <B,3> <C,1> <D,1> <E,1> <F,1>

8 <B,1> <C,1> <G,2>

9 <B,3> <F,2>

10 <A,2> <B,2> <C,2> <F,1>

11 <B,2> <C,2> <F,1>

12 <A,1> <B,2> <G,1>

13 <B,2> <C,1> <G,2>

14 <A,1> <B,2> <C,2> <F,2> <G,2>

15 <A,2> <C,2> <G,2>

Page 81: 第七章  網路資料庫之關連法則探勘

81

大型 q_ 項目集的產生方式 (1) 令 TS({x}) 是所有包含 q_ 項目 x 的交易之交易編號

(Tids) 所成的集合。 在資料庫 DB’ 中, TS ({<A,1>}) = {5,12,14} 且 TS ({<B,1>}) = {1,4,5,8} 。 TS ({x1,x2}) 代表所有包含 q_ 項目 x1和 x2的交易之交易編號所成的集合,它的值可以藉由 TS ({x1}) 和 TS ({x2}) 的交集得到:

TS ({x1,x2}) = TS ({x1}) TS ({x2}) 例如, TS ({<A,1>,<B,1>}) = TS ({<A,1>}) TS ({<B,1>})

={5}

Page 82: 第七章  網路資料庫之關連法則探勘

82

大型 q_ 項目集的產生方式 (2)

假設 x1,x2,...,xk 為 q_ 項目。 TS ({x1,x2,...,xk}) 是包含 q_ 項目集 {x1,x2,...,xk}的交易之交易編號所成的集合。

SP ({x1,x2,...,xk}) 代表在 TS ({x1,x2,...,xk}) 中的交易編號之個數,定義如下 :

SP ({x1,x2,...,xk}) = Card (TS ({x1,x2,...,xk})) =

Card (TS ({x1}) TS ({x2}) … TS ({xk}))

其中, Card(S) 表示集合 S 中元素的個數。

Page 83: 第七章  網路資料庫之關連法則探勘

83

表 7-8 : q_ 項目的相關資訊 掃描表 7-7 的交易資料庫 DB’ 之後,可以得到各個 q_ 項目的相關資料

。q_ 項目 TS SP

<A,1> {5,12,14} 3

<A,2> {4,10,15} 3

<B,1> {1,4,5,8} 4

<B,2> {10,11,12,13,14} 5

<B,3> {6,7,9} 3

<C,1> {1,2,3,6,7,8,13} 7

<C,2> {4,10,11,14,15} 5

<D,1> {2,7} 2

<E,1> {7} 1

<F,1> {1,7,10,11} 4

<F,2> {3,9,14} 3

<G,1> {2,3,4,12} 4

<G,2> {1,8,13,14,15} 5

Page 84: 第七章  網路資料庫之關連法則探勘

84

大型 q_ 項目集的產生方式 (3) LqiTid 演算法根據下列三點推論來發掘所有大型 q

_ 項目集。 若 SP({x1,x2,...,xk}) 大於或等於最小支持個數,則 {x1,x

2,...,xk} 是一個大型 k-q_ 項目集。 若 q_ 項目集 {x1,x2,...,xk} 是一個大型 k-q_ 項目集,則它的任何子集合也必定是大型 q_ 項目集。

使用類似 Candidate_gen程序的作法,利用已經產生的大型 (k-1)-q_ 項目集來產生候選 k-q_ 項目集 (candidate k-q_itemset) ,進而發掘出所有大型 k-q_ 項目集。

Page 85: 第七章  網路資料庫之關連法則探勘

85

大型 q_ 項目集的產生方式 (4) x[1] , x[2] ,…, x[k-1] 表示在 (k-1)-q_ 項目集 x 中的 k-1 個 q_ 項目。 Lk代表所有大型 k-q_ 項目集的集合。 令 item(x[j]) 代表 q_ 項目 x[j] 中的項目。對於 q_ 項目集 {x[1],x[2],...,x

[k-1]} ,假設 item(x[1]) <item(x[2]) < … <item(x[k-1]) 。 候選 k-q_ 項目集 Ck (k2) 的定義如下: Ck = {{xp[1],xp[2],…,xp[k-1],xq[k-1]}|xpLk-1, xqLk-1, xp[1]=xq[1] , xp[2]=xq[2] , …, xp[k-2]=xq[k-2] 且 item(xp[k-1]) <item(xq[k-1])} TS({xp[1],xp[2],…,xp[k-1],xq[k-1]}) =TS(xp) TS(xq) Lk = {x|xCk且 SP (x) 最小支持個數 }

Page 86: 第七章  網路資料庫之關連法則探勘

86

LqiTid 演算法的主要步驟 LqiTid 演算法包含下列三個階段 :

資訊擷取階段:掃描交易資料庫一次,對於每一個 q_ 項目計算它的 TS 和 SP值。

大型 1-q_ 項目集產生階段: q_ 項目之 SP值大於或等於最小支持個數者,即是大型 1-q_ 項目集。

大型 k-q_ 項目集產生階段:根據候選 k-q_ 項目集的定義產生 Ck,再利用 TS 和 SP 所記錄的資訊來判斷是否為大型 k-q_ 項目集。

Page 87: 第七章  網路資料庫之關連法則探勘

87

LqiTid 演算法 步驟 1 :掃描交易資料庫一次。對於每一個 q_ 項目 x ,計算 TS({x}) 和 SP({x}) ; /* 資訊擷取階段 */

步驟 2 : L1={x | x 是 q_ 項目且 SP({x}) 最小支持個數 } ; /* 大型 1-q_ 項目集產生階段 */

步驟 3 : for (k=2; |Lk-1| > 1; k++) do begin /* 大型 k-q_ 項目集產生階段 */

步驟 4 : 使用 Lk-1產生候選 k-q_ 項目集 Ck;

步驟 5 : for each 候選 q_ 項目集 c Ck do begin

/* 假設 c 是從大型 (k-1)-q_ 項目集 S1 和 S2產生出來的 */

步驟 6 : TS(c)=TS(S1)TS(S2) ; SP(c)=Card(TS(c)) ; 步驟 7 : If SP(c) 最小支持個數 then

步驟 8 : Lk = Lk {c} ; 步驟 9 : end 步驟 10 : end

Page 88: 第七章  網路資料庫之關連法則探勘

88

範例 7-10 假設最小支持個數為 2 。根據表 7-8 找出所有大型 1-

q_ 項目集,如表 7-9 所示。 在大型 2-q_ 項目集產生階段,使用表 7-9 的資訊產生

候選 q_ 項目集 C2,並且決定其是否為大型 2-q_ 項目集。表 7-10 顯示所有大型 2-q_ 項目集的相關資訊。

在大型 3-q_ 項目集產生階段,使用表 7-10 的資訊產生候選 q_ 項目集 C3,並且決定其是否為大型 3-q_ 項目集。表 7-11 顯示所有大型 3-q_ 項目集的相關資訊。

因為 C4= , L4= ,所以結束大型項目集的產生程序。

Page 89: 第七章  網路資料庫之關連法則探勘

89

表 7-9 :大型 1-q_項目集 大型 1-q_ 項目集 TS SP

{<A,1>} {5,12,14} 3

{<A,2>} {4,10,15} 3

{<B,1>} {1,4,5,8} 4

{<B,2>} {10,11,12,13,14} 5

{<B,3>} {6,7,9} 3

{<C,1>} {1,2,3,6,7,8,13} 7

{<C,2>} {4,10,11,14,15} 5

{<D,1>} {2,7} 2

{<F,1>} {1,7,10,11} 4

{<F,2>} {3,9,14} 3

{<G,1>} {2,3,4,12} 4

{<G,2>} {1,8,13,14,15} 5

Page 90: 第七章  網路資料庫之關連法則探勘

90

表 7-10 :大型 2-q_項目集大型 2-q_ 項目集 TS SP

{<A,1>,<B,2>} {12,14} 2

{<A,2>,<C,2>} {4,10,15} 3

{<B,1>,<C,1>} {1,8} 2

{<B,1>,<G,2>} {1,8} 2

{<B,2>,<C,2>} {10,11,14} 3

{<B,2>,<F,1>} {10,11} 2

{<B,2>,<G,2>} {13,14} 2

{<B,3>,<C,1>} {6,7} 2

{<C,1>,<D,1>} {2,7} 2

{<C,1>,<F,1>} {1,7} 2

{<C,1>,<G,1>} {2,3} 2

{<C,1>,<G,2>} {1,8,13} 3

{<C,2>,<F,1>} {10,11} 2

{<C,2>,<G,2>} {14,15} 2

Page 91: 第七章  網路資料庫之關連法則探勘

91

表 7-11 :大型 3-q_項目集大型 3-q_ 項目集 TS SP

{<B,2>,<C,2>,<F,1>} {10,11} 2

{<B,1>,<C,1>,<G,2>} {1,8} 2

Page 92: 第七章  網路資料庫之關連法則探勘

92

範例 7-11 接續範例 7-10 ,假設最小信心水準為 0.65 ,使用圖 7-17

的對應資訊可以產生的數量化關連法則如下:

{<A,1>} {<B,2>} 信心水準 =2/3=0.67 {<A,[2..3]>} {<C,[3..4]>} 信心水準 =3/3=1 {<B,[3..4]>} {C,[1..2]} 信心水準 =2/3=0.67 {<D,1>} {<C,[1..2]>} 信心水準 =2/2=1 {<B,2>,<C,[3..4]>} {<F,1>} 信心水準 =2/3=0.67 {<B,2>,<F,1>} {<C,[3..4]>} 信心水準 =2/2=1 {<C,[3..4]>,<F,1>} {<B,2>} 信心水準 =2/2=1 {<B,1>,<C,[1..2]>} {<G,[3..5]>} 信心水準 =2/2=1 {<B,1>,<G,[3..5]>} {<C,[1..2]>} 信心水準 =2/2=1 {<C,[1..2]>,<G,[3..5]>} {<B,1>} 信心水準 =2/3=0.67

Page 93: 第七章  網路資料庫之關連法則探勘

93

內容概要 簡介 關連法則探勘 (Association Rule Mining) 多層次關連法則探勘 (Multilevel Associatio

n Rule Mining) 數量化關連法則探勘 (Quantitative Associat

ion Rule Mining) 關連分析 (Correlation Analysis) 總結

Page 94: 第七章  網路資料庫之關連法則探勘

94

關連分析 (1) 滿足最小支持度與最小信心水準的關連法則不一

定保證可以提供具體有用的資訊。 假設在包含 10000 筆交易記錄的資料庫中,有 6000筆交易包含碳粉匣, 7500 筆交易包含報表紙,並且有4000 筆交易同時包含碳粉匣和報表紙。假設最小支持度為 30% ,最小信心水準為 60% 。下列的關連法則會產生誤導的作用:

碳粉匣報表紙 [ 支持度 =40%, 信心水準 =67%] 購買報表紙的機率為 75% ,大於信心水準 67% ,但是購買碳粉匣反而降低購買報表紙的可能性。

Page 95: 第七章  網路資料庫之關連法則探勘

95

關連分析 (2)

若 P(AB) = P(A) P(B) ,則表示項目集 A 的出現和項目集 B 的出現無關 (independent) ,否則表示項目集 A 和項目集 B 是有關的 (dependent and correlated) 。

項目集 A 和項目集 B 的相關程度 (correlation) 之計算方式如下:

)()(

)(, BPAP

BAPcorr BA

Page 96: 第七章  網路資料庫之關連法則探勘

96

關連分析 (3) 若 correlation < 1 ,表示 A 和 B 是逆相關 (nega

tively correlated) ,亦即 A 的出現會造成 B 出現的機率降低。

若 correlation > 1 ,表示 A 和 B 是正相關 (positively correlated) ,亦即 A 的出現會造成 B 出現的機率增高。

若 correlation = 1 ,表示 A 和 B 是無關的。 當相關程度大於 1 時,表示使用法則的效果會比

較顯著。但是當相關程度小於 1 時,則表示使用法則的效果可能不佳。

Page 97: 第七章  網路資料庫之關連法則探勘

97

內容概要 簡介 關連法則探勘 (Association Rule Mining) 多層次關連法則探勘 (Multilevel Associatio

n Rule Mining) 數量化關連法則探勘 (Quantitative Associat

ion Rule Mining) 關連分析 (Correlation Analysis) 總結

Page 98: 第七章  網路資料庫之關連法則探勘

98

總結 本章內容包括:

基本的關連法則探勘: Apriori演算法 多層次關連法則探勘:使用概念階層的觀念來進行多層次關連法則的探勘

數量化關連法則探勘:考慮物品被購買的數量,進一步發掘物品與購買數量之間的關係

關連分析 相關的研究包括:

使用雜湊 (hash) 或快取 (cache) 等觀念來改進關連法則探勘的效能

考慮顧客屬性和購買物品之間的關係 如何維護所發掘出來的關連法則