
—
非監督學習-關聯規則-以尿布與啤酒為例
為什麼尿布和啤酒會被擺在一起?這不是巧合,而是數據的旨意。本篇深入解析關聯規則的三大支柱:支持度、置信度與提升度,帶你從購籃數據中挖掘出反直覺的商業金礦。
WRITTEN BY

- Name
- Harry Chang
在 ML006 中,我們學會了如何把「人」分類。今天,我們要更進一步,學習如何找出「物」與「物」之間的隱藏連結。這就是 關聯規則 (Association Rules) 的領域。
最著名的案例莫過於 「尿布與啤酒」 —— 一個關於數據挖掘如何改寫貨架陳列邏輯的經典傳奇。
- 一、 資料集來源:Market Basket Synthetic Data
- 二、 核心指標:衡量關聯的三把尺
- 三、 案例背景:尿布與啤酒的診斷報告
- 四、 數據背後的行動指南:我們可以做什麼?
- 四、 總結:從購籃中預見需求
一、 資料集來源:Market Basket Synthetic Data
不同於之前的「表格型」資料,關聯規則處理的是 「交易式資料 (Transactional Data)」。我們模擬了某超市 1,000 筆真實的購物籃記錄。
資料特徵說明:
- 數據格式:每一行代表一個「購物籃 (Basket)」,內容是該次交易中所有購買的商品。
- 模擬商品清單:Milk (牛奶), Bread (麵包), Eggs (雞蛋), Coke (可樂), Diapers (尿布) 與 Beer (啤酒)。
- 數據特性:這是一種「稀疏數據 (Sparse Data)」。超市裡有上萬種商品,但每位客人的籃子裡通常只有幾樣。我們的任務就是從這些碎片化的清單中,找出統計學上的規律。
二、 核心指標:衡量關聯的三把尺
要科學地判斷兩樣東西「是否有關係」,我們不能只靠感覺,必須使用這三指標:
1. 支持度 (Support):這組組合常見嗎?
- 公式:(同時購買 A 和 B 的交易數) / (總交易數)
- 意義:代表這個規律的「普遍性」。如果一個組合在 1 萬筆交易中只出現 1 次,那它的參考價值就很低。
2. 置信度 (Confidence):買了 A 有多機率買 B?
- 公式:(同時購買 A 和 B 的交易數) / (購買 A 的交易數)
- 意義:代表規律的「可靠性」。買尿布的人中,有 70% 也買了啤酒,這就是強大的置信度。
3. 提升度 (Lift):這是「真的關聯」還是「巧合」? (最重要!)
- 公式:置信度 / B 的出現機率
- 意義:衡量 A 的出現對 B 的購買有多大的「促進作用」。
- Lift > 1:正相關(有推廣價值)。
- Lift = 1:互相獨立(純屬巧合)。
- Lift < 1:負相關(互斥)。
💡 手把手計算:以 10 筆交易為例
為了讓你更有感,我們假設商場今天只有 10 位顧客,數據如下:
- 6 人 買了「尿布」 (A)
- 4 人 買了「啤酒」 (B)
- 3 人 「同時買了尿布與啤酒」 (A+B)
| 指標 | 計算公式 | 結果 | 商業直覺 |
|---|---|---|---|
| 支持度 | 0.3 (30%) | 這個組合在商場裡「夠常見」嗎? | |
| 置信度 | 0.5 (50%) | 買了尿布的人,有「一半」會順便買啤酒。 | |
| 提升度 | 1.25 | 比起一般人,買尿布的人買啤酒的機率「提升了 1.25 倍」! |
診斷結論:當 Lift > 1,代表這是一個具備推薦價值的「強關聯」;如果計算出來 Lift 只有 1 或小於 1,那這兩樣東西擺在一起只是浪費空間。
三、 案例背景:尿布與啤酒的診斷報告
我們模擬了超市 1,000 筆交易數據,並透過下圖進行診斷:
1. 關聯提升度熱力圖 (Lift Heatmap)
觀察下圖,顏色越深(紅)代表提升度越高。你可以一眼看到 (Diapers, Beer) 這一格的數值顯著高於其他組合。這代表「買尿布」這件事,極大地提升了「買啤酒」的機率。
圖 A:商品關聯提升度熱力圖
2. 指標深度對比
在下圖中,我們可以看到一個有趣的現象:
- 麵包 (Bread) 的置信度或許不低(因為很多人本來就會買麵包)。
- 但只有 啤酒 (Beer) 的 提升度 (Lift) 是一枝獨秀的。
- 這告訴我們:雖然很多人買尿布也買麵包,但那只是巧合;唯有尿布與啤酒之間,存在著數據層面的「強拉力」。
圖 B:以「尿布」為核心的關聯指標對比
四、 數據背後的行動指南:我們可以做什麼?
當數據告訴你「尿布與啤酒」有關聯時,身為零售經理,你不僅僅是知道了一個知識點,你應該啟動以下行動:
- 調整貨架佈局 (Cross-Selling):
- 將這兩樣商品擺在對角線,強迫客人在行走過程中路過更多其他商品。
- 或者直接擺在一起,提升客單價。
- 精準促銷包裝 (Bundling):
- 設計「新手爸爸週五加油包」,將尿布與啤酒打包販售。
- 挖掘負相關 (Negative Association):
- 如果某些商品 Lift < 1(例如:可樂與紅酒),代表它們互斥。不要浪費資源將它們做組合促銷。
四、 總結:從購籃中預見需求
- 直覺會騙人,提升度 (Lift) 不會:不要被高支持度給蒙蔽,真正的金礦藏在提升度高的驚喜組合中。
- 關聯不代表因果:數據告訴你它們常一起出現,但沒告訴你原因(這需要人類的觀察,如「新手爸爸」的故事)。
- 非監督學習的魔力:不需要預先標籤,數據會自己告訴你故事。
下一站,當數據維度高到連熱力圖都畫不進去時,我們該如何「化繁為簡」?我們將進入非監督學習的數學核心 —— PCA 數據瘦身術,這也是打造 Netflix 等級推薦系統的關鍵地基!