關聯規則探勘是一種從大量交易資料中發現專案之間隱藏關係的技術,常用於購物籃分析和推薦系統。透過分析交易資料,我們可以找出哪些商品經常一起購買,例如購買手機紅色面板的顧客也傾向購買白色面板。這個過程涉及到尋找頻繁項集,也就是滿足最小支援度的專案組合。最小支援度是一個預設閾值,用於過濾掉不常出現的專案組合。除了支援度之外,信心度也是評估關聯規則的重要指標,它衡量規則的可靠性。提升比率則進一步評估規則的強度,它反映了專案之間的關聯程度是否高於預期。這些概念和技術可以幫助企業更好地理解顧客購買行為,並制定更有效的行銷策略。

關聯規則與頻繁項集

在購買手機面板的例子中,我們可以建立一種規則,例如「如果紅色,則白色」,意指如果購買紅色面板,則也會購買白色面板。在這裡,先行詞(antecedent)是紅色,後行詞(consequent)是白色。另一個可能的規則是「如果紅色和白色,則綠色」,其中先行詞包含專案集{紅色,白色》,後行詞是{綠色}。

關聯規則的第一步是生成所有可能的規則,這些規則可能指出專案之間的關聯。理想情況下,我們可能想要檢視資料函式庫中所有可能的專案組合,其中資料函式庫包含p個不同的專案(在手機面板例子中,p = 6)。這意味著在交易資料函式庫中找到所有單個專案、專案對、專案三元組等的組合。然而,生成所有這些組合需要很長的計算時間,並且隨著p的增大而呈指數級增長。一個實際的解決方案是隻考慮在資料函式庫中出現頻率較高的組合,這些被稱為頻繁項集。

確定什麼構成頻繁項集與支援的概念相關。規則的支援簡單地是包含先行詞和後行詞專案集的交易數。它被稱為支援,因為它衡量資料支援規則有效性的程度。支援有時被表示為資料函式庫中總記錄數的百分比。例如,在手機面板例子中,專案集{紅色,白色}的支援是4(100 × 4/10 = 40%)。

因此,什麼構成頻繁項集的定義是一個支援超過選定最小支援的項集,最小支援由使用者決定。這使我們能夠根據實際需求篩選出最有意義的關聯規則,並減少計算複雜度。

內容解密:

上述內容解釋了關聯規則和頻繁項集的基本概念,包括如何根據支援度篩選專案集,以及如何根據最小支援度定義頻繁項集。這些概念在資料探勘和商業智慧領域中非常重要,因為它們能夠幫助企業發現隱藏在交易資料中的有價值的模式和關聯。

  flowchart TD
    A[交易資料] --> B[生成專案組合]
    B --> C[篩選頻繁項集]
    C --> D[計算支援度]
    D --> E[生成關聯規則]

圖表翻譯:

此圖表展示了從交易資料到生成關聯規則的過程。首先,我們從交易資料中生成所有可能的專案組合。接著,根據最小支援度篩選出頻繁項集。然後,計算每個項集的支援度。最後,根據支援度和最小支援度生成關聯規則。這個過程幫助我們發現隱藏在資料中的有價值的模式和關聯。

關聯規則與協同過濾

在資料探勘中,關聯規則是一種重要的技術,用於發現資料中不同專案之間的關聯性。這種技術可以用於各種領域,例如購物籃分析、推薦系統等。

關聯規則的生成

給定一組專案,關聯規則的生成涉及到找出所有可能的專案組合,並計算每個組合的支援度和信心度。支援度是指一個專案組合出現在資料函式庫中的次數,而信心度是指一個專案組合出現在資料函式庫中的條件機率。

Apriori 演算法

Apriori 演算法是一種經典的關聯規則生成演算法。它的基本思想是從單個專案開始,逐步生成更大的專案組合。首先,計算每個單個專案的支援度,並過濾掉支援度低於最小支援度的專案。然後,使用剩下的單個專案生成雙個專案的組合,並計算每個組合的支援度和信心度。這個過程一直重複,直到生成所有可能的專案組合。

支援度和信心度

支援度是指一個專案組合出現在資料函式庫中的次數,而信心度是指一個專案組合出現在資料函式庫中的條件機率。信心度是用於衡量一個規則的強度,越高的信心度表示規則越強。

支援度的計算

支援度是指一個專案組合出現在資料函式庫中的次數。例如,假設有一個購物籃資料函式庫,包含 100,000 筆交易紀錄,其中 2,000 筆包含橙汁和感冒藥,800 筆包含橙汁、感冒藥和湯。則橙汁和感冒藥的支援度為 2,000,橙汁、感冒藥和湯的支援度為 800。

信心度的計算

信心度是指一個專案組合出現在資料函式庫中的條件機率。例如,假設有一個購物籃資料函式庫,包含 100,000 筆交易紀錄,其中 2,000 筆包含橙汁和感冒藥,800 筆包含橙汁、感冒藥和湯。則「如果購買橙汁和感冒藥,則購買湯」的信心度為 40%(= 800 / 2,000)。

協同過濾

協同過濾是一種用於推薦系統的技術,根據使用者的行為和偏好,推薦他們可能感興趣的商品或服務。協同過濾可以分為兩種:根據使用者的協同過濾和根據專案的協同過濾。

根據使用者的協同過濾

根據使用者的協同過濾是根據使用者的行為和偏好,找到相似的使用者,並推薦他們可能感興趣的商品或服務。

根據專案的協同過濾

根據專案的協同過濾是根據專案的特徵和使用者的行為,推薦使用者可能感興趣的商品或服務。

瞭解聯結規則的強度

在探討聯結規則時,瞭解規則的強度至關重要。聯結規則是一種描述事物之間關聯的方式,通常以「如果-則」的形式表達。例如,如果購買A則購買B。要評估這種規則的強度,我們可以使用信心(Confidence)和提升比率(Lift Ratio)兩個指標。

信心(Confidence)

信心是指在滿足前提(antecedent)的情況下,後件(consequent)出現的機率。它可以用以下公式表示: [ \text{信心} = P(\text{後件} | \text{前提}) = \frac{P(\text{前提} \cap \text{後件})}{P(\text{前提})} ] 一個高信心值意味著我們對這條規則很有信心,但是這也可能是誤導性的。如果前提或後件本身就有很高的支援度,即使它們之間沒有實質上的關聯,信心值也可能很高。例如,如果大多數顧客都買香蕉和冰淇淋,那麼無論是否有實質關聯,信心值都會很高。

提升比率(Lift Ratio)

為了更好地評估聯結規則的強度,我們可以比較規則的信心與基準值。基準值是假設前提和後件之間獨立的情況下預期的信心值。如果前提和後件獨立,則它們共同出現的機率就是各自出現機率的乘積: [ P(\text{前提} \cap \text{後件}) = P(\text{前提}) \times P(\text{後件}) ] 基準信心值可以透過資料估算,方法是計算包含後件的事務數與總事務數之比: [ \text{基準信心} = \frac{\text{包含後件的事務數}}{\text{總事務數}} ] 提升比率就是規則的信心除以基準信心,假設前提和後件之間獨立: [ \text{提升比率} = \frac{\text{信心}}{\text{基準信心}} ] 提升比率越高,意味著規則的強度越大,也就是說,前提和後件之間的關聯越強。

Benchmark 信心指標

信心指標(confidence)是評估規則強度的重要指標之一。在評估規則時,我們關注的是規則的可靠性和實用性。一個提升比率(lift ratio)大於 1.0 表示該規則有一定的實用價值,亦即先行項(antecedent)和後行項(consequent)之間的關聯程度高於它們之間的獨立關聯程度。提升比率越大,表示規則的強度越大。

支援度、信心指標和提升比率計算

為了計算手機面板的支援度、信心指標和提升比率,我們需要以適合的格式呈現資料。交易資料通常以兩種格式顯示:一種是每行代表一筆交易的專案列表,另一種是二元矩陣,其中欄位代表專案,行代表交易,每個單元格包含 1 或 0,表示專案在交易中是否存在。

資料格式

以手機面板購買為例,我們可以看到表 15.1 顯示的是專案列表格式的資料,而表 15.2 則是二元矩陣格式。這些資料將幫助我們計算支援度、信心指標和提升比率。

表 15.2 手機面板資料(二元矩陣格式)

交易 紅色 白色 藍色 橙色 綠色 黃色
1 1 1 0 0 1 0
2 0 1 0 1 0 0
3 0 1 1 0 0 0
4 1 1 0 1 0 0
5 1 0 1 0 0 0
6 0 1 1 0 0 0
7 1 0 1 0 0 0
8 1 1 1 0 1 0
9 1 1 1 0 0 0
10 0 0 0 0 0 1

內容解密:

以上資料顯示了手機面板購買的交易記錄,每行代表一筆交易,每欄代表不同的面板顏色。透過這些資料,我們可以計算出不同面板顏色之間的支援度、信心指標和提升比率,以評估購買行為之間的關聯程度。

圖表翻譯:

  flowchart TD
    A[交易資料] --> B[二元矩陣]
    B --> C[計算支援度]
    C --> D[計算信心指標]
    D --> E[計算提升比率]

這個流程圖顯示了從交易資料到計算提升比率的過程,透過這個過程,我們可以評估不同面板顏色之間的關聯程度,從而獲得有價值的購買行為洞察。

關聯規則與協同過濾

在資料函式庫中,我們想要找出支援度至少為 2 的關聯規則,也就是說,規則是根據至少 20% 的交易中共同購買的專案。透過玄貓的分析,我們可以看到,只有表 15.3 中列出的專案集合具有至少 2 的支援度。

第一個專案集合 {red} 的支援度為 6,因為六筆交易中包含紅色面板。同樣,最後一個專案集合 {red, white, green} 的支援度為 2,因為只有兩筆交易中包含紅色、白色和綠色面板。

表 15.3:支援度至少為 2 的專案集合

專案集合 支援度(次數)
{red} 6
{white} 7
{blue} 6
{orange} 2
{green} 2
{red, white} 4
{red, blue} 4
{red, green} 2
{white, blue} 4
{white, orange} 2
{white, green} 2
{red, white, blue} 2
{red, white, green} 2

在 ASDM 中,使用者可以選擇使用 Associate > Association Rules 功能以專案列表格式或二元矩陣格式輸入資料。

規則選擇過程

選擇強規則的過程是根據生成所有符合指定支援度和信心要求的關聯規則。這個過程分為兩個階段。第一階段,如前所述,是找到所有「頻繁」專案集合,也就是那些具有足夠支援度的專案集合。在第二階段,我們從頻繁專案集合中生成關聯規則,並篩選出那些符合信心要求的規則。

第一階段的目的是移除在資料函式庫中罕見的專案組合。第二階段則篩選剩下的規則,並只選擇那些具有高信心的規則。對於大多數關聯分析資料,計算挑戰在於第一階段,如 Apriori 演算法所述。

在第二階段中,計算信心相對簡單。由於任何子集(例如 {red} 在電話面板範例中)必須至少與它所屬的集合(例如 {red, white})一樣頻繁,因此每個子集也會在列表中。然後,計算信心就變得簡單了,只需計算專案集合的支援度與其每個子集的支援度之比。只有當信心超過所需的截止值時,我們才保留相應的關聯規則。

例如,從電話面板購買中的專案集合 {red, white, green},我們得到以下關聯規則和信心值:

規則和信心值

規則 信心
Rule 1: {red, white} ⇒ {green} support of {red, white, green} / support of {red, white} = 2/4 = 50%
Rule 2: {red, green} ⇒ {white}

內容解密:

在這個例子中,我們可以看到如何從頻繁專案集合中生成關聯規則,並計算其信心值。這個過程涉及兩個階段:第一階段是找到頻繁專案集合,第二階段是從這些集合中生成關聯規則,並篩選出那些具有高信心的規則。

圖表翻譯:

  graph LR
    A[專案集合] --> B[頻繁專案集合]
    B --> C[關聯規則]
    C --> D[信心計算]
    D --> E[規則篩選]

這個圖表展示了從專案集合到關聯規則的生成過程,包括頻繁專案集合的查詢、關聯規則的生成、信心的計算和規則的篩選。

關聯規則分析

在進行關聯規則分析時,我們需要考慮事物之間的相互關係,從而發現隱藏的模式或規律。以下是對給定規則的分析:

規則1:{紅,白,綠} ⇒ {紅,白,綠}

  • 支援度計算:{紅,白,綠} 的支援度與 {紅,白,綠} 的支援度之比。
  • 結果:2/2 = 100%

規則2:{紅,綠} ⇒ {紅,綠}

  • 支援度計算:{紅,綠} 的支援度與 {紅,綠} 的支援度之比。
  • 結果:2/2 = 100%

規則3:{白,綠} ⇒ {紅}

  • 支援度計算:{白,綠} 的支援度與 {白,綠} 的支援度之比。
  • 結果:2/2 = 100%

規則4:{紅} ⇒ {白,綠}

  • 支援度計算:{紅,白,綠} 的支援度與 {紅} 的支援度之比。
  • 結果:2/6 = 33%

規則5:{白} ⇒ {紅,綠}

  • 支援度計算:{紅,白,綠} 的支援度與 {白} 的支援度之比。
  • 結果:2/7 = 29%

在關聯規則分析中,瞭解事物之間的關係對於預測和決策至關重要。未來的研究方向可能包括:

  1. 深入分析:對資料進行更深入的分析,以瞭解不同事物之間的複雜關係。
  2. 規則最佳化:嘗試最佳化關聯規則,以提高支援度和信賴度。
  3. 應用實踐:將關聯規則分析應用於實際場景中,如市場分析、推薦系統等。

透過這些努力,我們可以更好地理解事物之間的隱藏關係,並將這些知識應用於各個領域,以實作更好的決策和預測。

關聯規則生成與分析

在資料探勘中,關聯規則是一種重要的技術,用於發現資料中不同專案之間的相互關係。這裡,我們將探討如何使用玄貓(ASDM)生成關聯規則,並分析其結果。

關聯規則生成

首先,我們需要了解關聯規則的基本概念。關聯規則是一種以「如果-則」的形式表達的規則,描述了資料中不同專案之間的關係。例如,「如果購買了紅色商品,則也會購買白色商品」的規則。

在ASDM中,我們可以使用以下步驟生成關聯規則:

  1. 資料準備:首先,我們需要準備好資料,包括交易資料和專案資料。
  2. 支援度計算:計算每個專案的支援度,即該專案出現在交易中的次數。
  3. 信心度計算:計算每個規則的信心度,即該規則的前件和後件同時出現在交易中的次數。
  4. 篩選規則:根據設定的最小信心度,篩選出符合條件的規則。

例子分析

以下是ASDM生成的關聯規則例子:

規則ID 支援度 信心度 Lift-比率 前件 後件
Rule 1 2/2 100% 1.67 [Green] [Red]
Rule 2 2/7 100% 1.43 [Orange] [White]
Rule 3 2/7 100% 1.43 [Green] [White]
Rule 4 2/4 100% 2.50 [Green] [Red,White]
Rule 5 2/7 100% 1.43 [Red,Green] [White]
Rule 6 2/6 100% 1.67 [White,Green] [Red]

在這個例子中,我們可以看到ASDM生成了6個關聯規則,每個規則都有其支援度、信心度和Lift-比率。其中,Rule 1表示「如果購買了綠色商品,則也會購買紅色商品」,其支援度為2/2,信心度為100%,Lift-比率為1.67。

關聯規則與協同過濾

在本章中,我們將探討關聯規則和協同過濾的概念。這兩種技術廣泛應用於商業和其他領域,以發現資料中的隱藏模式和關係。

關聯規則

關聯規則是一種用於發現資料中專案之間關係的技術。它可以用於找出哪些專案經常一起出現,從而幫助企業做出更好的決策。例如,在電話面板交易中,關聯規則可以用於找出哪些顏色和款式的面板經常一起被購買。

協同過濾

協同過濾是一種用於預測使用者偏好的技術。它根據其他使用者的行為來預測某個使用者是否會喜歡某個專案。例如,在電子商務中,協同過濾可以用於推薦給使用者可能會喜歡的商品。

解釋結果

在解釋關聯規則的結果時,我們需要考慮多個因素,包括支援度、信賴度和提升率。支援度表示規則在資料中的重要性,信賴度表示規則的準確性,提升率表示規則的效率。

機器學習工作流程

機器學習工作流程是指從資料預處理到模型評估的整個過程。在電話面板例子中,機器學習工作流程包括資料收集、資料預處理、模型建立和模型評估等步驟。

規則和機遇

在使用關聯規則時,我們需要考慮規則是否只是機遇的結果。為了評估這個問題,我們可以使用統計方法來檢查規則是否具有統計學意義。

內容解密:

在上述程式碼中,我們使用了ASDM演算法來生成關聯規則。ASDM演算法是一種常用的關聯規則挖掘演算法,它可以根據資料中的模式生成規則。下面是ASDM演算法的簡要介紹:

import pandas as pd

# 載入資料
data = pd.read_csv('data.csv')

# 定義ASDM演算法
def asdm(data, min_support, min_confidence):
    # 生成頻繁專案集
    frequent_itemsets = []
    for itemset in data:
        if itemset.support >= min_support:
            frequent_itemsets.append(itemset)
    
    # 生成關聯規則
    rules = []
    for itemset in frequent_itemsets:
        for consequent in itemset:
            antecedent = itemset - {consequent}
            support = itemset.support
            confidence = itemset.support / antecedent.support
            lift = confidence / consequent.support
            rules.append((antecedent, consequent, support, confidence, lift))
    
    return rules

# 執行ASDM演算法
rules = asdm(data, 0.1, 0.5)

# 輸出結果
for rule in rules:
    print(f'Antecedent: {rule[0]}, Consequent: {rule[1]}, Support: {rule[2]}, Confidence: {rule[3]}, Lift: {rule[4]}')

圖表翻譯:

下面是使用Mermaid語法繪製的ASDM演算法流程圖:

  flowchart TD
    A[資料預處理] --> B[頻繁專案集生成]
    B --> C[關聯規則生成]
    C --> D[結果輸出]

在這個圖表中,我們可以看到ASDM演算法的整個流程,從資料預處理到結果輸出。每個步驟都對應著特定的操作,例如頻繁專案集生成和關聯規則生成。這個圖表可以幫助我們更好地理解ASDM演算法的工作原理。

資料分析與視覺化

在進行資料分析時,瞭解資料的分佈和趨勢是非常重要的。給定的資料序列看起來像是隨機生成的,但它們可能隱藏著某些模式或規律。為了更好地理解這些資料,我們可以使用視覺化工具,如圖表和圖形,來呈現資料的分佈情況。

資料分佈分析

首先,我們來觀察給定的資料序列:

4 3 9 21 2 5 6 8 38 8 9
5 9 22 4 6 9 39 4 5 7 9
6 1 8 23 4 9 40 2 8 9
7 6 9 24 8 9 41 2 5 9
8 3 5 7 9 25 6 8 42 1 2 7 9
9 8 26 1 6 8 43 5 8
10 27 5 8 44 1 7 8
11 1 7 9 28 4 8 9 45 8
12 1 4 5 8 9 29 9 46 2 7 9
13 5 7 9 30 8 47 4 6 9
14 6 7 8 31 1 5 8 48 9
15 3 7 9 32 3 6 9 49 9
16 1 4 9 33 7 9 50 6 7 8
17 6 7 8 34 7 8 9

內容解密:

觀察這些資料序列,我們可以看到每行都包含了一系列的數字。這些數字似乎是隨機分佈的,但可能存在某些規律或模式。為了更好地理解這些資料,我們可以嘗試對它們進行分組或排序,或者使用統計方法來分析它們的分佈。

視覺化呈現

使用Mermaid圖表來視覺化這些資料,可以幫助我們更好地理解它們的分佈和關係。以下是一個簡單的Mermaid圖表範例,展示瞭如何將這些資料序列視覺化:

  graph LR
    A[資料序列1] --> B[資料序列2]
    B --> C[資料序列3]
    C --> D[資料序列4]
    D --> E[資料序列5]
    E --> F[資料序列6]
    F --> G[資料序列7]
    G --> H[資料序列8]
    H --> I[資料序列9]
    I --> J[資料序列10]
    J --> K[資料序列11]
    K --> L[資料序列12]
    L --> M[資料序列13]
    M --> N[資料序列14]
    N --> O[資料序列15]
    O --> P[資料序列16]
    P --> Q[資料序列17]

圖表翻譯:

這個Mermaid圖表展示了給定的17個資料序列之間的關係。每個節點代表一個資料序列,箭頭表示了這些序列之間的連線關係。透過這個圖表,我們可以更清晰地看到這些資料序列的分佈和關係。

關聯規則分析

在進行關聯規則分析時,我們需要了解規則的基本構成,包括支援度(Support)、信心度(Confidence)和提升度(Lift Ratio)。這些指標幫助我們評估規則的強度和有用性。

支援度(Support)

支援度是指某個專案組合出現在所有交易中的比例。它代表了規則的普遍性。在上述規則中,支援度的計算根據特定的交易資料,例如 Rule 1 的支援度為 5 和 27,表示該規則涉及的專案組合在 5 次交易中出現,總交易數為 27。

信心度(Confidence)

信心度衡量的是當前項出現時,後項出現的機率。它反映了規則的可靠性。例如,Rule 2 的信心度為 100%,意味著當前項 [8,3] 出現時,後項 [4] 總是會出現。

提升度(Lift Ratio)

提升度則用於評估某個規則的強度,它是信心度與基礎率之比。基礎率是指後項出現在所有交易中的比例。提升度大於 1 表示該規則比隨機情況下更有可能發生。例如,Rule 2 的提升度為 4.55,意味著當 [8,3] 出現時,[4] 出現的可能性是基礎率的 4.55 倍。

規則分析

給定的規則集合中,每個規則都有其特定的前件(Antecedent)和後件(Consequent)。例如,Rule 1 的前件是 [2],後件是 [9]。這意味著當專案 2 出現時,專案 9 也很可能會出現。

圖表解釋

圖 15.4 顯示了這些關聯規則的視覺化呈現。雖然具體圖表內容未提供,但通常這類別圖表會以節點和邊的形式展示不同專案之間的關聯關係。每個節點代表一個專案,邊則代表專案之間的關聯規則。邊的粗細或顏色可能用於表示規則的強度,如支援度或信心度。

實際應用

在實際應用中,這些關聯規則可以用於各種領域,如市場籃分析、推薦系統等。例如,在電子商務平臺中,根據購買行為生成的關聯規則可以幫助商家瞭解不同商品之間的購買關係,從而進行有針對性的促銷活動或商品搭配推薦。

未來發展

隨著大資料技術和機器學習演算法的進步,關聯規則分析將能夠處理更大規模的資料集,並結合更多的背景資訊和使用者行為資料,以提高推薦的準確性和個人化程度。同時,關聯規則的可解釋性也將成為一個重要的研究方向,以便更好地理解和信任由演算法生成的規則和推薦。

內容解密

以上內容對關聯規則分析進行了深入探討,涵蓋了支援度、信心度、提升度等核心概念,以及如何應用這些知識進行實際分析和未來發展預測。透過這些知識,讀者可以更好地理解和應用關聯規則分析技術,以解決實際問題和改善商業決策。

圖表翻譯

  graph LR
    A[專案2] -->|支援度: 5/27|> B[專案9]
    C[專案8,3] -->|信心度: 100%|> D[專案4]
    E[專案3,4] -->|提升度: 1.85|> F[專案8]

這個 Mermaid 圖表簡單地展示了幾個關聯規則之間的關係,包括前件、後件以及相應的支援度、信心度和提升度。這種視覺化呈現有助於更直觀地理解不同專案之間的關聯性質。

從商業價值視角來看,關聯規則挖掘,如同Apriori演算法所展現的,能有效揭示資料中隱藏的商品關聯性,如同手機面板顏色組合的購買模式,進而驅動更精準的行銷策略和提升銷售額。深入剖析Apriori演算法的核心流程,可以發現其透過迭代生成頻繁項集,並據此推導關聯規則,有效降低了計算複雜度,但仍受限於資料規模和引數設定,例如最小支援度和信心度的選擇。對於電商平臺或零售業者而言,有效運用此技術,例如結合使用者畫像和購買歷史,能更精準地進行商品推薦和促銷活動,例如搭配促銷或組合優惠,創造更高的客戶滿意度和商業價值。技術團隊應著重於解決資料稀疏性和冷啟動問題,並探索更進階的關聯規則挖掘演算法,例如FP-Growth,以提升模型的效率和準確性。隨著資料量的不斷增長和演算法的持續最佳化,我們預見關聯規則挖掘在精準行銷和商業決策中的應用將更加廣泛和深入。玄貓認為,此技術已展現足夠成熟度,適合關注資料價值變現的企業採用。