Native Python -APIs

Letzte Aktualisierung: 11. Feb. 2025
Native Python -APIs (SPSS Modeler)

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 Neues Asset > Erstellen Sie Modelle als visuellen Fluss > Lokale Datei . Ö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 DataModel zurück an SPSS Modelerund muss aufgerufen werden, bevor Ihr Script ein Dataset an SPSS Modelerübergibt. SPSS Modeler verwendet die in dieser DataModel -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.org und 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 mit modelerpy.getDataModel und modelerpy.setOutputDataModel.
  • modelerpy.DataModel

    Diese API ist die Haupteintragsklasse für die Metadaten. Es enthält ein Array von Instanzen von class Field und enthält die folgenden Methoden:

    • modelerpy.DataModel.getFields

      Diese Methode gibt das Array der class Field -Instanzen zurück.

    • modelerpy.DataModel.addField

      Diese Methode fügt eine Instanz von Field zum Metadatenarray hinzu.

    • modelerpy.Field

      In der Klasse Field werden die tatsächlichen Metadateninformationen gespeichert, einschließlich Feldname, Speicher und Messung.

    • modelerpy.Field.getName

      Diese Methode gibt den Namen des Felds zurück.

    • modelerpy.Field.getStorage

      Diese Methode gibt die Speicherung des Felds zurück. Gültiger Speicher: integer, real, string, date, timeund timestamp.

    • modelerpy.Field.getMeasure

      Diese Methode gibt die Messung des Felds zurück. Gültige Messungen sind: discrete, flag, nominal, ordinalund continuous.

Der folgende Beispielcode erstellt ein 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"))