SPSS Modeler ヒモトク
【リレー連載】わたしの推しノード –ストリームを変幻自在に整頓活用する超人「スーパーノード」の神業パラメータ処理
2020年11月11日
カテゴリー IBM Data and AI | SPSS Modeler ヒモトク | アナリティクス | データサイエンス
記事をシェアする:
日本アイ・ビー・エムの坂本です。
近年、仏像がブームですが、仏教では、六神通(ろくじんずう、ろくじんつう)と呼ばれる仏・菩薩が持っている6種の神通力があります。その中の一つ、「神足通(じんそくつう)」は、自由自在に自分の思う場所に思う姿で行き来でき、思いどおりに外界のものを変えることのできる力です。(Wikipedia より)
今回、私の推し「スーパーノード」は、その能力を分析者にマウス数クリックで与えてくれる、文字通り、超人的なノードです。 ストリームを作成し使い続けていくと、業務の要求を反映していくうちに、処理が複雑になってきて、後からノードを追加して、プロセスが横に長〜くなってしまいます。いつの間にかカオス状態に陥り、どこで何をしていたのか分からなくなって、途方に暮れる、、、といった状況は私だけでないはず。今回、そんな散らかったストリームを、スーパーノードの神業で瞬時に整頓し、再利用性・汎用性の高いストリームに変幻自在に変えてしまいましょう。
「スーパーノード」でストリームを簡潔化
入出力のデータ例
小売業で顧客単価を店舗で比較するストリームを例にとって見ていきます。 下記のように、入力は顧客コードをキーにした売上明細、出力は店舗ごとに集計した結果です。
抽出条件を追加
条件抽出ノードをストリーム途中に追加します。
データ期間のFromとToをセット
一定期間を限定して集計するためFrom日付とTo日付を条件抽出ノードで指定します。
(実際には、期間での条件抽出は、条件抽出ノード1つで 「’2005-07-16′ <= DATE and DATE <= ‘2005-10-01’」 と条件式を記述可能です。 ここでは、便宜上わかりやすいように、期間FromとToの条件抽出ノードを分けています)
2つのノードをカプセル化
ここからスーパーノードの出番です。今後、この From – To の2ノード部分はストリームでの配置上は固定しておきたい処理だとします。2ノードを選択した状態で右クリックします。「スーパーノードの作成」を選択します。
2つのノードがスーパーノードとしてカプセル化されました。(星型のアイコン)
これだけの操作で、ストリーム全体の処理が見やすく簡潔になりました。詳細な条件抽出部分はスーパーノードとして抽象化されています。
スーパーノードにパラメータ設定
そうはいっても、From – to の条件は、都度、対象期間を変えて集計したいです。では実際に、条件設定を変えてみましょう。スーパーノードを選択すると「パラメータ」のタブで設計できるようになっています。
パラメータを入力した例
fromとtoの2つのパラメータを設定しました。
スーパーノードの内部でパラメータを対応
パラメータが実効するように、スーパーノードの内部をズームインしてそれぞれのノードに関数を指示します。“$P‐パラメータ名”に該当する文字列や整数が充当されます。
Modeler上のスーパーノードからパラメータを制御
以後、集計期間を変えたいときは、都度スーパーノードをダブルクリックして利用します。
たった、数クリックの操作で、ストリーム全体の見通しが良くなり、管理しやすくなりました。スーパーノードにすることで、ビジネス・ロジックが分離され、保守や運用のコストも減らせることでしょう。 スーパーノードは、スーパーノード自体をネストさせたり、ライブラリとしてエクスポートしたり、保存して他のストリームで再使用したり、、、といろいろな機能があります。
自由自在にズームイン、ズームアウト可能なスーパーノードの便利さがお分かりいただけましたでしょうか。 後半は、「推しノード」からはちょっと外れてしまいますが、スーパーノードでパラメータ設定したストリームを、バッチ実行するのに便利な SPSS Collaboration & Deployment Services (CADS : キャズ) のご紹介です。
SPSS CADS でストリームのバッチ処理
SPSS CADS とは?
Modeler で作成したストリームをバッチ、リアルタイムのいずれでも実行可能な運用サーバーです。分析資産を効率的に共有および再利用(コラボレーション)し、予測分析の結果を配信(デプロイメント)します。
CADSサーバーへの接続
Modeler から CADSサーバーに接続し、対象のストリームを格納後、CADSの GUI クライアントのキャンバス画面でジョブを登録します。
ストリームのジョブ登録
ジョブを作成します。
指定したスケジュールに合わせて、ジョブが実行されました。
以上が、シンプルなジョブ実行の流れです。
パラメータ付きでジョブ実行する場合
スーパーノードの記述で例にあったようなストリームをパラメータ付きで実行する場合、CADSでも同様にパラメータ付きでジョブ実行できます。
CADSに表示されたストリームにパラメータを設定します。
※値を ${JobVariable.ジョブ変数で設定した変数名}に変更します ※パラメータが表示されない場合、全般タブからラベルをLATESTにします
ジョブを右クリックし、「オプションありでジョブを実行」します。
Modeler Clientで実行時と同様、パラメータの値を指定する画面が表示
値を指定してOKをクリックすると、ジョブが実行されます。
CADSには、上記のバッチ処理に加えて、Modelerストリームを REST API 化してリアルタイム・スコアリングが実行できます。オンラインでアプリケーションと連携して、予測結果をリアルタイムに返す、という実装例もいくつか出てきています。
おわりに
DataOps の考えでは、ビジネス・ゴールに向かって、データ分析のサイクル・タイムをいかに短縮できるか、アジャイルな手法が取り入れられています。分析メンバーやチーム全体の生産性をいかに高められるか、という観点で、今回ご紹介しました、Modeler スーパーノード使用による分析資産の品質向上や、CADS による運用保守管理の容易性といったメリットが享受いただけるものと思います。 次回のリレー連載、推しノード#21は三井住友海上火災の木田様が「シミュレーションノード」について解説されます。
→これまでのSPSS Modelerブログ連載のバックナンバーはこちら
→SPSS Modelerノードリファレンス(機能解説)はこちら
→SPSS Modeler 逆引きストリーム集(データ加工)はこちら
坂本 康輔
日本アイ・ビー・エム株式会社
クラウド&コグニティブ・ソフトウェア事業本部
Data and AI事業部
データサイエンス&AI テクニカルセールス
データ分析者達の教訓 #22- 予測モデルはビジネスの文脈で語られ初めてインパクトを持つ
Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...
皆さんこんにちは。IBMの坂本です。 SPSSを含むデータサイエンス製品の技術を担当しています。 このリレー連載ブログはSPSS Modelerの実際のユーザーで第一線で活躍するデータ分析者に、データ活用を ...続きを読む
データ分析者達の教訓 #21- 異常検知には異常を識別する「データと対象への理解」が必要
Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...
皆さんこんにちは。IBMの宮園です。IBM Data&AIでデータサイエンスTech Salesをしています。 このリレー連載ブログはSPSS Modelerの実際のユーザーで第一線で活躍するデータ分析者に、デー ...続きを読む
【予約開始】「SPSS秋のユーザーイベント2024」が11月27日にオンサイト開催
Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...
本年6月800名を超える方々にオンライン参加いただいたSPSS春のユーザーイベントに続き、『秋のSPSSユーザーイベント』を11月27日に雅叙園東京ホテルにて現地開催する運びとなりました。 このイベントは ...続きを読む