confidence での枝刈り
またしても決め手を欠いています。いくつか有用なルールは見つかったものの、1つに絞り込めません。さらに悪いことに、見つけた2つのルールは同じアイテムセットを使い、前件と後件を入れ替えただけでした。別の指標で枝刈りすれば、単一のアソシエーションルールに絞り込めるかを試すことにしました。
どの指標が適切でしょうか?リフトとサポートは、同じアイテムセットから生成できるすべてのルールで同一になります。そこで、同じアイテムセットから生成されたルール間で値が異なる confidence を使うことにします。なお、pandas は pd として利用可能で、ワンホットエンコード済みのトランザクションデータは onehot として利用できます。さらに、apriori は mlxtend からインポート済みです。
この演習はコースの一部です
Python で学ぶマーケットバスケット分析
演習の手順
mlxtendからassociation_rulesをインポートします。- サポート値 0.0015、最大アイテムセット長 2 を用いて、
aprioriアルゴリズムの記述を完成させます。 - 指標に confidence、しきい値に 0.5 を用いて、アソシエーションルールの記述を完成させます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the association rules function
____
# Compute frequent itemsets using the Apriori algorithm
frequent_itemsets = ____(onehot, ____,
____, use_colnames = True)
# Compute all association rules using confidence
rules = ____(frequent_itemsets,
metric = "____",
min_threshold = ____)
# Print association rules
print(rules)