SPSS Modeler ノードリファレンス 1-3 ユーザー入力

# 1-3 ユーザー入力ノード[入力タブ]
<img width="200" alt="107_89ユーザー入力.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/9bfe5f47-13f1-6d48-a411-f870b30288ab.png">

## 1.ノードの目的
データを直接生成することができます。欠損のない時系列マスターデータを作成し、以下のように欠落したレコードを補完するのに利用します。

![スクリーンショット 2022-03-22 12.03.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/d3d1ee9f-1376-c9eb-2a0b-b80f7c22321f.png)

他にも想定できる全ての組み合わせのデータを生成し、①予測モデルが最も高収益を期待できるパターンの抽出や、価格弾力カーブの生成に利用できます。また予測モデルに検査したいシミュレーション用レコードの作成にも使われます。


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

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

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

[ユーザー入力]に[テーブル]を接続します。
![スクリーンショット 2022-01-31 21.48.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/bc18e079-d05f-a517-b2b5-9caa7f21c239.png)


[フィールド]に[番号]と入力し、[ストレージ]は[整数]を選択。[値]に[ 1 ; 13 ]を入力します。
![スクリーンショット 2022-01-31 21.50.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/474643b8-d97c-2ff1-c8cb-7cf4c10be487.png)

[テーブル]を実行すると1から13までの連番レコードができています。
![スクリーンショット 2022-01-31 21.51.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/19d6bd6c-6c1d-63d0-ab70-016010109cee.png)

[フィールド]に[絵柄]を追加し、[ストレージ]は[文字列]を選択。[値]に[ "スペード" "クラブ" "ハート" "ダイヤ"　]と入力します。[画面下]のラジオボタンが[すべての組み合わせ]になっていますので13の番号に4つの絵柄の52通りのデータが生成されます。
![スクリーンショット 2022-01-31 21.59.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c30c8d91-152d-3b5b-71b5-7958fcf896af.png)

[テーブル]を実行すると13ある番号に4つの絵柄の総当たりで52種類のレコードができています。
![スクリーンショット 2022-01-31 21.57.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c5db6260-875c-d9e3-a045-7e49abc36426.png)


### ユーザー入力ノードの注意点
フィールドと値の組み合わせ次第で何百万件という膨大なデータを生成することができます。不必要なレコード生成はパフォーマンスの低下につながるため、赤枠の生成後レコード数に注意してください。
![スクリーンショット 2022-01-31 22.14.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/5a91a1df-6ce2-9f49-2c93-f4ada062fa47.png)


## 4.Tips

#### 予測モデルのスコアリングデータを作成（1レコード）
ノードリファレンス5-1の重回帰モデルを例にします。

https://qiita.com/416nishimaki/items/041619da302a46125b72

目的変数は[馬力]で説明変数には4つのフィールドを用いています。
![スクリーンショット 2022-01-31 22.32.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/590f86ea-ed88-767c-4ca1-e7fb710abfd6.png)
![スクリーンショット 2022-01-31 18.48.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/502bf09d-f620-585b-43a6-83d8176d4432.png)

[可変長入力]ノード上で右クリックして[ユーザー入力ノードの生成]を選択します。
![スクリーンショット 2022-01-31 18.50.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f0101f4f-9b03-4f21-d14f-38dceb9f6cda.png)

生成された[ユーザー入力]を以下のようにモデルに接続します。
![スクリーンショット 2022-01-31 22.36.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/def1b076-284d-598b-e3d7-324a214aa8cf.png)

[燃費][エンジン][車体重量][加速性]に以下の値を入力します。
![スクリーンショット 2022-01-31 22.37.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/1a0886f7-9247-e54f-5061-272f2bd778bb.png)

[テーブル]を実行します。説明変数を確定したので、この1レコードで予測値を求められました。
![スクリーンショット 2022-01-31 22.40.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/51239444-1962-67c8-8741-198011bd3f1b.png)

#### 予測モデルのスコアリングデータを作成（複数レコード）
[燃費]を3種類、[エンジン]4種類、[車体重量]が2種類で[加速性]を4種類の240パターン準備します。想定する範囲で最も高い馬力が期待できる変数の組み合わせを特定することができます。燃費はスペースを空けて３種類を記述していますが（赤矢印）、加速性（４種類）のように[12.5,12.8,0.1]のように開始,終了,単位で効率良く増幅することが可能です。
![スクリーンショット 2022-06-24 18.42.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/8075b205-916e-0afd-c580-78b859dbb1c1.png)


[フィールド作成]でレコード番号[case]を作ります。関数は@&#xFFF0;INDEX。予測値の高い順にソートします。
![スクリーンショット 2022-01-31 22.47.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/229e8d02-8223-4198-fbf1-2ea8f183ac2f.png)
![スクリーンショット 2022-01-31 22.45.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/f61200ac-08e3-f89b-e8d4-45a3327438cb.png)



#### 価格弾力を推定するためにユーザー入力ノードを利用する

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

## 5.参考情報

#### 利用データ

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

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

#### ノードのヘルプ

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

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

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

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

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