[筆記] 07.DEC.11 Data Mining 上課筆記


今天的上課重點是

授課教授:交通大學 交通運輸研究所 陳穆臻 教授
參考書籍:Introduction to Data Mining, Tan, P. T., Steinbach, M., Kumar,. Vipin


1. 關聯分析(Association Analysis)
2. 關連規則(Association Rule)
. 關連規則的探勘(Mining Association Rule)
. 關連規則的簡化(Reducing Association Rule)

=========================
1.  分析(Association Analysis)


分析,在資料探勘上也是相當重要的一個主題,因為提到資料探勘大家最愛提到的例子:

「尿布與啤酒」這個從全球最大零售商 Walmart百貨來的經典案例。

就是Walmart發現,在同一個購物籃結帳時「啤酒」經常跟「尿布」伴隨在一起,

換句話說就是「啤酒」與「尿布」經常「關連」在一起,

因此,關連分析經常也叫做「購物籃分析」,也常拿交易記錄做範例。


上述,是一個五筆交易的紀錄,購物籃的特色就是,只有兩個欄位

一是交易編號,另一個就是買了什麼,所以第二個欄位有多少東西是不一定的。

而我們可以從這五筆交易資料中發現一些規則(Rule),比方說:

{Diaper}→{Beer}
{Milk,Diaper}→{Eggs,Coke}

從上述會發現一件事:購物籃 沒有因果關係,只有關連而已!

========接著進入比較數學的部分了!!(有趣!)=========

既然是購物籃,那一定可以探出一些經常被購買,

或一起購買的項目,這類的項目我們稱為「項目集(Itemset)

也會聽到 K-Itemset,是指有K個項目包在一起,如 1-Itemset、2-Itemset。

接著我們會好奇這個項目集總共在交易記錄中出現了幾次?

這個稱作 「支持數 Support count (σ)」,比方說 σ {Bread, Milk}的支持數 = 3

再來,我們又會問,這些項目集總共占了總交易次數的多少呢?

即為支持數 ÷ 總交易數 = 支持度(Support),比方說 S( {Bread, Milk}) = 3/5 = 0.6

最後,這些經常被購買的項目組,會給個名稱叫做「強物項(Frequent Itemset)

=====================================

2. 關連規則(Association Rule)

緊接著,介紹什麼叫做「關連規則(Association Rule)」

所謂關連的意思是 X → Y ,即為 X 關聯到 Y ,比方說:

{Milk, Diaper} → {Bread},即為 買牛奶跟尿布,會關聯到買麵包

既然是規則,我們就要量化這個規則的好壞程度

我們採用的方法是計算剛剛提到的支持度(Support)

  S = σ {Milk, Diaper, Bread} / 全部的交易數 = 2 / 5 = 0.4

這邊我們看到,計算支持度必須同時把 X 與 Y 放在一起看

另外支持度的意思,牛奶、尿布、麵包三者同時出現時,佔據所有交易比數的多少。

另外,我們還會計算他的信賴度(Confidence)

C =  σ{Milk, Diaper, Bread} /  σ{Milk, Diaper} = 2 / 3 = 0.67

所以信賴度的意思是

出現牛奶還有尿布的次數,與牛奶、尿布、麵包同時出現的次數是多少的比值。

=====================================
. 關連規則的探勘(Mining Association Rule)


今天既然我們會從交易記錄裡頭看一些規則了,那下面這個課本的例子就相當不錯

以下是{Milk, Diaper, Beer}的排列組合

{Milk,Diaper} → {Beer} (s=0.4, c=0.67)
{Milk,Beer}→ {Diaper} (s=0.4, c=1.0)
{Diaper,Beer}→ {Milk} (s=0.4, c=0.67)
{Beer} → {Milk,Diaper} (s=0.4, c=0.67)
{Diaper} → {Milk,Beer} (s=0.4, c=0.5)
{Milk} → {Diaper,Beer} (s=0.4, c=0.5)

從中可以看到,大家的支持度都是一樣啦!但大家卻有著不同的信賴度?!

這邊,導出了一個很重要的觀念「 What is Frequent Itemset ?

強物項就是規則的 支持度Support  >= 我們設定的最小支持度 minsup


再來,「How to Generation Rule?

一個好的規則,首先要符合他至少是個強物項,且!必須要有夠高的信賴度(Confidence)


符合以上條件,才能算是一個好的規則!

但是!!!!!強物項的產生計算過程,是相當繁雜的

比方說 我只有 ABCDE五項產品,經過排列組合,就會產生 2的五次方 種組合。

這更何況是賣場上成千上萬總商品,不就會算到死?!

=====================================

. 關連規則的簡化(Reducing Association Rule)

因此,我們必須透過一些機率的概念,產生可以依靠策略,來減少我們計算的複雜程度。

1. 減少排列組合的次數

2. 減少交易的筆數

3. 採用更好的資料儲存架構

這邊僅介紹,怎麼減少排列組合的次數,其餘方法有興趣可在找尋相關書籍

關於減少排列組合的次數,首先要了解「先驗法則(Apriori principle)」:


即 X對於所有的Y,X都是Y的父集合,則 X的支持度 一定會大於等於Y

也就是說假設ABC三項產品,{A}的支持度一定會大於等於{A,B}

而{A, B}的支持度也一定會大於等於{A,B,C}

如此一來,我們就可以大幅減少運算的次數,如圖所示:

由於{A,B}這個組合不是強物項,因此只要跟AB有關的組合都不再是強物項的組合。

而上面的詳細步驟如下:

首先:假設我們的Minimum Support = 3,也就是支持數要超過三次,才算強物項

第二步:先從 K-itemset = 1 開始

這樣我們就會看到 Coke只出現兩次 , Eggs只出現一次,因次這兩個不是我們的強物項

第三步:換 K-itemset = 2

這邊可以看到,跟Coke與Eggs有關的組合都被砍光光了,因此少了不少步驟

這步驟我們砍掉{麵包、啤酒},還有{牛奶、啤酒}這兩個選項

第四步:換 K-itemset = 3

因此最後我們發現,只剩下{麵包、牛奶、尿布}的選項是強物項

提醒

本站內容即日起將轉到另一站上轉跳~