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


今天的上課重點是

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


1. 關聯分析的有趣性評估(Interestingness Measure)
2. 關聯分析的屬性處理(Handling Categorical Attributes)
. 序列資料(Sequence Data)
. 序列資料的探勘(Sequence Data Mining)
5. 時間序列資料(Timing Sequence Data

=========================
1.  關聯分析的有趣性評估(Interestingness Measure)


常採用矩陣方式表達,評估關連分析規則的有趣程度,也就是相關性


用下面這例子解釋可以很清楚表達




買咖啡與買茶的關係矩陣,產生一條 Tea → Coffee 規則


檢視這條規則的買茶之後買咖啡的信賴度 P( Coffee | Tea ) = 15 / 20 = 0.75 看似相當高


但是 光買咖啡就有 P( Coffee )= 90 / 100 = 0.9 


0.75  <  0.9,表示負相關


所以,這麼高的信賴度,會誤導判斷,相關程度也必須被考慮


另外統計上也會採用增益(Lift)來解釋相關性,就是上面的算式相除




增益 > 1,表示正相關
增益=1,表示無關
增益 < 1,表示負相關


=========================
2. 關聯分析的屬性處理(Handling Categorical Attributes)


連續型屬性,在關聯分析上可以採用離散化


如:身高可以分成140~150,150~160,160~170…之類的


太過分散的屬性,則可合併層級


如:台灣的鄉鎮太多,可以分成「天龍國」與「天龍國以南」之類的


高度傾斜的屬性,需要下降資料的頻率


如:詐騙交易的出現比率是相當低的,所以可以多移除交易正當的資料


另外,也可以採用統計手法描述資料


購買=有 & 家住=天龍國 → 年齡: μ=24, σ=4


=========================
. 序列資料(Sequence Data)


序列資料跟關連分析不太一樣的地方是,序列資料是有順序的


如:


關聯分析是 買茶 & 買水 → 買咖啡,意思是買茶+買水時可能會買咖啡


而序列分析是 <{買茶, 買水}{買咖啡}>,意思是買茶+買水的顧客,下次則會買咖啡


而序列分析最重要的三個組成元素有


1.序列 Sequence:即為順序
2.元素組或者交易記錄 Element or Transaction:比方說某個時間跑去購物
3.事件或者項目 Event or Item:而跑去購物所買的東西有哪些


由圖比較好解釋:
而序列是許多元素組或交易記錄所組成的,其表示方式是由下圖所示

而元素組內容是由許多的事件或項目所組成的,其表示方式由下圖所示

換句話說:序列是許多元素組的集合,元素組是許多項目的集合


下圖為一個簡單的交易記錄,附上順序記錄,可以轉換到序列的順序軸上

=========================
. 序列資料的探勘(Sequence Data Mining)

序列資料的規則集,首先要先介紹什麼是序列資料的子集合

基本定義是有一個母集合S<a1,a2,a3...am>,其子集合為T<b1,b2,b3...bn>,其中 m>n

而b1包含在a1之中,b2也包含在a1之中,.....,bn也包含在am之中。

則我們可以說T為S的子集合

如下例子可以解釋

正例
母序列資料集 <{2,4}{3,5,6}{8}>
子序列資料集 <{2}{3,5}>

反例,因為{2}不包含在{3,4}裡面
母序列資料集 <{1,2}{3,4}>
子序列資料集 <{1}{2}>

正例
母序列資料集 <{2,4}{2,4}{2,5}>
子序列資料集 <{2}{4}>

接下來就可以介紹所謂的規則子集,凡是某集合是屬於母集合的子集,即可是規則

假設一組母集合為<{1,2}{3,4,5}{6}{7}{8,9}>
可能的規則集合就有
<{2}{4,5}{6}{7}>、<{3}{6}{7}>、<{7}{9}>

以下是規則集的例子,假設最小支持度(Minsup=50%)

這邊我們如過要找出所有A顧客<{1,2,4}{2,3}{5}>的規則集的話,有下列幾個
(備註:X-subsequences為包含X個事件或項目的序列集

包含1-subsequences:
<{1}>、<{2}>、<{4}>、<{3}>、<{5}>

包含2-subsequences:
<{1,2}>、<{2,4}>、<{1,4}>、<{2,3}><{1}{2}>、<{1}{3}>、<{1}{5}>、<{2}{2}>、<{2}{3}>
<{2}{5}>、<{4}{2}>、<{4}{3}>、<{4}{5}>、<{3}{5}>

包含3-subsequences:
<{1,2,4}><{1,2}{2}>、<{1,2}{3}>、<{1,2}{5}>、<{1,4}{2}>、<{1,4}{3}>、<{1,4}{5}>
<{2,4}{2}>、<{2,4}{3}>、<{2,4}{5}>、<{2,3}{5}>

可以看到,光是一個A顧客簡單的序列資料,就可以分出數量龐大的規則集

因此,也是必須靠先驗演算法(Apriori)來解決龐大計算的問題


三個項目的強物項集合,即為符合Minsup的項目有哪些

接著要怎麼配出四個項目的強物項呢?

操作方式口訣為「去頭去尾留中間,中間一樣就合併」,如同圖上顯示

<{1}{2,5}>去掉頭形成<2,5> 等於 <{2,5}{3}>去掉尾形成<2,5>

所以<{1}{2,5}>跟<{2,5}{3}>可以合併為<{1}{2,5}{3}>

 <{2,5}{3}>去掉頭形成<5,3> 等於  <{5}{3,4}>去掉尾形成<5,3>

所以<{2,5}{3}> <{5}{3,4}>可以合併為<{2,5}{3,4}>

已此類推!

=========================
5. 時間序列資料(Timing Sequence Data

上回介紹完了關連分析與序列分析,這回要更進一步探討序列分析中,加入時間維度

該如何對其做探勘動作?

此圖為 Xg = 2,Ng = 0,Ws = 1,Ms = 5 的圖型

首先,我們先介紹時間序列裡頭所注重的名詞解釋

Xg = Max-Gap 
第一個元素組的第一個被購買項目的時間與最後一個元素組的最後一個購買項目時間差

Ng = Min-Gap 
最後一個元素組的第一個被購買項目的時間第一個元素組的最後一個購買項目時間差

Ws = Window Size 如果Ws=1則表示同一個元素組的東西,Ws=2則可以把兩個元素組放在一起看

Ms = Maximum Span 是指整個序列中最早與最晚發生的兩個事件的時間差異

Ws可以用另一個案例解釋,假設
<{2}{1,3}{2,4}{5,6}{4,7}{8}{9}>是一個禮拜七天的交易紀錄

而Ws=1的時候就是只看一天的交易紀錄

而Ws=2的時候,就可以把兩天的資料當作一筆交易紀錄看

提醒

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