APIs Nativas Python
Você pode chamar APIs nativas do Python de seus scripts para interagir com o SPSS Modeler.
As APIs a seguir são suportadas.
Para ver um exemplo, você pode baixar o stream de amostrapython-extension-str.zip e importá-lo paraSPSS Modeler (no Ativos aba, clique . Em seguida, abra as propriedades do nó da Extensão no fluxo para ver a sintaxe de exemplo.
APIs para modelos de dados
modelerpy.isComputeDataModelOnly()Você pode usar esta API para verificar se uma execução atual é para computar os dados de saída ou apenas computar o modelo de dados de saída. Quando ele retorna
true, seu script não deve executar nenhuma tarefa que dependa de dados de entrada ou de saída, caso contrário, a execução falharámodelerpy.getDataModel()Esta API entra em contato com o SPSS Modeler para obter o modelo de dados para um dataset de entrada. O valor de retorno é uma instância de
class DataModel, que descreve metadados do conjunto de dados de entrada, incluindo contagem de campo, nome do campo, tipo de armazenamento de campo, etc.modelerpy.setOutputDataModel(dataModel)Essa API envia uma instância de uma classe
DataModelde volta para SPSS Modelere deve ser chamada antes que seu script passe um conjunto de dados para SPSS Modeler. O SPSS Modeler usa os metadados descritos nessa instância doDataModelpara manipular seus dados no lado do SPSS Modeler .
APIs para modelagem
modelerpy.saveModel(model, name='model')Essa API transforma um modelo Python em um modelo SPSS Modeler , que SPSS Modeler salva em seguida. O modelo salvo é copiado para um nugget do modelo gerado Chame essa API de um nó de modelagem quando um modelo Python for construído.
modelerpy.loadModel(name='model')Esta API carrega um modelo salvo SPSS Modeler e cria um objeto Python para o modelo salvo. Chame esta API do nugget modelo para carregar o modelo salvo para processamento adicional, como pontuação.
APIs para datasets de entrada / saída
modelerpy.readPandasDataframe()Esta API lê um dataset do SPSS Modeler para Python. O valor de retorno é um Python Pandas DataFrame (uma estrutura de dados bidimensional, como uma matriz bidimensional ou uma tabela com linhas e colunas).
modelerpy.writePandasDataframe(df)Essa API grava um Python Pandas DataFrame de Python para SPSS Modeler
APIs para pacotes
modelerpy.installPackage(package)Esta API puxa um pacote de
pypi.orge instala-o.modelerpy.uninstallPackage(package)Esta API desinstala um pacote instalado.
modelerpy.listPackages()Esta API fornece uma lista dos pacotes instalados.
APIs para metadados
Use as classes relacionadas a metadados a seguir commodelerpy.getDataModel e modelerpy.setOutputDataModelmodelerpy.DataModelEsta API é a principal classe de entrada para os metadados. Ele contém uma matriz de instâncias de
class Fielde inclui os seguintes métodosmodelerpy.DataModel.getFieldsEste método retorna a matriz de
class Fieldinstâncias.modelerpy.DataModel.addFieldEste método adiciia uma instância de
Fieldà matriz de metadados.modelerpy.FieldA classe
Fieldé onde a info real info é armazenada, incluindo o nome de campo, armazenamento e medição,modelerpy.Field.getNameEste método retorna o nome do campo.
modelerpy.Field.getStorageEste método retorna o armazenamento do campo. O armazenamento válido inclui:
integer,real,string,date,timeetimestamp.modelerpy.Field.getMeasureEste método retorna a medição do campo. As medições válidas incluem:
discrete,flag,nominal,ordinalecontinuous.
DataModel invocando o construtor modelerpy.DataModel com uma matriz de modelerpy.Field. O construtor modelerpy.Field aceita nome de campo, armazenamento de campo e medição de campo conforme seus parâmetros de entrada (armazenamento de campo e medição de campo são necessários; a medição de campo é opcional).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"))