API Python natives
Vous pouvez appeler des API Python natives à partir de vos scripts pour interagir avec SPSS Modeler.
Les API suivantes sont prises en charge.
Pour voir un exemple, vous pouvez télécharger l'exemple de fluxpython-extension-str.zip et importez-le dansSPSS Modeler (dans le Actifs onglet, cliquez sur . Ouvrez ensuite les propriétés du noeud Extension dans le flux pour afficher un exemple de syntaxe.
API pour les modèles de données
modelerpy.isComputeDataModelOnly()
Vous pouvez utiliser cette API pour vérifier si une exécution en cours consiste à calculer les données de sortie ou uniquement à calculer le modèle de données de sortie. Lorsqu'il renvoie
, votre script ne doit pas effectuer de tâche qui dépend des données d'entrée ou de sortie, sinon l'exécution échoue.true
modelerpy.getDataModel()
Cette API contacte SPSS Modeler pour obtenir le modèle de données d'un jeu de données d'entrée. La valeur renvoyée est une instance de
, qui décrit les métadonnées du jeu de données d'entrée, y compris le nombre de champs, le nom de champ, le type de stockage de champ, etc.class DataModel
modelerpy.setOutputDataModel(dataModel)
Cette API renvoie une instance d'une classe
à SPSS Modeleret doit être appelée avant que votre script ne transmette un jeu de données à SPSS Modeler. SPSS Modeler utilise les métadonnées décrites dans cette instanceDataModel
pour traiter vos données côté SPSS Modeler .DataModel
API de modélisation
modelerpy.saveModel(model, name='model')
Cette API transforme un modèle Python en modèle SPSS Modeler , qui est ensuite enregistré dans SPSS Modeler . Le modèle enregistré est copié dans un nugget de modèle généré. Appelez cette API à partir d'un noeud de modélisation lorsqu'un modèle Python est généré.
modelerpy.loadModel(name='model')
Cette API charge un modèle sauvegardé SPSS Modeler et crée un objet Python pour le modèle sauvegardé. Appelez cette API à partir du nugget de modèle pour charger le modèle enregistré en vue d'un traitement ultérieur, tel que le scoring.
API pour les jeux de données d'entrée-sortie
modelerpy.readPandasDataframe()
Cette API lit un jeu de données de SPSS Modeler dans Python. La valeur renvoyée est un Python Pandas DataFrame (une structure de données bidimensionnelle, comme un tableau bidimensionnel, ou une table avec des lignes et des colonnes).
modelerpy.writePandasDataframe(df)
Cette API écrit un objet Python Pandas DataFrame à partir de Python dans SPSS Modeler.
API pour les packages
modelerpy.installPackage(package)
Cette API extrait un package de
et l'installe.pypi.org
modelerpy.uninstallPackage(package)
Cette API désinstalle un package installé.
modelerpy.listPackages()
Cette API fournit une liste de tous les packages installés.
API pour les métadonnées
Utilisez les classes associées aux métadonnées suivantes avecmodelerpy.getDataModel
et modelerpy.setOutputDataModel
.modelerpy.DataModel
Cette API est la classe d'entrée principale des métadonnées. Il contient un tableau d'instances de
et inclut les méthodes suivantes:class Field
modelerpy.DataModel.getFields
Cette méthode renvoie le tableau des instances
.class Field
modelerpy.DataModel.addField
Cette méthode ajoute une instance de
au tableau de métadonnées.Field
modelerpy.Field
La classe
est l'endroit où sont stockées les informations de métadonnées réelles, y compris le nom de champ, le stockage et la mesure,Field
modelerpy.Field.getName
Cette méthode renvoie le nom de la zone.
modelerpy.Field.getStorage
Cette méthode renvoie le stockage du champ. Le stockage valide inclut:
,integer
,real
,string
,date
ettime
.timestamp
modelerpy.Field.getMeasure
Cette méthode renvoie la mesure du champ. Les mesures valides sont les suivantes:
,discrete
,flag
,nominal
etordinal
.continuous
DataModel
en appelant le constructeur modelerpy.DataModel
avec un tableau modelerpy.Field
. Le constructeur modelerpy.Field
accepte le nom de champ, le stockage de champ et la mesure de champ comme paramètres d'entrée (le stockage de champ et la mesure de champ sont obligatoires ; la mesure de champ est facultative).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"))