10 關聯性規則
王元俊
Wang Yuan-Jiun
教材
• R 語言資料分析:從機器學習、資料探勘、文 字探勘到巨量資料分析 [第二版] • 作者:李仁鐘、李秋緣 • 出版社:博碩文化股份有限公司 • 書號:MP31714 • 出版日期:2017 年 6 月 2 日 • 範例檔案下載經典案例:星期五、尿布與啤酒
• 零售業者運用巨量資料的經典案例是,美國零 售龍頭業者沃爾瑪 (Wal-Mart) 的資訊工程師在 分析結帳數據時發現,每到星期五晚上,尿布 和啤酒的銷售量有正向關聯性。 • 透過調查才知道,原來美國週五晚上,父親常 常幫家裡到超市買尿布,順便為週末球賽會購 買啤酒回家。後來沃爾瑪採取合購策略,固定 在每週五,啤酒和尿布擺設放在同一區域,意 外讓這兩項產品的銷售量提升 30%。關聯規則學習 (1)
• 關聯規則學習 (Association rule learning) 是一種 在大型資料庫中發現變數之間的有趣性關係的 方法。它的目的是利用一些有趣性的量度來識 別資料庫中發現的強規則。 • 關聯規則 {X Y} 在交易資料庫 D 中的 – 支持度 (Support) 是 D 中事務包含 {X ∩ Y} 的百分比,即機率 P(X ∩ Y)。 – 信賴度 (Confidence) 是包含 X 的事務中同時 包含 Y 的百分比,即條件機率 P(Y | X)。 – 如果同時滿足最小支持度門檻值和最小信賴 度門檻值,則認為關聯規則是有趣的。這些 門檻值由用戶或者專家設定。
關聯規則學習 (2)
• 支持度可用來判斷規則的有效性。 • 信賴度用來判斷發生的可能性。 • 一個強關聯規則,通常支持度和信賴度都高; 但反過來支持度和信賴度都高,卻不一定代表 此關聯性規則所指的事件彼此間就一定存在著 高相關性。 • 還需要檢查提升度 (Lift) 是否大於 1。 – 提升度 > 1:正向關係 – 提升度 = 1:沒有關係 – 提升度 < 1:負向關係關聯規則的簡單例子 (1)
• 範例來源:維基百科 – 顧客購買記錄的資料庫 D,包含 6 個交易 (Transaction)。 – 項目集合 I = {網球拍, 網球, 運動鞋, 羽毛球}。 TID 網球拍 網球 運動鞋 羽毛球 1 1 1 1 0 2 1 1 0 0 3 1 0 0 0 4 1 0 1 0 5 0 1 1 1 6 1 1 0 0關聯規則的簡單例子 (2)
– 考慮關聯規則:網球拍 網球 (X Y) – 交易1, 2, 3, 4, 6 包含網球拍 (X) – 交易 1, 2, 6 同時包含網球拍和網球 (X ∩ Y) – 支援度 = P(X ∩ Y) = 3 6 = 0.5 – 信賴度 = P(Y | X) = P(X ∩ Y)P(X) = 3/6 5/6 = 0.6 – 提升度 = P(X)P(X ∩ Y) × P(Y) = 3 6 5 6 × 4 6 = 0.9關聯規則演算法
• Apriori 演算法 – 逐層搜尋 (Level-wise Search) – 演算法參閱教材 149 頁 – 範例參閱下一頁 • Eclat 演算法– 深度優先 (Depth First Search) – 演算法範例參閱教材 150 頁