Help us understand the problem. What is going on with this article?

SPSS Modelerの拡張ノードでRを利用する

More than 1 year has passed since last update.

0.はじめに

SPSS Modelerは一般的に利用される豊富な機能を持っていますが、RやPythonの機能を使いたいこともあります。SPSS Modelerには拡張ノードという機能があり、SPSSからRやPythonを呼び出すことができます。
今回はR連携のセットアップを行ってみたいと思います。

■テスト環境
SPSS Modeler 18.2.1
Windows 10
R 3.3.3

 1.R3.3.3の導入

Modeler18.2.1ではR3.3.3がサポートされています。

IBM SPSS Modeler 18.2.1 - Detailed System Requirements
https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=17B6B0E013E811E9BABD512A6952EE1F&osPlatforms=AIX|Linux|Mac%20OS|Windows&duComponentIds=D001|S002&mandatoryCapIds=13&optionalCapIds=7|47|22|72|186|223#!

image.png

以下からダウンロードします。
https://cran.r-project.org/bin/windows/base/old/3.3.3/

image.png

インストールの際に、導入場所を記録しておきます。インストールのオプションはデフォルトのままでOKです。
image.png

導入したらR x64を起動してみます。
image.png

バージョンが3.3.3であることを確認し、q()で終了します。作業スペースは保存しなくて構いません。
image.png

2.Essentials for R の導入

パスポート・アドバンテージにログオンして、IBM SPSS Modeler - Essentials for R のバージョン 18.2 をダウンロードします。ご使用の IBM SPSS Modeler アプリケーションのオペレーティング・システム用の IBM SPSS Modeler - Essentials for R バージョンをダウンロードするようにしてください。
https://www.ibm.com/software/jp/passportadvantage/pao.html

image.png

install.exeを管理者権限で実行し、導入します。

image.png

image.png

image.png

Rを導入したパスを指定します。デフォルトがR-3.3.2になっているので修正が必要です。
image.png

Modeler Clientを選択します。Modeler Serverと接続して使う場合にはModeler ServerへもEssentials for R の導入が必要です。
image.png

Modeler Clientのパスを指定します。デフォルトのパスに導入している場合はそのままです。
image.png

image.png

image.png

必要に応じて、数値を変更し、メモリー制限を増やすことができます。これを行うには、C:¥Program Files¥IBM¥SPSS¥Modeler¥18.2.1¥ext¥bin¥pasw.rstats¥config.ini ファイルの末尾にオプションを追加します。例えば、制限を 4096 MB に増やすには、以下のようにします。なお、このファイルを修正するためにはWindowsの管理者権限が必要です。

Max_Men_Size=4096

image.png

3.Modelerでの動作確認

Statisticsファイルのインポートノードで以下のファイルを選択します。
C:\Program Files\IBM\SPSS\Modeler\18.2.1\Demos\japanese_ja\pm_customer_train2.sav
image.png

出力タブから拡張の出力ノードを選び接続します。
image.png

Rのシンタックスに以下のコードを書き、実行します。

age<-modelerData$年齢
hist(age)

modelerDataには前のノードからのデータが格納されます。この場合前のノードでpm_customer_train2.savから読み込んだデータの年齢列を取り出してageという配列にいれ、そこからヒストグラムを作っています。

image.png

以下のように年齢のヒストグラムがでれば導入成功です。
image.png

参考

IBM® SPSS® Modeler - Essentials for R: インストール手順
https://www.ibm.com/support/knowledgecenter/ja/SS3RA7_18.2.1/modeler_r_plugin_install_project_ddita/clementine/programmability_option/r_essentials_install_instructions_container.html

IBM SPSS Modeler R ノード - 概要
https://www.ibm.com/support/knowledgecenter/ja/SS3RA7_18.2.1/modeler_r_nodes_ddita/clementine/r_nodes.html
RノードはModeler 18.1から非推奨で拡張ノードを使いますが、Rのサンプルコードなどはこのページからたどれます。

kawada2017
SPSSやWatson Studioをつかったデータ分析をしています
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away