ネイティブ Python API
スクリプトからネイティブ Python API を呼び出して、 IBM® SPSS® Modelerと対話できます。
以下の API がサポートされています。
例を確認するには、 サンプル・ストリーム をダウンロードして、 IBM SPSS Modelerにインポートします。
データ・モデル用の API
modelerpy.isComputeDataModelOnly()この API を使用して、現在の実行が出力データを計算するか、出力データ・モデルのみを計算するかを確認できます。
trueが返された場合、スクリプトは入力データまたは出力データに依存するタスクを実行 してはなりません 。実行が失敗します。modelerpy.getDataModel()この API は、 IBM SPSS Modeler に連絡して、入力データ・セットのデータ・モデルを取得します。 戻り値は、入力データ・セットのメタデータ (フィールド数、フィールド名、フィールド・ストレージ・タイプなど) を記述する
class DataModelのインスタンスです。modelerpy.setOutputDataModel(dataModel)この API は、クラス
DataModelのインスタンスを IBM SPSS Modelerに送り返します。この API は、スクリプトがデータ・セットを IBM SPSS Modelerに渡す前に呼び出す必要があります。 IBM SPSS Modeler は、このDataModelインスタンスに記述されているメタデータを使用して、 IBM SPSS Modeler 側のデータを処理します。
モデリングのための API
modelerpy.saveModel(model, name='model')この API は、 Python モデルを IBM SPSS Modeler モデルに変換します。このモデルは、 IBM SPSS Modelerによって保存されます。 この API は、 Python モデルの作成時にモデル作成ノードから呼び出す必要があります。 この API を呼び出すと、保存されたモデルが、生成されたモデル・ナゲットにコピーされます。
modelerpy.loadModel(name='model')この API は、 IBM SPSS Modeler 保存済みモデルをロードし、保存済みモデルの Python オブジェクトを作成します。 モデル・ナゲットからこの API を呼び出して、スコアリングなどの以降の処理のために保存されたモデルをロードします。
入出力データ・セットの API
modelerpy.readPandasDataframe()この API は、 IBM SPSS Modeler から Pythonにデータ・セットを読み取ります。 戻り値は、 Python Pandas DataFrame (2 次元配列に類似した 2 次元データ構造、または行と列を持つ表) です。
modelerpy.writePandasDataframe(df)この API は、 Python Pandas DataFrame を Python から IBM SPSS Modelerに書き込みます。
パッケージ用の API
modelerpy.installPackage(package)この API は、
pypi.orgからパッケージをプルしてインストールします。modelerpy.uninstallPackage(package)この API は、インストール済みパッケージをアンインストールします。
メタデータ用の API
modelerpy.getDataModel および modelerpy.setOutputDataModelでは、以下のメタデータ関連クラスを使用する必要があります。modelerpy.DataModelこの API は、メタデータのメイン・エントリー・クラスです。 これには、
class Fieldのインスタンスの配列が含まれ、以下のメソッドが含まれます。modelerpy.DataModel.getFieldsこのメソッドは、
class Fieldインスタンスの配列を返します。modelerpy.DataModel.addFieldこのメソッドは、
Fieldのインスタンスをメタデータ配列に追加します。modelerpy.FieldFieldクラスは、フィールド名、ストレージ、測定値などの実際のメタデータ情報が保管される場所です。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"))