以 lift 進行修剪
你再次向新奇禮品店的店長回報。這次你告訴她,當你在 Apriori 演算法中使用較高的 support 門檻時沒有找出任何規則,而使用較低門檻時只找到了 2 條規則。她肯定你的成果,但也請你考慮用另一個衡量指標,把 2 條規則進一步縮減為 1 條。
你記得 lift 的詮釋很直觀:值大於 1 代表品項在交易中同時出現的頻率,比在獨立分佈下所預期的還要高。你決定使用 lift,因為這樣的說明容易傳達。注意,pandas 已以 pd 名稱可用,且已提供獨熱編碼的交易資料 onehot。另外,apriori 已從 mlxtend 匯入。
本練習屬於課程
Python 的 Market Basket Analysis
練習說明
- 從
mlxtend匯入association_rules函式。 - 使用 support 為 0.001、最大項目集長度為 2 來計算頻繁項目集。
- 完成程式,使其只保留 lift 至少為 1.0 的規則。
- 列印該規則的 DataFrame。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Import the association rules function
from mlxtend.____ import ____
# Compute frequent itemsets using the Apriori algorithm
frequent_itemsets = apriori(onehot, min_support = ____,
max_len = ____, use_colnames = True)
# Compute all association rules for frequent_itemsets
rules = association_rules(frequent_itemsets,
metric = "____",
min_threshold = ____)
# Print association rules
print(____)