非監督學習-關聯規則-以尿布與啤酒為例

非監督學習-關聯規則-以尿布與啤酒為例

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


ML006 中,我們學會了如何把「人」分類。今天,我們要更進一步,學習如何找出「物」與「物」之間的隱藏連結。這就是 關聯規則 (Association Rules) 的領域。

最著名的案例莫過於 「尿布與啤酒」 —— 一個關於數據挖掘如何改寫貨架陳列邏輯的經典傳奇。


一、 資料集來源: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)
指標計算公式結果商業直覺
支持度3/103 / 100.3 (30%)這個組合在商場裡「夠常見」嗎?
置信度3/63 / 60.5 (50%)買了尿布的人,有「一半」會順便買啤酒。
提升度0.5/(4/10)0.5 / (4/10)1.25比起一般人,買尿布的人買啤酒的機率「提升了 1.25 倍」!

診斷結論:當 Lift > 1,代表這是一個具備推薦價值的「強關聯」;如果計算出來 Lift 只有 1 或小於 1,那這兩樣東西擺在一起只是浪費空間。


三、 案例背景:尿布與啤酒的診斷報告

我們模擬了超市 1,000 筆交易數據,並透過下圖進行診斷:

1. 關聯提升度熱力圖 (Lift Heatmap)

觀察下圖,顏色越深(紅)代表提升度越高。你可以一眼看到 (Diapers, Beer) 這一格的數值顯著高於其他組合。這代表「買尿布」這件事,極大地提升了「買啤酒」的機率。

Lift Heatmap

圖 A:商品關聯提升度熱力圖

2. 指標深度對比

在下圖中,我們可以看到一個有趣的現象:

  • 麵包 (Bread) 的置信度或許不低(因為很多人本來就會買麵包)。
  • 但只有 啤酒 (Beer)提升度 (Lift) 是一枝獨秀的。
  • 這告訴我們:雖然很多人買尿布也買麵包,但那只是巧合;唯有尿布與啤酒之間,存在著數據層面的「強拉力」。
Association Metrics

圖 B:以「尿布」為核心的關聯指標對比


四、 數據背後的行動指南:我們可以做什麼?

當數據告訴你「尿布與啤酒」有關聯時,身為零售經理,你不僅僅是知道了一個知識點,你應該啟動以下行動:

  1. 調整貨架佈局 (Cross-Selling)
    • 將這兩樣商品擺在對角線,強迫客人在行走過程中路過更多其他商品。
    • 或者直接擺在一起,提升客單價。
  2. 精準促銷包裝 (Bundling)
    • 設計「新手爸爸週五加油包」,將尿布與啤酒打包販售。
  3. 挖掘負相關 (Negative Association)
    • 如果某些商品 Lift < 1(例如:可樂與紅酒),代表它們互斥。不要浪費資源將它們做組合促銷。

四、 總結:從購籃中預見需求

  1. 直覺會騙人,提升度 (Lift) 不會:不要被高支持度給蒙蔽,真正的金礦藏在提升度高的驚喜組合中。
  2. 關聯不代表因果:數據告訴你它們常一起出現,但沒告訴你原因(這需要人類的觀察,如「新手爸爸」的故事)。
  3. 非監督學習的魔力:不需要預先標籤,數據會自己告訴你故事。

下一站,當數據維度高到連熱力圖都畫不進去時,我們該如何「化繁為簡」?我們將進入非監督學習的數學核心 —— PCA 數據瘦身術,這也是打造 Netflix 等級推薦系統的關鍵地基!