関連ルールの評価と選定 | アソシエーション分析 | Pythonによる機械学習を学ぶ

現在作成中です。今後加筆修正してまいります。
スポンサーリンク
スポンサーリンク

関連ルールの評価と選定

アソシエーション分析における関連ルールの評価と選定は、データから有用な知見を引き出すための重要なステップです。関連ルールは、多数生成されることがありますが、その中でビジネス上有効なルールを選び出すためには、いくつかの評価指標が用いられます。この記事では、関連ルールの評価指標と、それに基づく選定方法を解説します。

関連ルールの評価指標

関連ルールを評価する際には、次の3つの主要な指標が一般的に使用されます。

指標 説明
サポート(Support) 特定のアイテムセットがトランザクション全体でどれくらい頻繁に出現するかを示します。サポートが高いほど、そのルールが多くのトランザクションに適用されることを意味します。
信頼度(Confidence) あるアイテムセットが出現したときに、他のアイテムセットがどれだけ一緒に出現するかの確率を示します。信頼度が高いほど、そのルールが正確であることを示します。
リフト(Lift) アイテムAとアイテムBが一緒に出現する頻度が、それぞれが独立して出現する場合と比べてどの程度高いかを示します。リフトが1を超える場合、AとBは関連していることを意味します。

サポート、信頼度、リフトの計算方法

これらの評価指標は、次のように計算されます。

  • サポート: アイテムセットがトランザクション全体に対してどれだけ頻繁に出現したかの割合。
  • 信頼度: Aを含むトランザクションのうち、Bも含む割合。
  • リフト: AとBが一緒に購入された頻度 ÷ (Aが購入された頻度 × Bが購入された頻度)。

Pythonによる関連ルールの評価と選定の実装

Pythonで関連ルールの評価を行うためには、mlxtendライブラリを使用します。このライブラリは、アソシエーション分析と関連ルールの評価に便利なツールを提供しています。

import pandas as pd
from mlxtend.frequent_patterns import apriori, association_rules

# トランザクションデータの作成
data = {'ミルク': [1, 0, 1, 1, 0],
        'パン': [1, 1, 0, 1, 1],
        'バター': [0, 1, 1, 0, 1],
        'チーズ': [0, 0, 1, 1, 0],
        '卵': [1, 1, 0, 0, 1]}

df = pd.DataFrame(data)

# Aprioriアルゴリズムを使って頻出アイテムセットを抽出
frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)

# アソシエーションルールの生成
rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1.0)

# 結果の表示
print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']])

コードの解説

  • apriori関数: この関数は、指定されたサポート値(min_support=0.5)を超えるアイテムセットを見つけます。
  • association_rules関数: この関数は、見つかった頻出アイテムセットから関連ルールを生成し、信頼度やリフトに基づいて評価します。

評価結果の解釈

上記のコードでは、サポート、信頼度、リフトを用いて生成された関連ルールを表示します。例えば、信頼度が高くリフトも1を超えるルールは、ビジネスで有用なルールと考えられます。これらの指標を基に、最も有効な関連ルールを選定します。

関連ルールの選定方法

関連ルールの選定において重要な点は、単に指標が高いルールを選ぶだけでなく、ビジネス目標に合致するルールを見つけることです。以下の手順に従って関連ルールを選定します。

  1. サポートが適切なルールを選ぶ: サポートが低すぎるルールは信頼性が低く、ビジネスに直接的な影響を与えない可能性があります。
  2. 信頼度の高いルールを優先する: 信頼度が高いルールは、そのルールが実際のデータにおいて有効であることを示します。
  3. リフトを確認する: リフトが1を超えるルールは、関連性が高いことを示しており、ビジネス上重要です。
  4. ビジネスの文脈に合ったルールを選ぶ: 最後に、指標が良くてもビジネスにとって意味のないルールは除外します。実際のマーケティングやプロモーションに活用できるルールを選びましょう。

具体例: スーパーマーケットでのルール選定

例えば、スーパーマーケットで「パン」と「ミルク」が一緒に購入される可能性が高い場合、パンの棚をミルクの近くに配置することがビジネス上有効です。さらに、プロモーションとしてパンとミルクをセットで割引することで、売上を増加させる可能性があります。

まとめ

関連ルールの評価と選定は、アソシエーション分析の結果をビジネスに役立てるための重要なステップです。サポート、信頼度、リフトを使用して有効なルールを見つけることができ、選定したルールを基にした戦略は、顧客行動の理解や売上の向上に役立ちます。Pythonとmlxtendライブラリを活用することで、簡単に関連ルールを評価・選定できます。