lift を使った枝刈り
今回も、ノベルティギフト店のマネージャーに報告します。今回は、Apriori アルゴリズムで高い support のしきい値を使うとルールが見つからず、低いしきい値では 2 つのルールしか得られなかったことを伝えました。マネージャーはよくやったと言いつつ、その 2 つのルールを 1 つに絞るために別の指標の使用を検討するよう依頼してきました。
lift の解釈はシンプルだったことを思い出します。値が 1 より大きい場合、トランザクションでアイテムが独立に分布していると仮定した場合よりも一緒に出現しやすいことを示します。伝えやすいメッセージなので、lift を使うことに決めました。pandas は pd として利用可能で、ワンホットエンコード済みのトランザクションデータは onehot として利用できます。さらに、apriori は mlxtend からインポート済みです。
この演習はコースの一部です
Python で学ぶマーケットバスケット分析
演習の手順
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(____)