始める無料で始める

Zhangの指標を適用する

第2章で学んだとおり、Zhangの指標は2つのアイテム間の関連度を連続値で表し、[-1,+1] の範囲を取ります。-1 は完全な負の関連、+1 は完全な正の関連を示します。この演習では、Zhangの指標を使って、あるギフトショップが現在プロモーションに用いているルール集合を洗練できるかを確認します。

頻出アイテム集合はすでに計算済みで、frequent_itemsets として利用できます。さらに、zhangs_rule() は定義済みで、association_rules()mlxtend からインポート済みです。最初に元のルール集合を再計算し、その後に Zhang の指標を適用して、関連が高く正のルールのみを選別します。

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

Python で学ぶマーケットバスケット分析

コースを見る

演習の手順

  • lift が少なくとも 1.00 のアソシエーションルール集合を生成します。
  • 前件サポートのしきい値を 0.005 に設定します。
  • Zhang の指標を計算し、出力を rules の列 zhang に代入します。
  • Zhang の指標が 0.98 より大きいルールを選択します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Generate the initial set of rules using a minimum lift of 1.00
rules = association_rules(frequent_itemsets, metric = "____", min_threshold = ____)

# Set antecedent support to 0.005
rules = rules[rules['____'] > 0.005]

# Set consequent support to 0.005
rules = rules[rules['consequent support'] > 0.005]

# Compute Zhang's rule
rules['zhang'] = ____(____)

# Set the lower bound for Zhang's rule to 0.98
rules = rules[____['zhang'] > 0.98]
print(rules[['antecedents', 'consequents']])
コードを編集して実行