ネイティブ Python API
スクリプトからネイティブ 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 は、クラス
のインスタンスを SPSS Modelerに送り返します。この API は、スクリプトがデータ・セットを SPSS Modelerに渡す前に呼び出す必要があります。 SPSS Modeler は、このDataModel
インスタンスに記述されているメタデータを使用して、 SPSS Modeler 側でデータを処理します。DataModel
モデリングのための 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"))