集約とフィルタリング
動画では、ギフトショップのマネージャーが実店舗の売り場をアソシエーションルールに基づいて配置できるよう支援しました。店舗のレイアウト上、売り場は2組の製品カテゴリに分けて配置する必要がありました。高度なフィルタリング手法を適用した結果、次のフロアレイアウトを提案しました。
マネージャーからは、別の基準で新しいフロアプラン案を出してほしいと依頼されています。各ペアには、サポートが高い製品と低い製品を1つずつ含めてください。データ aggregated はすでに集約およびワンホットエンコード済みです。さらに、mlxtend から apriori() と association_rules() がインポートされています。
この演習はコースの一部です
Python で学ぶマーケットバスケット分析
演習の手順
- 最小サポートしきい値を 0.0001 に設定して、頻出アイテム集合を生成します。
- 最小サポートしきい値を 0.0001 に設定して、すべてのルールを抽出します。
- 先行部(antecedent)のサポートが 0.35 より大きいルールをすべて選択します。
- 結果部(consequent)のサポートの最大値が 0.35 未満のルールをすべて選択します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Apply the apriori algorithm with a minimum support of 0.0001
frequent_itemsets = apriori(aggregated, ____, use_colnames = True)
# Generate the initial set of rules using a minimum support of 0.0001
rules = association_rules(frequent_itemsets,
metric = "____", min_threshold = ____)
# Set minimum antecedent support to 0.35
rules = rules[____['antecedent support'] > ____]
# Set maximum consequent support to 0.35
rules = rules[____ < 0.35]
# Print the remaining rules
print(rules)