マルチソース SPSS Modeler フローのデプロイ手順

# はじめに
CP4DaaS が提供する watsonx.ai Studio*（旧名称 Watson Studio） および watsonx.ai Runtime*（旧名称 Watson Machine Learning） において、複数のデータソースを利用する、SPSS Modeler Flow （以下、Modeler Flow）を Model としてデプロイメントしてオンライン実行することが可能になりました。

ここでは、Modeler Flow からモデルを作成し、デプロイして実行するまでの手順を紹介します。

手順の概要は以下のとおりです。

1. モデルの保存
1. 作成したモデルをデプロイメント・スペースへプロモート
1. デプロイメント・スペースに移動し、当該モデルのデプロイを実施
1. デプロイしたモデルにデータをインプットしてテストを実行

*watsonx.ai Studio および watsonx.ai Runtime は CP4DaaSまたはwatsonxの各UIから利用可能です。詳細は下記製品資料をご参照ください。
製品資料：[IBM watsonx as a Service と Cloud Pak for Data as a Service の比較](https://dataplatform.cloud.ibm.com/docs/content/wsj/getting-started/compare-platforms.html?context=cpdaas&locale=ja&audience=wdp)


# モデルの保存

モデルの保存は、以下の手順を行います（任意のフローをお使いください。この例では２つのデータソースを結合し、結果をテーブルに出力する簡単なストリームを使用しています）。
    ![Modeler Flow 2025-03-20 20.33.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/8634dd67-96fa-476a-b800-f3b7d65b85c6.png)

1. ストリーム内の対象となるノードに移動して、表示される「︙」をクリックする
![Menu 2025-03-20 20.40.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/0299d006-13d8-407a-bd53-3057bfc19e86.png)
1. プルダウンメニューが表示されるので、「ブランチをモデルとして保存」をクリックする
![Esxport Model 2025-03-20 20.33.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/ee0ade40-5424-4388-b7db-90a5ba3e08c1.png)

1. 「モデルの保存」画面が表示される
![Save Model 2025-03-20 20.51.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/ccb6b684-379a-47e8-b437-a292c8cd6ba3.png)


    1. 「ブランチ・ターミナル・ノード（必須）」を確認し、先ほど 2. で選択したノードであることを確認する。
    2. 「モデル名（必須）」に名前を入力する（この例では、「MultiSourceModelTest」と入力）。
    3. 右下にある「保存」ボタンをクリックする。
    4. モデルが保存できたことを示す画面が表示されるので、「閉じる」ボタンをクリックする。
    
1. Modeler Flow をクローズし、プロジェクトの「資産」タブに戻る
![CP4DaaS Assets 2025-02-19 15.34.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/080c1339-8f29-4199-a69c-0159d80198a6.png)
1. MultiSourceModelTest が作成されていることが確認できる



# 作成したモデルをデプロイメント・スペースへのプロモート
先ほど作成した、モデルをデプロイメント・スペースにプロモートします。
1. （MultiSourceModelTest）の右端にある「︙」をクリックし、「スペースへのプロモート」をクリックする。
![CP4Daas Assets Promote 2025-02-19 15.34.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/bff658c3-eaf7-47c7-b19f-9b39df896949.png)

1. 「スペースへのプロモート」 画面が表示されます
    1. 「ターゲット・スペース」の「∨」をクリックし、既存のターゲット・スペースを選択します（今回は、「SPSS検証」ターゲット・スペース）
    1. 右下の「プロモート」ボタンをクリックします
    ![CP4DaaS Promote 2025-02-19 15.35.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/793042c6-2484-4a7c-a553-3d127edfa337.png)

1. 「スペースへのプロモート」画面に戻る
![CP4DaaS Promoting 2025-02-19 15.36.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/1d36d3fd-0df3-468b-88fb-03ce293c2798.png)

1. 右端の「状況」に「プロモート済み」と表示されていれば、プロモートは完了したことがわかる
![CP4DaaS Promoted 2025-02-19 15.37.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/bc809ed0-bbd6-4c27-8309-660e47e896b7.png)

# デプロイメント・スペースに移動し、当該モデルのデプロイを実施

次にプロモートしたモデルをデプロイします。

1. 画面左上にある「≡」ボタンをクリックして、プルダウンメニューを表示します
![IBM Cloud Pak for Data Menu Button 2025-03-19 15.23.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/d882388f-fb3c-46f9-b5f8-a8ac0136c6af.png)

1. メニューから「デプロイメント」をクリックします
![IBM Cloud Pak for Data Menu 2025-03-19 15.22.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/9d633717-7909-4601-a5d8-89401603f916.png)

1. デプロイメント・スペースの一覧から、プロモートに使用した「SPSS検証」をクリックします
1. 「資産」タブに移動すると、先ほどプロモートした「MultiSourceModelTest」があることを確認します
![CP4DaaS Depolyment Assets 2025-02-19 15.38.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/d188d88c-54f3-4a96-b356-f7108e56f5c7.png)

1. 右端の「︙」をクリックし、メニューを表示する
1. メニューの「デプロイ」をクリックする
![CP4DaaS Assets -> Deploy 2025-02-19 15.39.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/af81895d-cb8b-45c9-a69f-586859a3587e.png)

1. 「デプロイメントの作成」画面が表示される
    1. 「デプロイメント・タイプ」として「オンライン」を選択する
    1. 「名前」フィールドに、任意の名前を記入する
    1. 右下にある「作成」ボタンをクリックする
    ![CP4DaaS Deployment Online 2025-02-19 15.40.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/c2540044-356b-4b87-aa1f-342e19fcc7c4.png)

1. デプロイメント画面に遷移する
![CP4DaaS Deploying 2025-02-19 15.41.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/5d94e530-af91-43c9-9608-94cbddb2af15.png)

1. 「状況」列が、「初期化中」から「デプロイ済み」に変わることで、デプロイは完了したことがわかる

# デプロイしたモデルにデータをインプットしてテストを実行

デプロイしたモデルのテストで、マルチソースのモデルの実行が可能であることを確認する。

1. デプロイしたモデル（例では、MultiSourceModelTest）をクリックする
![CP4DaaS Deployment 1 2025-02-19 15.44.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/07a0a48b-d571-4fa3-b8e2-718cf3cb4ef8.png)

1. 「APIリファレンス」タブが表示されていた場合、右隣の「テスト」タブをクリックして移動する
![CP4DaaS Deployment 2 2025-02-19 15.45.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/1a6a99da-3ac6-4f3c-a65f-c89f48e89a87.png)

1. 「テスト」タブでは、「入力データの入力」画面があり、「JSON」タブが表示されている
![CP4DaaS 1 TestInput1 2025-02-19 16.40.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/e304927a-2c74-48e1-8c64-00776e62e11c.png)

1. ２つのデータソースに対する入力をJSON形式で行う（データソースの数だけ、input_data[]の配列に { fields[],  values[] } のペアを入力）
参考までに、入力時に使用したデータのテーブルイメージは以下の通りです。

input : WebLog2021mac.csv

|顧客番号|DATE|Page|大分類|滞在秒数|
|:------|:---|:---|:-----|:-----|
|103653|2021-02-26|/sv/help/en-us/surfhlp/surftoc.htm?|カテゴリC|25|


input : CP4DaaS 検証:/XYY71441/ATTITUDE

|顧客番号|SEIBETU|AGE|KUBUN|SHOYUSHA|MAKER|SHITADORI|MOKUTEKI|KENTOU|CAREER|
|:-------|:------|:-----|:----|:-------|:----|:--------|:-------|:-----|:-----|
|103653|男性|24|自営業|他社|外国車|ない|タイプA|7|1|



<details open><summary>サンプル入力</summary>

```json:input.json
{
        "input_data": [
                {
                        "fields": [
                                "顧客番号",
                                "DATE",
                                "Page",
                                "大分類",
                                "滞在秒数"
                        ],
                        "values": [[103653,"2021-02-26","/sv/help/en-us/surfhlp/surftoc.htm","カテゴリC",25]],
                        "id": "WebLog2021mac.csv"
                },
                {
                        "fields": [
                                "KOKYAKU",
                                "SEIBETU",
                                "AGE",
                                "KUBUN",
                                "SHOYUSHA",
                                "MAKER",
                                "SHITADORI",
                                "MOKUTEKI",
                                "KENTOU",
                                "CAREER"
                        ],
                        "values": [["103653","男性",24,"自営業","他社","外国車","ない","タイプA",7,1]],
                        "id": "CP4DaaS 検証:/XYY71441/ATTITUDE"
                }
        ]
}

```

</details>

5\. 右下の「予測」ボタンをクリックして、テストを実行する
![CP4DaaS 1 TestInput1 2025-02-19 16.40.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/dec09470-4d09-482e-b545-965ea1e06331.png)

6\. 「予測結果」画面が表示され、JSONビューで実行結果が表示される
![CP4DaaS 1 TestOutPut1 2025-02-19 16.45.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/0b129f7c-b31c-4038-83cb-845736690901.png)


以下に、サンプルの出力を添付します。
<details open><summary>サンプル出力</summary>

```json:output.json
[
	{
		"fields": [
			"KOKYAKU",
			"SEIBETU",
			"AGE",
			"KUBUN",
			"SHOYUSHA",
			"MAKER",
			"SHITADORI",
			"MOKUTEKI",
			"KENTOU",
			"CAREER",
			"DATE",
			"Page",
			"大分類",
			"滞在秒数"
		],
		"values": [
			[
				103653,
				"男性",
				24,
				"自営業",
				"他社",
				"外国車",
				"ない",
				"タイプA",
				7,
				1,
				"2021-02-26 00:00 AM GMT",
				"/sv/help/en-us/surfhlp/surftoc.htm",
				"カテゴリC",
				25
			]
		]
	}
]
```

</details>


# 参考資料：
+ [製品資料: IBM マニュアル: マルチソース SPSS Modeler フローの展開](https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/deploy-spss-ms-online.html?context=wdp&context=cpdaas&audience=wdp&locale=ja)
    + 本記事でご紹介した手順。オンライン・デプロイメントとして展開。
+ [製品資料: 複数のデータ・ソースを使用した SPSS Modeler バッチ・ジョブの作成](https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/ml-deploy-SPSS-multiple-input.html?context=cpdaas&locale=ja&audience=wdp)
    + 本記事での取扱なし。バッチ・デプロイメントとして展開する場合はこちらの手順を参照。