1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM Bob+カスタムMCPでSPSS Modelerストリームを自動生成

1
Posted at

IBM Bob+カスタムMCPでSPSS Modelerストリームを自動生成

はじめに

IBM Bobは、自然言語のプロンプトからコードを生成できるAIアシスタントです。本記事では、カスタムMCPサーバーを活用したSPSS Modelerストリームファイルの自動生成実例を紹介します。

通常、SPSS Modelerでの作業ではGUIで手動でノードを配置・設定する必要があります。以下の記事では、IBM Bobが生成したスクリプトからストリームファイルを作成し、ログをみて修正するという画期的な方法が紹介されており、手動でのノード配置作業を大幅に削減できます。

IBM BobでSPSS Modelerストリームを生成する

しかし、この方法には以下の課題がありました。

  • スクリプトの構文エラーが頻繁に発生する
  • clembコマンドの実行にリスクがあり、自動実行が不可

本記事では、2つのカスタムMCPサーバーを組み合わせることで、これらの課題を解決し、さらなる自動化を実現しました。

テスト環境

  • OS: Windows 11
  • SPSS Modeler: 19.0
  • IBM Bob: 1.0.1
  • 使用モード: Advanced(MCPツール使用可能)

使用したカスタムMCPサーバー

今回は2つのカスタムMCPサーバーを導入しました:

image.png

1. spss-clemb-mcp

SPSS Modelerのclemb(コマンドライン実行ツール)を実行するMCPサーバーです。スクリプトやストリームファイルをバッチ実行できます。

SPSS Modeler clemb MCPサーバー #SPSS_Modeler - Qiita

2. ibm-docs

IBM製品のマニュアルを検索するMCPサーバーです。SPSS ModelerのAPIドキュメントを自動検索し、正確なコードを生成できます。

IBM Documentation検索MCPサーバー #IBMBob - Qiita

データの準備

今回使用するデータは、顧客の信用度を予測するためのサンプルデータです。

ファイル名: tree_credit_ja.csv

データ構造:

信用度,年齢,所得,クレジットカード,教育,車ローン
0.000,36.220,2.000,2.000,2.000,2.000
0.000,21.990,2.000,2.000,2.000,2.000
0.000,29.170,1.000,2.000,1.000,2.000

フィールド説明:

  • 信用度: 予測対象(目的変数)
  • 年齢: 顧客の年齢
  • 所得: 所得レベル
  • クレジットカード: クレジットカード保有状況
  • 教育: 教育レベル
  • 車ローン: 車ローンの有無

文字コード: UTF-8

実行手順

ステップ1: プロンプトの入力

IBM Bobに以下のプロンプトを入力しました:
image.png

目的:
顧客情報に基づき信用度(1.0/0.0)を予測するモデルをSPSS Modeler scriptで生成して下さい。

注意:
modeler scriptはJythonと呼ばれる言語で書きます。python 2.x系なので日本語を扱うときにはuをつけてください。
シバンを書いてはいけません。エンコーディング宣言は書いてはいけません。

方法:
入力はtree_credit_ja.csvです。
tree_credit_ja.csvはUTF-8です。encodingでUTF-8を指定してください
作成したスクリプトをspss-clemb-mcpで実行ログを出力してください。
APIの仕様で不明な点はibm-docs-mcpで検索してください。
ログを確認して、最終的にエラーがでなくなったらストリームを保存してください。

ステップ2: データの確認

Bobはまずデータファイルを読み込み、データ構造を把握しました。

image.png

ステップ3: TODOリストの作成と実行

Bobは以下のTODOリストを作成し、順次実行していきました:

  1. データ構造の確認
  2. SPSS Modeler APIの仕様確認
  3. Jythonスクリプトの作成
  4. スクリプトの実行とログ確認
  5. エラー修正(必要に応じて)
  6. ストリームファイルの保存

image.png

ステップ4: マニュアルの自動検索

Bobはibm-docsのMCPツールを使用し、SPSS ModelerのAPIドキュメントを検索しました。

image.png

ステップ5: スクリプトの生成

APIドキュメントを参照して、Jythonスクリプトを生成しました。

image.png

ステップ6: clembでの実行とエラー修正

Bobはspss-clemb-mcpのMCPツールを使用し、スクリプトを自動実行します。

image.png

初回実行時のエラー

エラーログを確認し、ibm-docsでマニュアルを再検索しています。
image.png

マニュアル検索の結果に基づき、スクリプトを修正しています。

image.png

修正したスクリプトをspss-clemb-mcpで再実行します。
image.png

実行が成功したため、ストリームの保存方法についてibm-docsでマニュアルを検索しています。
image.png

保存方法が判明したため、コードを追加します。
image.png

修正したスクリプトをspss-clemb-mcpで実行します。
image.png

ストリームファイルの生成に成功しました。

image.png
image.png

ステップ7: 実行結果の確認

生成されたログファイル (clemb.log):

IBM® SPSS® Modeler 19 - (C) Copyright IBM Corp. 1994, 2021
バッチ モードによる実行、フラグ 2026/03/30 17:22:19 の [-script credit_model.py -execute -log credit_model.log ]
情報: 実行を開始しています...
情報: Stream run in progress...
情報: モデル '信用度予測モデル' の構築に、0 時間 0 分 0 秒かかりました
情報: モデル '信用度予測モデル' を評価しています...
情報: モデル '信用度予測モデル' の評価に、0 時間 0 分 0 秒かかりました
情報: ストリーム実行の成功
情報: ストリーム実行の完了 経過時間=0.67 秒、CPU=0.11 秒

実行結果:

ステップ8: ストリームファイルの確認

生成されたcredit_model_stream.strをSPSS Modelerで開くと、以下のようなストリームが表示されます。

image.png

まとめ

本記事では、IBM Bobと2つのカスタムMCPサーバー(ibm-docs-mcp、spss-clemb-mcp)を組み合わせることで、自然言語のプロンプトからSPSS Modelerストリームをワンショットで作成する方法を紹介しました。

従来の課題を解決

従来の方法で課題となっていた以下の2点を解決しました。

  • 正確なコード生成: ibm-docs-mcpによるマニュアル検索で構文エラーを最小化
  • clembコマンドの安全な自動実行: spss-clemb-mcpによる即座の実行確認とエラーハンドリング

今後の展望

  • 複雑なストリームへの対応: 現時点では基本的なストリームの生成が可能。今後はサンプルやスキルを充実させることで、より複雑なストリームの自動生成を目指す

参考資料

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?