INDEX
関連ルールの評価と選定
関連ルールの評価と選定は、アソシエーション分析で見つかったルールの中から、有用なものを選び出すための工程です。
アソシエーション分析では、多くの関連ルールが生成されます。しかし、すべてのルールが実務で役立つとは限りません。そのため、サポート、信頼度、リフトなどの指標を使って、意味のあるルールを評価・選定します。
関連ルールの評価と選定を図で理解する

関連ルールとは
関連ルールとは、「Aが起きたときにBも起きやすい」という関係を表すルールです。
マーケットバスケット分析では、例えば次のようなルールを考えます。
パンを買う → バターも買う
このようなルールを評価することで、商品の配置、セット販売、レコメンドなどに活用できます。
関連ルールの主な評価指標
| 指標 | 意味 |
|---|---|
| サポート(Support) | その組み合わせが全体の中でどれくらい出現するか |
| 信頼度(Confidence) | Aが出現したときにBも出現する割合 |
| リフト(Lift) | AとBの関連が偶然より強いかを示す指標 |
サポートとは
サポートは、あるアイテムセットが全トランザクションの中でどの程度出現しているかを示します。
サポート = AとBを含む取引数 / 全取引数
サポートが高いルールは、多くの取引に当てはまるため、実務で利用しやすい傾向があります。
信頼度とは
信頼度は、Aが出現した取引のうち、Bも一緒に出現した割合を示します。
信頼度 = AとBを含む取引数 / Aを含む取引数
信頼度が高いほど、「Aを買った人はBも買いやすい」と判断できます。
リフトとは
リフトは、AとBが偶然ではなく、どの程度強く関連しているかを示す指標です。
リフト = 信頼度 / Bのサポート
| リフトの値 | 解釈 |
|---|---|
| 1より大きい | AとBには正の関連がある |
| 1に近い | AとBはほぼ独立している |
| 1より小さい | 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()で、指定したサポート以上の頻出アイテムセットを抽出するassociation_rules()で、頻出アイテムセットから関連ルールを生成するsupport、confidence、liftを使ってルールを評価する
関連ルールの選定方法
関連ルールを選ぶときは、単に数値が高いものを選ぶだけではなく、実際の目的に合っているかを確認することが重要です。
- サポートが低すぎるルールを除外する
- 信頼度が一定以上のルールを確認する
- リフトが1を超えているか確認する
- ビジネス上の意味があるか判断する
- 実際の施策に使えるルールを選ぶ
評価指標の使い分け
| 重視すること | 見るべき指標 |
|---|---|
| よく出現する組み合わせを知りたい | サポート |
| Aを買った人がBも買う確率を知りたい | 信頼度 |
| 偶然ではない強い関連を見つけたい | リフト |
| 実務に使えるルールを選びたい | 各指標とビジネス上の意味 |
スーパーマーケットでの活用例
例えば、「パンを買う人はバターも買いやすい」というルールが見つかった場合、次のような施策に活用できます。
- パンとバターを近くに陳列する
- パンとバターをセット販売する
- パン購入者にバターのクーポンを提示する
- レコメンド商品としてバターを表示する
関連ルールを選ぶ際の注意点
- サポートが低すぎるルールは偶然の可能性がある
- 信頼度が高くてもリフトが低い場合は、強い関連とは限らない
- リフトが高くても出現回数が少なすぎるルールは実用性が低い
- ビジネス上の意味がないルールは除外する
- 季節性やキャンペーンの影響も考慮する
関連ルール分析の活用場面
- 商品の同時購入分析
- ECサイトのレコメンド
- 店舗の商品配置
- キャンペーン設計
- 顧客行動の分析