SPSS Modeler ノードリファレンス 5-6 Apriori(アソシエーション)

# 5-6 Apriori(アプリオリ)[モデル作成タブ]
<img width="200" alt="107_89Apriori" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3fecef1b-f8a9-8751-eb1c-d5444050e351.png">


## 1.ノードの目的
アソシエーション（連関）を発見します。買い物カゴに同時に入りやすい商品の特定を行うマーケットバスケット分析や、設備ログから共起（きょうき）しやすいパターンを探索するのに用いられます。＊同時ではなく時系列上の前後関係がある場合には[シークエンス]ノードを利用します。

## 2.解説動画（60秒）

<iframe width="560" height="315" src="https://www.youtube.com/embed/NfQ1qzKPOd4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## 3.クイックスタート

顧客の行動履歴が時系列に記録されたID付きPOSデータです。
＊サンプルデータ（CSV）は[5.参考情報]からダウンロードできます。
![スクリーンショット 2022-02-22 10.08.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/4d035697-e453-1ff3-1a77-15b1a62e3bf4.png)


### ①トランザクション形式のままモデル作成する方法

[可変長ファイル]から[Apriori]に接続します。
![スクリーンショット 2022-03-04 18.10.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/5ff0d911-e5b5-0b02-3d86-212e44eb1da2.png)

[可変長ファイル]で[データ型]タブの[値の読み込み]ボタンを押して[中分類]のメンバーを認識させます。[データ型]ノードを用いても結構です。
![スクリーンショット 2022-02-22 10.09.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a9a11e31-ab31-b96c-ba51-3d3f024602ef.png)

[Apriori]ノードを以下のように編集して[実行]ボタンを押します。

![スクリーンショット 2022-03-04 18.13.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f98b26ee-383f-22b3-f273-82862e1bb1e4.png)

モデルが出来上がりました。
![スクリーンショット 2022-03-04 18.14.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3a79ae53-e892-8ea3-d6ce-1f0be67c8e7f.png)


### ②フラグ形式にしてからモデル作成する方法

ノードリファレンス3-5フラグ設定と前半の手続きは共通です。

https://qiita.com/416nishimaki/items/bcaec1cd8e455c3f68a9

[可変長ファイル]から[フラグ設定]、[データ型]、[Apriori]の順に接続します。
![スクリーンショット 2022-03-04 18.22.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/b58bb3ae-1878-0974-b2c3-30cd2ac3d7c7.png)


[可変長ファイル]で[データ型]タブの[値の読み込み]ボタンを押して[中分類]のメンバーを認識させます。
![スクリーンショット 2022-02-22 10.09.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a9a11e31-ab31-b96c-ba51-3d3f024602ef.png)

[フラグ設定]を編集します。[セット型フィールド：]に[中分類]を選択して、左のボックスから60種類全ての中分類メンバーを右のボックスに黄色矢で移動させます。
青枠と緑枠をそれぞれ設定します。
![スクリーンショット 2022-02-22 10.11.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/d160758f-184c-d07b-eb0a-91e9220d6f83.png)

[フラグ]設定ノードを[プレビュー]してデータを確認します。顧客ごとに61種類の中分類購入有無がフラグ形式で表されています。
![スクリーンショット 2022-02-27 21.37.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/d420d983-dbbb-3bde-e039-339588e64cdd.png)

[データ型]ノードを以下のように編集します。[CUSTID]を[レコードID]に割り当て、残りのすべての中分類フィールドの[ロール]を[両方]へ。
![スクリーンショット 2022-03-04 18.19.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/9dfc7145-8f88-7d31-5e94-872d1fce1571.png)

[Apriori]ノードを実行します。
![スクリーンショット 2022-03-05 17.34.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/b9169c49-48b1-dc78-9da8-515c198ab03e.png)

### ③モデルの解釈（①と②共通）
[Apriori]モデルナゲットをダブルクリックで参照します。赤枠のボタンを押して[インスタンス]、[リフト]、[デプロイアビリティ]にチェックをいれてから、[デプロイアビリティ]で高順ソートします（青枠）。

![スクリーンショット 2022-03-05 17.46.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/9d9880cf-72d0-ebe4-038c-7ddc5e78c6e4.png)

たとえば最初のルールは、「インナーウェア06を購入すると婦人服を購入しやすい」、３番目は「化粧品03と婦人服03を購入する人は食品12を購入しやすい」と解釈します。
日付や順序は考慮せず、全期間中での併買傾向を示しています。
![スクリーンショット 2022-03-05 17.50.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/bc65026d-55a7-bddd-3c87-c6e5beab569f.png)

各指標の解釈は次の通りです。
![スクリーンショット 2022-03-05 17.57.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c11c4730-fd16-644e-5a72-ca4700b5ef6a.png)
![スクリーンショット 2022-03-05 17.58.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/994d4ec1-6a7f-8219-ef81-8803bf0df2b5.png)
![スクリーンショット 2022-03-05 17.59.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a21da540-8381-6165-e2d4-e0149b033fd1.png)



## 4.Tips

### 結果の固定
フラグ形式(②）では[ロール]を以下のようにすることで結果を絞り込むことができます。推奨販売商品がアクセサリ04で、それ以外の中分類の購入顧客から誘客にする際に有益です。またエラーコード01が生じる製造条件を探索したい場合も同様です。
![スクリーンショット 2022-03-05 18.22.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/37a1793c-ac27-f1de-7680-02648b365bcb.png)

### 表示するルールの制御
サポートはビジネスインパクトを表すため、ある程度の規模がないとルールとして価値が期待できません。また確信度も施策のコンバージョンと関係するために重要な値です。この２つを変動させて求めるルールの数を調整します。
![スクリーンショット 2022-03-05 18.03.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/fd146454-393d-ff18-930c-71979e598348.png)

### 協調フィルタリングによるレコメンデーション
フラグ形式(②）を例にしてレコメンドリストを作ります。
![スクリーンショット 2022-03-05 18.09.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/ac032fa6-d053-d89d-2d7c-829b56565646.png)
[フィルター]ノードで61種類の購入有無を非表示にして[テーブル]を実行します。
＊モデル作成時に[最小ルール確信度]を50％に調整。
顧客それぞれに、まだ購入していないが見込みの高い上位３つの中分類を[確信度][ルールID]を併せて表示しています。
![スクリーンショット 2022-03-05 18.09.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2daf370b-2608-f824-2d92-e3d103919610.png)

## 5.参考情報

#### 利用データ

右クリックでリンク先を保存してください。

https://raw.githubusercontent.com/yoichiro0903n/blue/main/sampletranDEPT2021mac.csv


#### モデルナゲットの結果の解釈

https://www.ibm.com/support/pages/apriori-%E3%83%8A%E3%82%B2%E3%83%83%E3%83%88%E3%80%80%E3%83%A2%E3%83%87%E3%83%AB%E3%82%BF%E3%83%96%E3%81%AB%E5%87%BA%E5%8A%9B%E3%81%95%E3%82%8C%E3%81%9F%E7%B5%90%E6%9E%9C%E3%81%AE%E8%A7%A3%E9%87%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6


#### ノードのヘルプ

https://www.ibm.com/docs/ja/spss-modeler/18.3.0?topic=rules-apriori-node

#### SPSS Modeler 逆引きストリーム集（データ加工）

https://qiita.com/416nishimaki/items/4bf813e6cba84b2a1008

#### SPSS Modeler ノードリファレンス目次

https://qiita.com/416nishimaki/private/503037195081d3323eee