始める無料で始める

lift を使った枝刈り

今回も、ノベルティギフト店のマネージャーに報告します。今回は、Apriori アルゴリズムで高い support のしきい値を使うとルールが見つからず、低いしきい値では 2 つのルールしか得られなかったことを伝えました。マネージャーはよくやったと言いつつ、その 2 つのルールを 1 つに絞るために別の指標の使用を検討するよう依頼してきました。

lift の解釈はシンプルだったことを思い出します。値が 1 より大きい場合、トランザクションでアイテムが独立に分布していると仮定した場合よりも一緒に出現しやすいことを示します。伝えやすいメッセージなので、lift を使うことに決めました。pandaspd として利用可能で、ワンホットエンコード済みのトランザクションデータは onehot として利用できます。さらに、apriorimlxtend からインポート済みです。

この演習はコースの一部です

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(____)
コードを編集して実行