Native Python -APIs
Sie können native Python -APIs aus Ihren Scripts aufrufen, um mit SPSS Modelerzu interagieren.
Die folgenden APIs werden unterstützt.
Um ein Beispiel zu sehen, können Sie den Beispielstream herunterladenpython-extension-str.zip und importieren Sie es inSPSS Modeler (im Vermögenswerte auf . Öffnen Sie anschließend die Eigenschaften des Erweiterungsknotens im Ablauf, um die Beispielsyntax anzuzeigen.
APIs für Datenmodelle
modelerpy.isComputeDataModelOnly()Sie können diese API verwenden, um zu prüfen, ob eine aktuelle Ausführung die Ausgabedaten oder nur das Ausgabedatenmodell berechnet. Wenn
truezurückgegeben wird, darf Ihr Script keine Task ausführen, die von Eingabe-oder Ausgabedaten abhängig ist. Andernfalls schlägt die Ausführung fehl.modelerpy.getDataModel()Diese API kontaktiert SPSS Modeler , um das Datenmodell für ein Eingabedataset abzurufen. Der Rückgabewert ist eine Instanz von
class DataModel, die Metadaten des Eingabedatasets beschreibt, einschließlich Feldanzahl, Feldname, Feldspeichertyp usw.modelerpy.setOutputDataModel(dataModel)Diese API sendet eine Instanz einer Klasse
DataModelzurück an SPSS Modelerund muss aufgerufen werden, bevor Ihr Script ein Dataset an SPSS Modelerübergibt. SPSS Modeler verwendet die in dieserDataModel-Instanz beschriebenen Metadaten, um Ihre Daten auf der Seite SPSS Modeler zu verarbeiten.
APIs für die Modellierung
modelerpy.saveModel(model, name='model')Diese API transformiert ein Python -Modell in ein SPSS Modeler -Modell, das dann von SPSS Modeler gespeichert wird. Das gespeicherte Modell wird in ein generiertes Modellnugget kopiert. Rufen Sie diese API von einem Modellierungsknoten aus auf, wenn ein Python -Modell erstellt wird.
modelerpy.loadModel(name='model')Diese API lädt ein gespeichertes SPSS Modeler -Modell und erstellt ein Python -Objekt für das gespeicherte Modell. Rufen Sie diese API über das Modellnugget auf, um das gespeicherte Modell zur weiteren Verarbeitung, wie z. B. Scoring, zu laden.
APIs für Ein-/Ausgabedatasets
modelerpy.readPandasDataframe()Diese API liest ein Dataset aus SPSS Modeler in Python. Der Rückgabewert ist ein Python Pandas DataFrame (eine zweidimensionale Datenstruktur wie ein zweidimensionales Array oder eine Tabelle mit Zeilen und Spalten).
modelerpy.writePandasDataframe(df)Diese API schreibt einen Python Pandas DataFrame von Python in SPSS Modeler.
APIs für Pakete
modelerpy.installPackage(package)Diese API extrahiert ein Paket aus
pypi.orgund installiert es.modelerpy.uninstallPackage(package)Diese API deinstalliert ein installiertes Paket.
modelerpy.listPackages()Diese API stellt eine Liste aller installierten Pakete bereit.
APIs für Metadaten
Verwenden Sie die folgenden metadatenbezogenen Klassen mitmodelerpy.getDataModel und modelerpy.setOutputDataModel.modelerpy.DataModelDiese API ist die Haupteintragsklasse für die Metadaten. Es enthält ein Array von Instanzen von
class Fieldund enthält die folgenden Methoden:modelerpy.DataModel.getFieldsDiese Methode gibt das Array der
class Field-Instanzen zurück.modelerpy.DataModel.addFieldDiese Methode fügt eine Instanz von
Fieldzum Metadatenarray hinzu.modelerpy.FieldIn der Klasse
Fieldwerden die tatsächlichen Metadateninformationen gespeichert, einschließlich Feldname, Speicher und Messung.modelerpy.Field.getNameDiese Methode gibt den Namen des Felds zurück.
modelerpy.Field.getStorageDiese Methode gibt die Speicherung des Felds zurück. Gültiger Speicher:
integer,real,string,date,timeundtimestamp.modelerpy.Field.getMeasureDiese Methode gibt die Messung des Felds zurück. Gültige Messungen sind:
discrete,flag,nominal,ordinalundcontinuous.
DataModel -Objekt, indem er den Konstruktor modelerpy.DataModel mit einem Array von modelerpy.Fieldaufruft. Der Konstruktor modelerpy.Field akzeptiert Feldnamen, Feldspeicher und Feldmessung als Eingabeparameter (Feldspeicher und Feldmessung sind erforderlich; Feldmessung ist optional).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"))