散佈圖

Python 的 Market Basket Analysis

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

散佈圖入門

此圖示範一個散佈圖。

Python 的 Market Basket Analysis

散佈圖入門

  • 散佈圖呈現成對數值。
    • 前件與後件的支持度。
    • 信賴度與提升度。
  • 不假設模型。
    • 不需趨勢線或曲線。
  • 可作為修剪起點。
    • 找出資料與規則中的模式。
Python 的 Market Basket Analysis

支持度對信賴度

此圖為 MovieLens 資料集中,規則的支持度與信賴度散佈圖。

Python 的 Market Basket Analysis

支持度對信賴度

此圖為 MovieLens 資料集中,規則的支持度與信賴度散佈圖。

1 Bayardo Jr., R.J. 和 Agrawal, R.(1999)。Mining the Most Interesting Rules。收錄於 Proceedings of the Fifth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(pp. 145-154)。
Python 的 Market Basket Analysis

產生散佈圖

import pandas as pd
import seaborn as sns
from mlxtend.frequent_patterns import association_rules, apriori

# Load one-hot encoded MovieLens data
onehot = pd.read_csv('datasets/movies_onehot.csv')
# Generate frequent itemsets using Apriori
frequent_itemsets = apriori(onehot, min_support=0.01, use_colnames=True, max_len=2)

# Generate association rules
rules = association_rules(frequent_itemsets, metric='support', min_threshold=0.0)
sns.scatterplot(x="antecedent support", y="consequent support", data=rules)
Python 的 Market Basket Analysis

產生散佈圖

此圖為前件支持度對後件支持度的散佈圖。

Python 的 Market Basket Analysis

加入第三個指標

 

sns.scatterplot(x="antecedent support", 
                y="consequent support", 
                size="lift", 
                data=rules)
Python 的 Market Basket Analysis

加入第三個指標

此散佈圖顯示前件支持度、後件支持度與提升度之間的關係。

Python 的 Market Basket Analysis

從散佈圖能學到什麼?

  • 找出資料中的自然門檻。
    • 熱圖或其他視覺化難以辦到。
  • 視覺化整個資料集。
    • 不受少量規則限制。
  • 用發現結果來修剪。
    • 依自然門檻與模式進行修剪。
Python 的 Market Basket Analysis

一起來練習吧!

Python 的 Market Basket Analysis

Preparing Video For Download...