SPSS Modeler ノードリファレンス 3-6 再構成

# 3-6 再構成ノード[フィールド設定タブ]
<img width="200" alt="107_89再構成.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/12b434b3-45db-664a-f248-acae789296ac.png">


## 1.ノードの目的
縦持ちデータを横持ちに変換します。時系列IoTデータやID付POS取引データから対象カテゴリをフィールドに展開して該当する値を埋めます。後続でIDを要約する[レコード集計]や欠損処理の[置換]をセットで用います。

![スクリーンショット 2022-02-22 11.28.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/cc8719ef-04d4-d7b6-670e-b28863939c6f.png)

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

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

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

顧客の1年分の取引履歴（ID付POSデータ）から顧客毎に大分類の利用金額を求めます。
＊入力データは[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)

[可変長ファイル]から[再構成]、[テーブル]の順に接続します。
![スクリーンショット 2022-02-22 11.36.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/60e63b7c-4ad5-2856-3ee9-2cbddea2b812.png)

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

[再構成]を以下のように設定します。利用可能なフィールドに[大分類]が表示されない場合には一つ前のプロセスで[データ型]で[値の読み込み]をします。
![スクリーンショット 2022-02-22 11.37.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/5ee6e07a-956d-137a-188b-b26917c2e282.png)

[テーブル]を実行します。７フィールドが新規に追加され、該当する小計が埋め込まれています。該当のないレコードは欠損値になっています。
![スクリーンショット 2022-02-22 11.38.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6634e198-674f-4939-42c9-c9ceb8e35416.png)

ストリームに[レコード集計]と[置換]を繋げます。
![スクリーンショット 2022-02-22 11.41.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2a0b9805-88dc-80a3-32e4-236595b464d9.png)

[レコード集計]ノードでは[小計]と７つの大分類の小計の合計を求めます。
![スクリーンショット 2022-02-22 11.41.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/4dba55d8-c03e-d2d5-b0da-b3a7a66b3183.png)

欠損値ヌルを０に置換します。
![スクリーンショット 2022-02-22 11.41.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/976d9d32-f158-1d63-cde8-9b198a335f02.png)

[テーブル]を実行します。
![スクリーンショット 2022-02-22 11.40.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2ec7e777-9acd-c03d-fbcc-2d1030ef34b8.png)


### 再構成の注意点とヒント
#### 欠損値の扱い
[再構成]は該当のないセルは欠損値としますが、後続で比率を求めることを想定して０に置換しておきます。

#### 再構成するべきフィールドが表示されない
事前にデータ型を確定しないとメンバーとして表示されないので注意します。また250種類以上のメンバーをもつ場合にはデータ型が[不明]と識別してフラグ化できないため、ツール＞ストリームのプロパティで変更しておきます。
![スクリーンショット 2022-02-22 10.15.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/9966cc5d-bc21-c029-0e9e-2b19750f675d.png)

## 4.Tips

### クラスタ分析のために大分類比率を求める
[置換]ノードを追加して次のように設定します。
![スクリーンショット 2022-02-22 12.03.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/393711eb-a70d-af21-cf72-1e3bedf373b6.png)

![スクリーンショット 2022-02-22 12.03.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e2b6467d-dfc2-7a63-8fac-73a32e942966.png)

### ID付POSやIoT時系列データから特徴量を生成するスゴ技職人「再構成ノード」

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

### 複雑な集計表を作成する

https://www.ibm.com/blogs/solutions/jp-ja/modeler-tips-06/

### SPSS Modelerの再構成ノードをPythonで書き換える。購入商品カテゴリごとの集計

https://qiita.com/kawada2017/items/8c35ca78bfe568cb0e76

## 5.参考情報

#### 利用データ

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

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

#### ノードのヘルプ

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

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

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

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

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