スクリプトからネイティブ Python API を呼び出して、 SPSS Modelerと対話できます。
以下の API がサポートされています。
例を見るには、サンプルストリームをダウンロードしてください。python-extension-str.zipそれをインポートするSPSS Modeler(の中に資産タブをクリックして。 次に、フロー内の拡張ノード・プロパティーを開いて、構文例を確認します。
データ・モデル用の API
modelerpy.isComputeDataModelOnly()
この API を使用して、現在の実行が出力データを計算するか、出力データ・モデルのみを計算するかを確認できます。
true
が返された場合、スクリプトは、入力データまたは出力データに依存するタスクを実行 してはなりません 。実行できない場合、実行は失敗します。modelerpy.getDataModel()
この API は、 SPSS Modeler に連絡して、入力データ・セットのデータ・モデルを取得します。 戻り値は
class DataModel
のインスタンスです。これは、フィールド数、フィールド名、フィールド・ストレージ・タイプなど、入力データ・セットのメタデータを記述します。modelerpy.setOutputDataModel(dataModel)
この API は、クラス
DataModel
のインスタンスを SPSS Modelerに送り返します。この API は、スクリプトがデータ・セットを SPSS Modelerに渡す前に呼び出す必要があります。 SPSS Modeler は、このDataModel
インスタンスに記述されているメタデータを使用して、 SPSS Modeler 側でデータを処理します。
モデリングのための API
modelerpy.saveModel(model, name='model')
この API は、 Python モデルを SPSS Modeler モデルに変換します。その後、このモデルを SPSS Modeler に保存します。 保存されたモデルは、生成されたモデル・ナゲットにコピーされます。 Python モデルの作成時に、モデル作成ノードからこの API を呼び出します。
modelerpy.loadModel(name='model')
この API は、 SPSS Modeler 保存済みモデルをロードし、保存済みモデルの Python オブジェクトを作成します。 モデル・ナゲットからこの API を呼び出して、以降の処理 (スコアリングなど) のために保存されたモデルをロードします。
入出力データ・セットの API
modelerpy.readPandasDataframe()
この API は、 SPSS Modeler から Pythonにデータ・セットを読み取ります。 戻り値は、 Python Pandas DataFrame (2 次元配列に類似した 2 次元データ構造、または行と列を持つ表) です。
modelerpy.writePandasDataframe(df)
この API は、 Python Pandas DataFrame を Python から SPSS Modelerに書き込みます。
パッケージ用の API
modelerpy.installPackage(package)
この API は、
pypi.org
からパッケージをプルしてインストールします。modelerpy.uninstallPackage(package)
この API は、インストール済みパッケージをアンインストールします。
modelerpy.listPackages()
この API は、すべてのインストール済みパッケージのリストを提供します。
メタデータ用の API
modelerpy.getDataModel
および modelerpy.setOutputDataModel
では、以下のメタデータ関連クラスを使用します。modelerpy.DataModel
この API は、メタデータのメイン・エントリー・クラスです。 これには、
class Field
のインスタンスの配列が含まれ、以下のメソッドが含まれます。modelerpy.DataModel.getFields
このメソッドは、
class Field
インスタンスの配列を返します。modelerpy.DataModel.addField
このメソッドは、
Field
のインスタンスをメタデータ配列に追加します。modelerpy.Field
Field
クラスは、フィールド名、ストレージ、測定値などの実際のメタデータ情報が保管される場所です。modelerpy.Field.getName
このメソッドは、フィールドの名前を返します。
modelerpy.Field.getStorage
このメソッドは、フィールドのストレージを返します。 有効なストレージには、
integer
、real
、string
、date
、time
、およびtimestamp
が含まれます。modelerpy.Field.getMeasure
このメソッドは、フィールドの測定値を返します。 有効な測定値は、
discrete
、flag
、nominal
、ordinal
、およびcontinuous
です。
modelerpy.Field
の配列を使用して modelerpy.DataModel
コンストラクターを呼び出すことにより、 DataModel
オブジェクトを構成します。 modelerpy.Field
コンストラクターは、フィールド名、フィールド・ストレージ、およびフィールド測定を入力パラメーターとして受け入れます (フィールド・ストレージおよびフィールド測定は必須です。フィールド測定はオプションです)。dataModel = modelerpy.DataModel([
# %FieldName%, %StorageType%, %MeasurementType%
modelerpy.Field(‘StringField’, ‘string’, ‘nominal’),
modelerpy.Field(‘FloatField’, ‘real’, ‘continuous’),
modelerpy.Field(‘IntegerField’, ‘integer’, ‘ordinal’),
modelerpy.Field(‘BooleanField’, ‘integer’, ‘flag’),
modelerpy.Field(‘DatetimeField’, ‘timestamp’, ‘continuous’),
modelerpy.Field(‘TimeField’, ‘time’, ‘continuous’),
modelerpy.Field(‘DateField’, ‘date’, ‘continuous’),
])
# StorageType could be: integer, real, string, date, time, timestamp
# MeasurementType could be: discrete, flag, nominal, ordinal, continuous
outputDataModel = modelerDataModel
outputDataModel.addField(modelerpy.Field(field_outlier, "real", measure="flag"))
outputDataModel.addField(modelerpy.Field(field_dist_hp, "real", measure="continuous"))