SPSS Modeler ノードリファレンス 3-12 アンサンブル

# 3-12  アンサンブルノード[フィールド作成]
<img width="200" alt="194-161アンサンブル" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/bb6a7d57-080c-5ad7-21d4-630388ff1130.png">

## 1.ノードの目的
複数のモデルの予測を多数決(評決)や平均で合成します。例えば５つのモデルのうち３つ以上が「異常」と判断するとアンサンブルノードは「異常」判定します。
＊ノードリファレンス5-11[自動分類]ノードと5-12[自動数値]ノード（Autoモデリング）はアンサンブルを内部で行うため、このノードは不要です。PythonやRの外部アルゴリズムやビジネスルールを組み込んだ場合を想定しています。

以下のイメージを実現します。

![スクリーンショット 2022-05-18 16.06.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/76ddd68f-d99a-c7f5-769b-a267b25a0bff.png)

＊フラグを予測する場合には多数決ですが、数値予測の場合には平均を利用します。

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

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

## 3.クイックスタート
製造条件からNG（不良品）になる予測モデルを自動分類で作成します。
＊入力データは[5.参考情報]からダウンロードできます。
![スクリーンショット 2022-05-18 16.24.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/1651f507-bbea-9c98-bc3a-ed0402149f51.png)

[可変長ファイル]に[データ区分]、[データ型]を接続し[CHAID][XGBoostツリー][ニューラルネット]を繋げます。①ではdefect.csvに接続するのみ。②は何も編集せず5割を学習、5割を検証に割り当てます。
![スクリーンショット 2022-05-18 16.20.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/66026541-8f30-1509-cf33-20586344f13d.png)

③の[データ型]では[値の読み込み]ボタンを押して、[ID]を[レコードID]に[NGフラグ]を[対象]にします。
![スクリーンショット 2022-05-18 16.29.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/bb842480-7740-f99d-a24a-f5742e174e8a.png)

④⑤⑥を実行し、モデルナゲットから以下のように[アンサンブル]と[テーブル]を接続してストリームを拡張します。
![スクリーンショット 2022-05-18 16.35.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/7f1fd84b-d650-1d36-cd4a-a85d2441846d.png)

[テーブル]を実行すると３つのモデルを合成(アンサンブル)した予測結果と確信度の２列が追加されます。
![スクリーンショット 2022-05-18 16.37.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/5506494c-a8af-4fd1-f1b2-fc60963aa0e1.png)

[アンサンブル]を編集して以下の赤枠からチェックを外すと、各モデルの予測と確信度が表示されます。
モデルが奇数個のため、[評決が同じ場合・・・]については選択しないでOKです。
![スクリーンショット 2022-05-18 16.40.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6afc3bbb-4c52-0679-9efe-e50d563fa905.png)

テーブルが表示されました。
![スクリーンショット 2022-05-18 16.51.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/af750c50-eb7f-476a-cef8-66a82452d0d4.png)

フラグ型を予測している場合のアンサンブルは1か0を多数決（評決）によって確定します。確信度は満場一致の場合は平均で、票が割れると以下のように計算します。
![スクリーンショット 2022-05-18 16.06.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/9476923c-e6da-5e20-51b7-561618013f36.png)


## 4.Tips

#### 自動分類ノードでアンサンブルを行う

例えば[自動分類]で上位５つのモデルを選択します。

![スクリーンショット 2022-05-18 18.18.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/53d36be1-f293-310e-3bb3-c9b638933a5e.png)

モデルナゲットを編集し、以下の３つのアルゴリズムにチェックを入れればアンサンブルを実行して、クイックスタートと全く同じスコアリングを行います。

![スクリーンショット 2022-05-18 18.18.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2e3609a3-7c38-b6fb-e007-9e968dcb0fb0.png)



#### アンサンブルについて解説した記事

https://www.ibm.com/blogs/solutions/jp-ja/spssmodeler-push-node-23/


## 5.参考情報

#### 利用データ

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

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

#### ノードのヘルプ

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

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

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

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

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