サポートしきい値を選ぶ
オンラインのギフトストアのマネージャーは、前の演習であなたが示した結果を見て、良い仕事だと褒めてくれました。ただし、ひとつ問題を提起します。抽出されたアイテム集合がすべて単一アイテムのみで構成されているという点です。より制約の緩いルールを使って、複数アイテムを含むものも含め、より多くのアイテム集合を生成できないかと依頼されました。
それに同意したうえで、なぜ2つ以上のアイテムからなるアイテム集合が見つからなかったのかを考えます。max_len パラメータは3に設定していたので、原因ではありません。サポートが原因だと考え、異なる2つの値を試し、そのたびに追加で生成されるアイテム集合の数を確認することにしました。なお、pandas は pd として、ワンホットエンコード済みデータは onehot として利用できます。
この演習はコースの一部です
Python で学ぶマーケットバスケット分析
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import apriori from mlxtend
from mlxtend.____ import ____
# Compute frequent itemsets using a support of 0.003 and length of 3
frequent_itemsets_1 = apriori(onehot, min_support = ____,
max_len = ____, use_colnames = True)
# Compute frequent itemsets using a support of 0.001 and length of 3
frequent_itemsets_2 = apriori(onehot, min_support = ____,
____, use_colnames = True)
# Print the number of freqeuent itemsets
print(len(frequent_itemsets_1), len(frequent_itemsets_2))