RapidMinerテンプレート バスケット解析 (MARKET BASKET ANALYSIS)

fujita
fujita
Altair Employee

1. はじめに

RapidMinerには多くのすぐに使えるテンプレートが備わっています。データを入れ替えて応用可能です。ここでは以下のバスケット解析 (Market Basket Analysis)について見てみます。

バスケット解析の例として、おむつがビールと同時に購入される機会が多いことが判明したという話があります。おむつを購入しに店を訪れた父親が一緒に自分のビールを買うからだと考えられています。

image

2. プロセスの概要

頻繁に一緒に購入される製品のセットを決定し、関連付けルールを構築することにより、製品間の関連付けをモデル化します。

image

※元のテンプレートは説明が英語です。

3. 各オペレータの説明

Retrieve

image

データを取り込みます。ここでは以下の書式のデータ(784件)になります。1~2行目Invoice1315016ではProduct 20と21が購入されています。

image

 

Aggregate

image

取引ID(Invoice)ごとに製品(product1)を集計します。

imageimage

Rename

image

以下のように列の名前を変更します。

image

Set Role

image

着目する列を指定します。ここでは以下のようにInvoiceをidとします。

image

FP-Growth

image

FP ツリー データ構造を使用して、ExampleSet 内で頻繁に発生するすべての項目セットを効率的に計算します。

Create Association Rules

image

指定された頻度の高い項目セットのセットから一連の相関ルールを生成します。

4. 結果

連関法則 (Association Rule)

以下のような連関法則が出力されます。

信頼度(Confidence)でソートすると、Product11, Product19またはProduct12, Product 27が買われると必ず、Product20も買われることを示しています。

image

Premises: はじめに買う製品

Conclusion: Premisesにともなって買われる製品

Support = (アイテムまたはアイテムセットがデータベースに表示される回数) / (データベース内のバスケットの数)

一般に、「最小サポート」の概念はカットオフを作成し、項目セットの頻繁な出現またはそれほど頻繁ではない出現の意味を定義します。

Conficence: 信頼度: ルールの信頼度は、 conf(X implies Y) = supp(X ∪Y)/supp(X) と定義されます。ここでの supp(X∪Y) は、「X と Y の両方が出現する取引の発生のサポート」を意味し、「X または Y のいずれかが出現する取引の発生のサポート」を意味します。 信頼度の範囲は 0 から 1 です。信頼度は、X が与えられた場合に Y を観測する確率である Pr(Y | X) の推定値です。項目セット X のサポート supp(X) は、データ セット内の取引の割合として定義されます。

Laplace: laplace k パラメーターを使用してラプラスが計算されます。

Gain : ゲイン シータ パラメーターを使用して計算されます。

p-s: ルールの選択に ps 基準が使用されます。

lift : ルールのリフトは、lift(X implies Y) = supp(X ∪ Y)/((supp(Y) x supp(X))、または X と Y の場合に期待されるサポートに対する観察されたサポートの比率として定義されます。 リフトは、lift(X implies Y) =conf(X implies Y)/supp(Y) として定義することもできます。リフトは、X と Y が独立性からどれだけ離れているかを測定します。範囲は 0 から正の無限大までです。値は、次のようになります。 1 は、X と Y が独立しており、ルールが興味深いものではないことを意味します。

Conviction: convictionはルールの方向に影響されます。つまり、conv(X implies Y) は conv(Y implies X) と同じではありません。convictionは、含意の論理的定義にいくらかインスピレーションを得て、ルールの含意の程度を測定しようとします。convictionは次のように定義されます。

conv(X implies Y) =(1 - supp(Y))/(1 - conf(X implies Y))

 

以下のように連関法則を着目する指標のしきい値を設定してグラフ表示できます。

image

5. まとめ

RapidMinerにはすぐに使えるサンプルのプロセスが多数あり、データを入れ替えれてすぐに活用できます。

バスケット分析では、連関法則から取引の中で一緒に購入される商品セットを見ることができます。また、製品の購入ばかりではなく、データ セット間の相関関係や共起を理解するのに役立つパターンを見つけるなど、多くの利点があります。例えば、医学では、患者の診断に役立つ連関法則が使用されています。多くの病気が同様の症状の場合、医師は過去の症例の関係を比較して、病気の条件付き確率を判断できます。

RapidMinerの製品ダウンロードページ