Modeler Scripting Automation
Modeler Scripting Automation
IBM
Nota
Antes de usar estas informaes e o produto suportado por elas, leia as informaes em Avisos na pgina 321.
iii
Viso Geral de Propriedades do N . . . . .. 69 Propriedades de timeintervalsnode . . . . .. 132
Propriedades Comuns do N . . . . . .. 69 Propriedades de transposenode . . . . . .. 136
Propriedades de typenode . . . . . . . .. 137
Captulo 8. Propriedades do Fluxo . .. 71
Captulo 12. Propriedades do N de
Captulo 9. Propriedades do N de Grfico . . . . . . . . . . . . .. 143
Origem. . . . . . . . . . . . . .. 75 Propriedades Comuns do N Grfico . . . .. 143
Propriedades Comuns do N de Origem . . .. 75 Propriedades de collectionnode . . . . . .. 144
Propriedades de asimport . . . . . . . .. 79 Propriedades de distributionnode . . . . .. 145
Propriedades do N cognosimport . . . . .. 79 Propriedades de evaluationnode . . . . . .. 145
Propriedades de databasenode . . . . . . .. 81 Propriedades de graphboardnode . . . . .. 147
Propriedades de datacollectionimportnode . . .. 83 Propriedades de histogramnode . . . . . .. 149
Propriedades de excelimportnode . . . . . .. 85 Propriedades de multiplotnode . . . . . .. 150
Propriedades de evimportnode . . . . . . .. 86 Propriedades de plotnode . . . . . . . .. 151
Propriedades de fixedfilenode . . . . . . .. 87 Propriedades de timeplotnode . . . . . . .. 153
Propriedades do N gsdata_import . . . . .. 89 Propriedades de webnode . . . . . . . .. 154
Propriedades de sasimportnode . . . . . .. 89
Propriedades de simgennode . . . . . . .. 90 Captulo 13. Propriedades do N de
Propriedades de statisticsimportnode . . . . .. 92 Modelagem . . . . . . . . . . .. 157
Propriedades do N tm1import. . . . . . .. 92 Propriedades Comuns do N de Modelagem . .. 157
Propriedades de userinputnode. . . . . . .. 93 Propriedades de anomalydetectionnode . . .. 157
Propriedades de variablefilenode . . . . . .. 94 Propriedades de apriorinode . . . . . . .. 159
Propriedades de xmlimportnode . . . . . .. 97 Propriedades de associationrulesnode . . . .. 160
Propriedades de dataviewimport . . . . . .. 97 Propriedades de autoclassifiernode . . . . .. 162
Configurando Propriedades de Algoritmo . .. 164
Captulo 10. Propriedades do N de Propriedades de autoclusternode . . . . . .. 165
Operaes de Registro. . . . . . .. 99 Propriedades de autonumericnode . . . . .. 166
Propriedades de appendnode . . . . . . .. 99 Propriedades de bayesnetnode . . . . . .. 167
Propriedades de aggregatenode. . . . . . .. 99 Propriedades de buildr . . . . . . . . .. 169
Propriedades de balancenode . . . . . . .. 100 Propriedades de c50node . . . . . . . .. 169
Propriedades de derive_stbnode . . . . . .. 101 Propriedades de carmanode . . . . . . .. 170
Propriedades de distinctnode . . . . . . .. 103 Propriedades de cartnode . . . . . . . .. 172
Propriedades de mergenode . . . . . . .. 104 Propriedades de chaidnode . . . . . . . .. 174
Propriedades de rfmaggregatenode . . . . .. 106 Propriedades de coxregnode . . . . . . .. 176
Propriedades de Rprocessnode . . . . . .. 107 Propriedades de decisionlistnode . . . . . .. 177
Propriedades de samplenode . . . . . . .. 108 Propriedades de discriminantnode . . . . .. 179
Propriedades de selectnode . . . . . . . .. 110 Propriedades de factornode . . . . . . .. 180
Propriedades de sortnode . . . . . . . .. 110 Propriedades de featureselectionnode . . . .. 182
Propriedades de streamingts . . . . . . .. 110 Propriedades de genlinnode . . . . . . .. 183
Propriedades de glmmnode . . . . . . .. 187
Propriedades gle . . . . . . . . . . .. 190
Captulo 11. Propriedades do N de
Propriedades de kmeansnode . . . . . . .. 195
Operaes de Campo . . . . . . .. 115 Propriedades de knnnode . . . . . . . .. 196
Propriedades de anonymizenode . . . . . .. 115 Propriedades de kohonennode . . . . . .. 198
Propriedades de autodataprepnode . . . . .. 116 Propriedades de linearnode . . . . . . .. 199
Propriedades de astimeintervalsnode . . . .. 119 Propriedades de linearasnode . . . . . . .. 200
Propriedades de binningnode . . . . . . .. 119 Propriedades de logregnode . . . . . . .. 201
Propriedades de derivenode . . . . . . .. 122 Propriedades de lsvmnode . . . . . . . .. 205
Propriedades de ensemblenode . . . . . .. 124 Propriedades de neuralnetnode . . . . . .. 206
Propriedadades de fillernode . . . . . . .. 125 Propriedades de neuralnetworknode . . . .. 208
Propriedades de filternode . . . . . . . .. 125 Propriedades de questnode . . . . . . . .. 210
Propriedades de historynode . . . . . . .. 126 Propriedades de randomtrees . . . . . . .. 212
Propriedades de partitionnode. . . . . . .. 127 Propriedades de regressionnode . . . . . .. 213
Propriedades de reclassifynode . . . . . .. 128 Propriedades de sequencenode . . . . . .. 215
Propriedades de reordernode . . . . . . .. 129 Propriedades de slrmnode . . . . . . . .. 216
Propriedades de reprojectnode. . . . . . .. 129 Propriedades de statisticsmodelnode . . . .. 217
Propriedades de restructurenode . . . . . .. 130 Propriedades de stpnode . . . . . . . .. 217
Propriedades de rfmanalysisnode. . . . . .. 130 Propriedades de svmnode . . . . . . . .. 221
Propriedades de settoflagnode. . . . . . .. 131 Propriedades de tcmnode . . . . . . . .. 222
Propriedades de statisticstransformnode . . .. 132 Propriedades de timeseriesnode . . . . . .. 226
ndice v
O contexto de script . . . . . . . . . .. 311 Acessando objetos por meio do sistema de
Comandos e funes . . . . . . . . . .. 311 arquivos e do repositrio . . . . . . . .. 318
Literais e comentrios . . . . . . . . .. 312 Operaes de fluxo . . . . . . . . .. 318
Operadores . . . . . . . . . . . . .. 312 Operaes de modelo . . . . . . . .. 319
Condicionais e Loop . . . . . . . . . .. 313 Operaes de sada do documento . . . .. 319
Variveis . . . . . . . . . . . . . .. 314 Outras diferenas entre script legado e script
Tipos de n, de sada e de modelo . . . . .. 314 Python . . . . . . . . . . . . . .. 319
Nomes de propriedades . . . . . . . . .. 314
Referncias do N . . . . . . . . . . .. 314 Avisos . . . . . . . . . . . . .. 321
Obtendo e configurando propriedades . . . .. 315 Marcas comerciais . . . . . . . . . . .. 322
Editando fluxos . . . . . . . . . . .. 315
Operaes do n . . . . . . . . . .. 316
ndice Remissivo . . . . . . . . .. 325
Executando Loop . . . . . . . . . . .. 316
Executando fluxos . . . . . . . . . . .. 317
Este captulo fornece descries de alto nvel e exemplos de scripts de nvel de fluxo, scripts
independentes e scripts em SuperNodes na interface do IBM SPSS Modeler. Mais informaes sobre a
linguagem de script, sintaxe e comandos so fornecidas nos captulos que se seguem.
Nota: No possvel importar e executar os scripts criados no IBM SPSS Statistics no IBM SPSS Modeler.
Tipos de Scripts
O IBM SPSS Modeler utiliza trs tipos de scripts:
v Os Scripts de fluxo so armazenados como uma propriedade de fluxo e, portanto, so salvos e
carregados com um fluxo especfico. Por exemplo, possvel gravar um script de fluxo que automatiza
o processo de treinamento e aplicao de um nugget do modelo. Tambm possvel especificar que,
sempre que um fluxo especfico for executado, o script dever ser executado ao invs do contedo da
tela do fluxo.
v Os Scripts independentes no esto associados a nenhum fluxo especfico e so salvos em arquivos
de texto externos. possvel utilizar um script independente, por exemplo, para manipular diversos
fluxos juntos.
v Os scripts de SuperNode so armazenados como uma propriedade fluxo de SuperNode. Os scripts de
SuperNode esto disponveis apenas nos SuperNodes de terminal. possvel utilizar um script
SuperNode para controlar a sequncia de execuo do contedo do SuperNode. Para SuperNodes de
no terminal, (origem ou processo), possvel definir propriedades para o SuperNode ou para os ns
que ele contiver em seu script de fluxo diretamente.
Scripts de Fluxo
Os scripts podem ser utilizados para customizar operaes dentro de um fluxo especfico e so salvos
com esse fluxo. Os scripts de fluxo podem ser usados para especificar uma ordem de execuo especfica
para os ns terminais em um fluxo. Utilize a caixa de dilogo do script de fluxo para editar o script que
salvo com o fluxo atual.
Os cones da barra de ferramentas na parte superior da caixa de dilogo de script de fluxo permitem
executar as operaes a seguir:
v Importar o contedo de um script independente pr-existente na janela.
v Salvar um script como um arquivo de texto.
v Imprimir um script.
v Anexar script padro.
v Editar um script (desfazer, recortar, copiar, colar e outras funes comuns de edio).
v Executar o script atual inteiro.
v Execute as linhas selecionadas a partir de um script.
v Parar um script durante a execuo. (Este cone ativado apenas quando um script estiver em
execuo).
v Verificar a sintaxe do script e, se quaisquer erros forem localizados, exibi-los para reviso no painel
inferior da caixa de dilogo.
A partir da verso 16.0, o SPSS Modeler utiliza a linguagem de script Python. Todas as verses anteriores
a esta usavam uma linguagem de script exclusiva para o SPSS Modeler, agora referida como script
Legacy. Dependendo do tipo de script com o qual voc estiver trabalhando, na guia Execuo, selecione o
modo de execuo Padro (script opcional) e, em seguida, selecione Python ou Legacy.
Alm disso, possvel especificar se esse script deve ou no ser executado quando o fluxo for executado.
possvel selecionar Executar este script para executar o script toda vez em que o fluxo for executado,
respeitando a ordem de execuo do script. Essa configurao fornece automao no nvel do fluxo para
uma construo de modelo mais rpida. No entanto, a configurao padro ignorar este script durante
a execuo de fluxo. Mesmo se voc selecionar a opo Ignorar este script, o script sempre poder ser
executado diretamente a partir dessa caixa de dilogo.
As cores e estilos de texto utilizados pelo marcador de sintaxe podem ser customizados utilizando as
preferncias de exibio do IBM SPSS Modeler. possvel acessar as preferncias de exibio escolhendo
Ferramentas > Opes > Opes do Usurio e clicando na guia Sintaxe.
Uma lista de preenchimentos de sintaxe sugeridos pode ser acessada selecionando Sugesto Automtica
no menu de contexto ou pressionando Ctrl + Espao. Utilize as teclas de cursor para mover a lista para
cima e para baixo e, em seguida, pressione Enter para inserir o texto selecionado. Pressione Esc para sair
do modo de sugesto automtica sem modificar o texto existente.
A guia Depurao exibe mensagens de depurao e pode ser utilizada para avaliar o estado do script
quando o script tiver sido executado. A guia Depurao consiste em uma rea de texto somente leitura e
em um campo de texto de entrada de linha nica. A rea de texto exibe o texto que enviado para a
sada padro ou para o erro padro pelos scripts, por exemplo, por meio do texto da mensagem de erro.
Nota: Executar um fluxo fora do painel de script no modificar o contexto de script do painel de script.
Os valores de quaisquer variveis criadas como parte dessa execuo no estaro visveis dentro do
dilogo do script.
Usando um script IBM SPSS Modeler, possvel automatizar o processo de teste do nugget do modelo
aps cri-lo. Por exemplo, o script de fluxo a seguir para testar o fluxo de demo druglearn.str (disponvel
na pasta /Demos/streams/ em sua instalao do IBM SPSS Modeler) pode ser executado a partir do dilogo
Propriedades do Fluxo (Ferramentas > Propriedades do Fluxo > Script):
stream = modeler.script.stream()
neuralnetnode = stream.findByType("neuralnetwork", None)
results = []
neuralnetnode.run(results)
appliernode = stream.createModelApplierAt(results[0], "Drug", 594, 187)
analysisnode = stream.createAt("analysis", "Drug", 688, 187)
typenode = stream.findByType("type", None)
stream.linkBetween(appliernode, typenode, analysisnode)
analysisnode.run([])
possvel utilizar um script para construir e executar um fluxo desde o incio, comeando com uma tela
em branco. Para aprender mais sobre a linguagem de script em geral, consulte Viso Geral de Linguagem
de Script.
As mesmas opes de verificao de barra de ferramentas e de sintaxe de script esto disponveis tanto
para scripts independentes quanto para scripts de fluxo. Consulte o tpico Scripts de Fluxo na pgina 1
para obter mais informaes.
# First load the model builder stream from file and build a model
druglearn_stream = taskrunner.openStreamFromFile(installation + "streams/druglearn.str", True)
results = []
druglearn_stream.findByType("c50", None).run(results)
# Now load the plot stream, read the model from file and insert it into the stream
drugplot_stream = taskrunner.openStreamFromFile(installation + "streams/drugplot.str", True)
model = taskrunner.openModelFromFile("rule.gm", True)
modelapplier = drugplot_stream.createModelApplier(model, "Drug")
Nota: Para aprender mais sobre a linguagem de script em geral, consulte Viso Geral de Linguagem de
Script.
stream.link(statisticsimportnode, typenode)
stream.link(typenode, featureselectionnode)
models = []
featureselectionnode.run(models)
# Assumes the stream automatically places model apply nodes in the stream
applynode = stream.findByType("applyfeatureselection", None)
tablenode = stream.createAt("table", "Table", applynode.getXPosition() + 96, applynode.getYPosition())
stream.link(applynode, tablenode)
tablenode.run([])
O script cria um n de origem para ler nos dados, utiliza um n Tipo para configurar a funo (direo)
para o campo response_01 para Target e, em seguida, cria e executa um N de Varivel. O script
tambm conecta os ns e posiciona cada um na tela do fluxo para produzir um layout legvel. O nugget
do modelo resultante ento conectado a um n Tabela que lista os 15 campos mais importantes,
conforme determinado pelas propriedades selection_mode e top_n. Consulte o tpico Propriedades de
featureselectionnode na pgina 182 para obter mais informaes.
Scripts SuperNode
possvel criar e salvar os scripts em quaisquer SuperNodes de terminal utilizando a linguagem de
script do IBM SPSS Modeler. Esses scripts esto disponveis apenas para os SuperNodes de terminal e so
geralmente utilizados quando criar fluxos de modelo ou para impor uma ordem de execuo especial ao
contedo do SuperNode. Os scripts SuperNode tambm permitem ter mais de um script em execuo
dentro de um fluxo.
Por exemplo, suponha que voc precise especificar a ordem de execuo para um fluxo complexo e seu
SuperNode contm vrios ns que incluem um n SetGlobals, que precisa ser executado antes de obter
um novo campo utilizado em um n Grfico. Neste caso, possvel criar um script SuperNode que
executa o n SetGlobals primeiro. Em seguida, os valores calculados por este n, como o desvio mdio ou
padro, podero ser utilizados quando o n Grfico for executado.
Nota: Como apenas SuperNodes de terminal podem executar seus prprios scripts, a guia Scripts da caixa
de dilogo SuperNode est disponvel apenas para SuperNodes de terminal.
Script SuperNode...
Para abrir a caixa de dilogo do script SuperNode a partir da tela do SuperNode com zoom aumentado:
Script SuperNode...
possvel combinar ambas as regras de execuo de loop e condicional dentro de um fluxo. Por exemplo,
possvel ter dados relativos a vendas de carros de fabricantes do mundo todo. possvel configurar um
loop para processar os dados em um fluxo, identificar detalhes pelo pas do fabricante e gerar os dados
para diferentes grficos mostrando detalhes como o volume de vendas por modelo, nveis de emisses
por fabricante e tamanho do motor, e assim por diante. Se voc desejar analisar apenas informaes
europeias, tambm possvel incluir condies no loop para impedir que sejam criados grficos de
fabricantes baseados nas Amricas e sia.
Nota: Como as execues de loop e condicional baseiam-se em scripts de histrico, elas se aplicaro a um
fluxo inteiro somente quando ele for executado.
v Loop possvel utilizar loop para automatizar tarefas repetitivas. Por exemplo, isso pode significar
incluir um determinado nmero de ns em um fluxo e alterar um parmetro de n todas as vezes.
Como alternativa, possvel controlar a execuo de um fluxo ou ramificao muitas outras vezes
mais, como nos exemplos a seguir:
Executar o fluxo em um determinado nmero de vezes e alterar a origem todas as vezes.
Executar o fluxo em um determinado nmero de vezes, alterando o valor de uma varivel todas as
vezes.
Executar o fluxo em um determinado nmero de vezes, inserindo um campo extra em cada
execuo.
Construir um modelo em um determinado nmero de vezes e alterar a configurao do modelo
todas as vezes.
v Execuo Condicional possvel utilizar esta opo para controlar como os ns terminais so
executados com base nas condies que voc predefinir, como nos exemplos a seguir:
Com base em se um determinado valor true ou false, controlar se um n ser executado.
Defina se um loop de ns ser executado em paralelo ou sequencialmente.
Ambas as execues de loop e condicional so configuradas na guia Execuo dentro da caixa de dilogo
Propriedades do Fluxo. Todos os ns que forem utilizados nos requisitos condicional ou de loop so
mostrados com um smbolo adicional anexado a eles na tela do fluxo para indicar que fazem parte das
execues de loop e condicional.
Se estiver configurando pela primeira vez os detalhes de execuo de loop ou condicional, selecione o
modo de execuo Execuo de Loop/Condicional na guia Execuo e, em seguida, selecione a subguia
Condicional ou Loop.
Configure as condies a serem atendidas na subguia Loop da guia Execuo do fluxo. Para exibir a
subguia, selecione o modo de execuo Execuo de Loop/Condicional.
Quaisquer requisitos de execuo de loop que voc definir entraro em vigor ao executar o fluxo, se o
modo de execuo Execuo de Loop/Condicional foi configurado. Opcionalmente, possvel gerar o
cdigo de script para seus requisitos de execuo de loop e col-lo no editor de script clicando em
Colar... no canto inferior direito da subguia Executar Loop; a exibio da guia Execuo principal
alterada para mostrar o modo de execuo Padro (script opcional) com o script na parte superior da
guia. Isso significa que possvel definir uma estrutura de execuo de loop utilizando as vrias opes
da caixa de dilogo de loop antes de gerar um script que poder ser customizado posteriormente no
editor de script. Observe que quando voc clica em Colar..., quaisquer requisitos de execuo condicional
definidos tambm sero exibidos no script gerado.
Importante: As variveis de loop que voc configurar em um fluxo do SPSS Modeler podero ser
substitudas se executar o fluxo em uma tarefa do IBM SPSS Collaboration and Deployment Services. Isso
ocorre porque a entrada do editor de tarefas do IBM SPSS Collaboration and Deployment Services
substitui a entrada do SPSS Modeler. Por exemplo, se voc configurar uma varivel de loop no fluxo para
criar um nome de arquivo de sada diferente para cada loop, os arquivos sero nomeados corretamente
no SPSS Modeler, porm sero substitudos pela entrada fixa inserida na guia Resultado do IBM SPSS
Collaboration and Deployment Services Deployment Manager.
Para abrir a caixa de dilogo, selecione o boto Chave de Iterao ... no canto inferior esquerdo da
subguia Loop ou clique com o boto direito em qualquer n no fluxo e selecione Execuo de
Loop/Condicional > Definir Chave de Iterao (Campos) ou Execuo de Loop/Condicional > Definir
Chave de Iterao (Valores). Se voc abrir a caixa de dilogo a partir do fluxo, alguns dos campos
podero ser preenchidos automaticamente, como o nome do n.
O Que Configurar. Escolha o item que ter seu valor configurado toda vez que o loop for executado.
possvel selecionar uma das opes a seguir:
v Parmetro. Disponvel apenas se selecionar Parmetro de Fluxo Campos ou Parmetro de Fluxo
Valores. Selecione o parmetro necessrio na lista disponvel.
v N. Disponvel apenas se selecionar Propriedade do N Campos ou Propriedade do N Valores.
Selecione o n para o qual deseja configurar um loop. Clique no boto Navegar para abrir o dilogo
Selecionar N e escolha o n desejado; se houver muitos ns listados, tambm ser possvel filtrar a
exibio para mostrar apenas determinados tipos de ns selecionando uma das seguintes categorias:
ns de Origem, Processo, Grfico, Modelagem, Sada, Exportar ou Aplicar Modelo de ns.
v Propriedade. Disponvel apenas se selecionar Propriedade do N Campos ou Propriedade do N
Valores. Selecione a propriedade do n na lista disponvel.
Campos para Usar. Disponvel apenas se selecionar Parmetro de Fluxo Campos ou Parmetro de
Fluxo Valores. Escolha o campo, ou campos, dentro de um n a serem utilizados para fornecer os
valores de iterao. possvel selecionar uma das opes a seguir:
v N. Disponvel apenas se selecionar Parmetro de Fluxo Campos. Selecione o n que contm os
detalhes para os quais deseja configurar um loop. Clique no boto Navegar para abrir o dilogo
Selecionar N e escolha o n desejado; se houver muitos ns listados, tambm ser possvel filtrar a
exibio para mostrar apenas determinados tipos de ns selecionando uma das seguintes categorias:
ns de Origem, Processo, Grfico, Modelagem, Sada, Exportar ou Aplicar Modelo de ns.
v Lista de Campo. Clique no boto de lista na coluna direita para exibir a caixa de dilogo Selecionar
Campos, na qual voc seleciona os campos no n para fornecer os dados de iterao. Consulte
Selecionando campos para iteraes na pgina 9 para obter mais informaes.
Valores para Usar. Disponvel apenas se selecionar Parmetro de Fluxo Valores ou Propriedade do N
Valores. Escolha o valor, ou valores, dentro do campo selecionado a serem utilizados como valores de
iterao. possvel selecionar uma das opes a seguir:
v N. Disponvel apenas se selecionar Parmetro de Fluxo Valores. Selecione o n que contm os
detalhes para os quais deseja configurar um loop. Clique no boto Navegar para abrir o dilogo
Selecionar N e escolha o n desejado; se houver muitos ns listados, tambm ser possvel filtrar a
Para abrir a caixa de dilogo, selecione o boto Incluir Varivel... no canto inferior esquerdo da subguia
Loop ou clique com o boto direito em qualquer n no fluxo e selecione: Execuo de Loop/Condicional
> Definir Varivel de Iterao.
Alterar. Selecione o tipo de atributo que deseja corrigir. possvel escolher a partir de Parmetro de
Fluxo ou Propriedade do N.
v Se voc selecionar Parmetro de Fluxo, escolha o parmetro necessrio e, em seguida, utilizando uma
das opes a seguir, se disponvel em seu fluxo, defina o valor para o qual esse parmetro dever ser
configurado com cada iterao do loop:
Varivel global. Selecione a varivel global para a qual o parmetro de fluxo dever ser
configurado.
Clula de sada da tabela. Para configurar um parmetro de fluxo para ser o valor em uma clula
de sada de tabela, selecione a tabela na lista e insira a Linha e a Coluna a serem utilizadas.
Inserir manualmente. Selecione esta opo se desejar inserir manualmente um valor para esse
parmetro a ser usado em cada iterao. Ao retornar para a subguia Loop, uma nova coluna
criada na qual voc insere o texto necessrio.
v Se voc selecionar Propriedade do N, escolha o n necessrio e uma de suas propriedades e, em
seguida, configure o valor que deseja utilizar para essa propriedade. Configure o novo valor da
propriedade usando uma das seguintes opes:
Independentes. O valor da propriedade usar o valor da chave de iterao. Consulte Criando uma
chave de iterao para loop em fluxos na pgina 7 para obter mais informaes.
Como prefixo para raiz. Utiliza o valor da chave de iterao como um prefixo para o que voc
inserir no campo Raiz.
Como sufixo para raiz. Utiliza o valor da chave de iterao como um sufixo para o que voc inserir
no campo Raiz.
Se voc selecionar qualquer uma das opes de prefixo ou de sufixo, ser solicitado a incluir o texto
adicional no campo Raiz. Por exemplo, se seu valor da chave de iterao for Pas de fabricao e voc
selecionar Como prefixo para raiz, ser possvel inserir vendas por modelo neste campo.
Classificar por possvel classificar campos disponveis para visualizao selecionando uma das opes
a seguir:
Selecione os campos da lista um por vez ou utilize os mtodos Shift-clique e Ctrl-clique para selecionar
vrios campos. Tambm possvel utilizar os botes abaixo da lista para selecionar grupos de campos
com base em seu nvel de medio, ou para selecionar ou cancelar seleo de todos os campos na tabela.
Observe que os campos disponveis para seleo so filtrados para mostrar apenas os campos que forem
apropriados para o parmetro de fluxo ou propriedade do n que estiver utilizando. Por exemplo, se
estiver utilizando um parmetro de fluxo que tenha um tipo de armazenamento String, apenas os campos
que possurem um tipo de armazenamento String sero mostrados.
Configure as condies a serem atendidas na subguia Condicional da guia Execuo do fluxo. Para exibir
a subguia, selecione o modo de execuo Execuo de Loop/Condicional.
Quaisquer requisitos de execuo condicional que voc definir entraro em vigor ao executar o fluxo, se o
modo de execuo Execuo de Loop/Condicional foi configurado. Opcionalmente, possvel gerar o
cdigo de script para seus requisitos de execuo condicional e col-lo no editor de script clicando em
Colar... no canto inferior direito da subguia Condicional; a exibio da guia Execuo principal alterada
para mostrar o modo de execuo Padro (script opcional) com o script na parte superior da guia. Isso
significa que possvel definir condies utilizando as vrias opes da caixa de dilogo de loop antes de
gerar um script que poder ser customizado posteriormente no editor de script. Observe que quando
voc clica em Colar..., quaisquer requisitos de loop definidos tambm sero exibidos no script gerado.
1. Na coluna direita da subguia Condicional, clique no boto Incluir Nova Condio para abrir
a caixa de dilogo Incluir Instruo de Execuo Condicional. Neste dilogo voc especifica a
condio que deve ser atendida para que o n seja executado.
2. Na caixa de dilogo Incluir Instruo de Execuo Condicional, especifique o seguinte:
a. N. Selecione o n para o qual deseja configurar a execuo condicional. Clique no boto Navegar
para abrir o dilogo Selecionar N e escolha o n desejado; se houver muitos ns listados, ser
possvel filtrar a exibio para mostrar ns por uma das seguintes categorias: n Exportar, Grfico,
Modelagem ou Sada.
b. Condio baseada em. Especifique a condio que deve ser atendida para o n a ser executado.
possvel escolher a partir de uma de quatro opes: Parmetro de fluxo, Varivel global, Clula
de sada de tabela ou Sempre true. Os detalhes que forem inseridos na metade inferior da caixa
de dilogo so controlados pela condio que voc escolher.
v Parmetro de fluxo. Selecione o parmetro na lista disponvel e, em seguida, escolha o
Operador para esse parmetro; por exemplo, o operador pode ser More than, Equals, Less than,
Between, e assim por diante. Em seguida, insira o Valor, ou valores mnimo e mximo,
dependendo do operador.
O boto "Executar as linhas selecionadas" executa uma nica linha, ou um bloco de linhas adjacentes, que
voc selecionou no script:
Nota: Um script SuperNode executado quando o SuperNode executado, desde que Executar este
script tenha sido selecionado na caixa de dilogo do script SuperNode.
Localizar e substituir
A caixa de dilogo Localizar/Substituir est disponvel em locais onde voc edita script ou texto de
expresso, incluindo o editor de script, construtor de expresses do CLEM ou quando voc define um
modelo no n de Relatrio. Durante a edio de texto em qualquer uma dessas reas, pressione Ctrl+F
para acessar a caixa de dilogo, assegurando que o foco do cursor esteja na rea de texto. Se estiver
trabalhando em um n de Preenchimento, por exemplo, possvel acessar a caixa de dilogo a partir de
qualquer uma das reas de texto na guia Configuraes ou do campo de texto no construtor de
expresses.
1. Com o cursor em uma rea de texto, pressione Ctrl+F para acessar a caixa de dilogo
Localizar/Substituir.
2. Insira o texto que deseja procurar ou escolha na lista suspensa de itens procurados recentemente.
3. Insira o texto de substituio, se houver.
4. Clique em Localizar Prximo para iniciar a procura.
5. Clique em Substituir para substituir a seleo atual ou em Substituir Todos para atualizar todas as
instncias ou as selecionadas.
6. A caixa de dilogo fecha aps cada operao. Pressione F3 em qualquer rea de texto para repetir a
ltima operao Localizar ou pressione Ctrl+F para acessar a caixa de dilogo novamente.
Opes de procura
Respeitar maisculas e minsculas. Especifica se a operao Localizar faz distino entre maisculas e
minsculas; por exemplo, se myvar corresponde a myVar. O texto de substituio sempre inserido
exatamente como digitado, independentemente dessa configurao.
Somente palavras inteiras. Especifica se a operao Localizar corresponde ao texto integrado s palavras.
Se for selecionada, por exemplo, uma procura por spider no corresponder a spiderman ou spider-man.
Expresses regulares. Especifica se a sintaxe de expresso regular usada (consulte a prxima seo).
Quando selecionada, a opo Somente palavras inteiras desativada e seu valor ignorado.
Somente texto selecionado. Controla o escopo da procura durante o uso da opo Substituir Todos.
Expresses regulares permitem procurar caracteres especiais, como guias ou caracteres de nova linha,
classes ou intervalos de caracteres, como de a a d, qualquer dgito ou no dgito e limites, como incio ou
fim de uma linha. Os tipos de expresses a seguir so suportados.
Tabela 1. Correspondncias de caractere.
Caracteres Correspondncias
x O caractere x
\\ O caractere de barra invertida
\0n O caractere com valor octal 0n (0 <= n <= 7)
\0nn O caractere com valor octal 0nn (0 <= n <= 7)
\0mnn O caractere com valor octal 0mnn (0 <= m <= 3, 0 <= n <= 7)
\xhh O caractere com valor hexadecimal 0xhh
\uhhhh O caractere com valor hexadecimal 0xhhhh
Os scripts no IBM SPSS Modeler so gravados na linguagem de script Python. A implementao baseada
em Java de Python que utilizada pelo IBM SPSS Modeler chamada Jython. A linguagem de script
consiste nos recursos a seguir:
v Um formato para fazer referncia a ns, fluxos, projetos, sada e outros objetos do IBM SPSS Modeler.
v Um conjunto de instrues de scripts ou comandos que podem ser utilizados para manipular esses
objetos.
v Uma linguagem de expresso de script para configurar os valores de variveis, parmetros e outros
objetos.
v Suporte para comentrios, continuaes e blocos de texto literal.
Python e Jython
O Jython uma implementao da linguagem de script Python que escrita na linguagem Java e
integrada com a plataforma Java. O Python uma linguagem de script poderosa orientada a objetos. O
Jython til porque fornece os recursos de produtividade de uma linguagem de script madura e, ao
contrrio de Python, executado em qualquer ambiente que suportar uma Java virtual machine (JVM).
Isso significa que as bibliotecas Java na JVM esto disponveis para uso quando voc estiver gravando
programas. Com o Jython, possvel aproveitar esta diferena e utilizar a sintaxe e a maioria dos recursos
da linguagem Python.
Como uma linguagem de script, o Python (e sua implementao Jython) fcil de aprender, eficiente de
codificar e tem uma estrutura mnima necessria para criar um programa em execuo. Um cdigo pode
ser inserido interativamente, ou seja, uma linha por vez. O Python uma linguagem de script
interpretada e no h etapa de pr-compilao como h em Java. Os programas Python so simplesmente
arquivos de texto que so interpretados conforme so inseridos (aps a anlise de erros de sintaxe).
Expresses simples, como valores definidos, bem como as aes mais complexas, como definies de
funo, so imediatamente executadas e disponibilizadas para uso. Todas as mudanas que forem feitas
no cdigo podem ser testadas rapidamente. No entanto, a interpretao de script tem algumas
desvantagens. Por exemplo, como o uso de uma varivel no definida no um erro do compilador, ela
ser detectada apenas se (e quando) a instruo na qual a varivel utilizada for executada. Neste caso, o
programa pode ser editado e executado para depurar o erro.
O Python v tudo, incluindo todos os dados e o cdigo, como um objeto. Portanto, possvel manipular
esses objetos com as linhas de cdigo. Alguns tipos de seleo, como nmeros e sequncias, so mais
convenientemente considerados valores e no objetos, e isso suportado pelo Python. H um valor nulo
que suportado. Este valor nulo tem o nome reservado None.
Para obter uma introduo mais detalhada para script Python e Jython e tambm obter alguns scripts de
exemplo, consulte http://www.ibm.com/developerworks/java/tutorials/j-jython1/j-jython1.html e
http://www.ibm.com/developerworks/java/tutorials/j-jython2/j-jython2.html .
15
Script Python
Este guia para a linguagem de script Python uma introduo aos componentes que mais provavelmente
sero utilizados ao executar scripts no IBM SPSS Modeler, incluindo conceitos e princpios bsicos de
programao. Isso fornecer um conhecimento suficiente para comear a desenvolver seus prprios
scripts Python para uso no IBM SPSS Modeler.
Operaes
A designao feita utilizando um sinal de igual (=). Por exemplo, para designar o valor "3" para uma
varivel chamada "x", voc utiliza a seguinte instruo:
x = 3
O sinal de igual utilizado tambm para designar dados de tipo de sequncia para uma varivel. Por
exemplo, para designar o valor "a string value" para a varivel "y", voc utiliza a seguinte instruo:
y = "a string value"
A tabela a seguir lista algumas comparaes e operaes numricas normalmente utilizadas e suas
descries.
Tabela 5. Comparao e operaes numricas comuns
Operao Descrio
x < y O x menor que y?
x > y O x maior que y?
x <= y O x menor ou igual a y?
x >= y O x maior ou igual a y?
x == y O x igual a y?
x != y O x no igual a y?
x <> y O x no igual a y?
x + y Soma y ao x
x - y Subtrai y de x
x * y Multiplica x por y
x / y Divide x por y
x ** y Eleva o x potncia de y
Listas
Listas so sequncias de elementos. Uma lista pode conter qualquer nmero de elementos e os elementos
da lista podem ser qualquer tipo de objeto. As listas tambm podem ser consideradas como matrizes. O
nmero de elementos na lista pode aumentar ou diminuir conforme os elementos so includos,
removidos ou substitudos.
Exemplos
O nmero entre colchetes ([]) conhecido como um ndice e faz referncia a um elemento especfico da
lista. Os elementos de uma lista so indexados iniciando a partir de 0.
Tambm possvel selecionar um intervalo de elementos de uma lista; isso denominado fatiamento. Por
exemplo, x[1:3] seleciona o segundo e o terceiro elementos de x. O ndice final um aps a seleo.
Sequncias de caracteres
Uma sequncia uma sequncia imutvel que manipulada como um valor. As sequncias suportam
todas as funes e operadores de sequncia imutveis que resultam em uma nova sequncia. Por
exemplo, "abcdef"[1:4] resulta na sada "bcd".
As sequncias literais so definidas utilizando aspas simples ou triplas. As sequncias que so definidas
utilizando aspas simples no podem abranger outras linhas, enquanto que as sequncias que so
definidas utilizando aspas triplas podem. Uma sequncia pode ser colocada entre aspas simples () ou
aspas duplas ("). Um caractere aspas pode conter o outro caractere aspas sem escape ou um caractere
aspas com escape, que precedido por um caractere barra invertida (\).
Exemplos
"This is a string"
This is also a string
"Its a string"
This book is called "Python Scripting and Automation Guide".
"This is an escape quote (\") in a quoted string"
Diversas sequncias separadas por espao em branco so automaticamente concatenadas pelo analisador
Python. Isso facilita inserir sequncias longas e combinar tipos de aspas em uma nica sequncia, por
exemplo:
"This string uses and " that string uses ".
As sequncias suportam vrios mtodos teis. Alguns desses mtodos so fornecidos na tabela a seguir.
Tabela 6. Mtodos de sequncia
Mtodo Uso
s.capitalize() Altera a letra inicial s em maiscula
s.count(ss {,start {,end}}) Conta as ocorrncias de ss em s[start:end]
s.startswith(str {, start {, end}}) Testa se o s inicia com str
s.endswith(str {, start {, end}}) Testa se o s termina com str
Observaes
As observaes so comentrios que so introduzidos pelo sinal de sustenido ou hash (#). Todo o texto
aps o sinal de sustenido na mesma linha considerado parte do comentrio e ignorado. Um
comentrio pode iniciar em qualquer coluna. O exemplo a seguir demonstra o uso de comentrios:
#The HelloWorld application is one of the most simple
print Hello World # print the Hello World line
Sintaxe da Instruo
A sintaxe da instruo para Python muito simples. Em geral, cada linha de origem uma instruo
nica. Exceto para as instrues expression e assignment, cada instruo introduzida por um nome de
Instrues muito longas podem continuar em mais de uma linha. Neste caso, a instruo que precisar
continuar na prxima linha dever terminar com uma barra invertida (\), por exemplo:
x = "A loooooooooooooooooooong string" + \
"another looooooooooooooooooong string"
Quando uma estrutura colocada entre parnteses (()), colchetes ([]) ou chaves ({}), a instruo poder
continuar em uma nova linha aps qualquer vrgula, sem a necessidade de inserir uma barra invertida,
por exemplo:
x = (1, 2, 3, "hello",
"goodbye", 4, 5, 6)
Identificadores
Identificadores so utilizados para nomear variveis, funes, classes e palavras-chave. Os identificadores
podem ter qualquer comprimento e devem iniciar com um caractere alfabtico maisculo ou minsculo
ou com o caractere sublinhado (_). Os nomes que comeam com um sublinhado geralmente so
reservados para nomes internos ou privados. Aps o primeiro caractere, o identificador pode conter
qualquer nmero e combinao de caracteres alfabticos, nmeros de 0 a 9 e o caractere de sublinhado.
H algumas palavras reservadas no Jython que no podem ser utilizadas para nomear variveis, funes
ou classes. Elas se enquadram nas categorias a seguir:
v Introdutores de instruo: assert, break, class, continue, def, del, elif, else, except, exec, finally,
for, from, global, if, import, pass, print, raise, return, try e while
v Introdutores de parmetro: as, import e in
v Operadores: and, in, is, lambda, not e or
Blocos de Cdigo
Os blocos de cdigo so grupos de instrues que so utilizados onde instrues nicas so esperadas.
Os blocos de cdigo podem seguir qualquer uma das instrues a seguir: if, elif, else, for, while, try,
except, def e class. Essas instrues introduzem um cdigo de cloco com o caractere dois pontos (:), por
exemplo:
if x == 1:
y = 2
z = 3
elif:
y = 4
z = 5
A indentao utilizada para delimitar os blocos de cdigo (ao invs de chaves que so utilizadas em
Java). Todas as linhas em um bloco devem ser indentadas para a mesma posio. Isso ocorre porque uma
mudana na indentao indica o final de um bloco de cdigos. comum recuar por quatro espaos por
nvel. Recomenda-se que espaos sejam usados para indentar as linhas, ao invs de usar tabulaes.
Espaos e tabulaes no devem ser misturados. As linhas no bloco mais afastado de um mdulo devem
iniciar na coluna um, ou um SyntaxError ocorrer.
As instrues que compem um bloco de cdigos (e aps os dois pontos) tambm podem estar em uma
nica linha, separadas por ponto e vrgula, por exemplo:
if x == 1: y = 2; z = 3;
Neste exemplo, o comando import importa toda a classe sys para que os mtodos existentes para essa
classe, como argv, possam ser utilizados.
Exemplos
A palavra-chave print imprime os argumentos imediatamente aps ele. Se a instruo for seguida por
uma vrgula, uma nova linha no ser includa na sada. Por exemplo:
print "This demonstrates the use of a",
print " comma at the end of a print statement."
A instruo for utilizada para iterar atravs de um bloco de cdigo. Por exemplo:
mylist1 = ["one", "two", "three"]
for lv in mylist1:
print lv
continue
Neste exemplo, trs sequncias so designadas lista mylist1. Em seguida, os elementos da lista so
impressos, com um elemento de cada linha. Isso resulta na sada a seguir:
one
two
three
Neste exemplo, o agente iterativo lv utiliza o valor de cada elemento na lista mylist1 sucessivamente
conforme o loop 'for' implementa o bloco de cdigos de cada elemento. Um agente iterativo pode ser
qualquer identificador vlido de qualquer comprimento.
A instruo if uma instruo condicional. Ela avalia a condio e retorna true ou false, dependendo do
resultado da avaliao. Por exemplo:
mylist1 = ["one", "two", "three"]
for lv in mylist1:
if lv == "two"
print "The value of lv is ", lv
else
print "The value of lv is not two, but ", lv
continue
Mtodos Matemticos
No mdulo math, possvel acessar mtodos matemticos teis. Alguns desses mtodos so fornecidos na
tabela a seguir. A menos que seja especificado o contrrio, todos os valores so retornados como
flutuantes.
Tabela 7. Mtodos matemticos
Mtodo Uso
math.ceil(x) Retorna o limite de x como um valor flutuante, que o
menor nmero inteiro maior ou igual a x
math.copysign(x, y) Retorna x com sinal de y. copysign(1, -0.0) retorna -1
math.fabs(x) Retorna o valor absoluto de x
math.factorial(x) Retorna x fatorial. Se x for negativo ou no for um
nmero inteiro, um ValueError ser emitido.
math.floor(x) Retorna o piso de x como um valor flutuante, que o
maior nmero inteiro menor ou igual a x
math.frexp(x) Retorna a mantissa (m) e o expoente (e) de x como o par
(m, e). m um valor flutuante e e um nmero inteiro,
de forma que x == m * 2**e exatamente. Se x for zero,
retornar (0,0, 0), caso contrrio, 0.5 <= abs(m) < 1.
math.fsum(iterable) Retorna uma soma de valores de ponto flutuante de
preciso iterable
math.isinf(x) Verifique se o valor flutuante x infinitivo positivo ou
negativo
math.isnan(x) Verifique se o valor flutuante x NaN (no um nmero)
math.ldexp(x, i) Retorna x * (2**i). Isso essencialmente o inverso da
funo frexpf.
math.modf(x) Retornar as partes fracionrias e inteiras de x. Ambos os
resultados transportam o sinal de x e so valores
flutuantes.
math.trunc(x) Retorna o valor Real de x, que foi truncado para um
Integral.
math.exp(x) Retorna e**x
math.log(x[, base]) Retorna o logaritmo de x para o valor especificado de
base. Se base no for especificado, o logaritmo natural de
x ser retornado.
math.log1p(x) Retorna o logaritmo natural de 1+x (base e)
math.log10(x) Retorna o logaritmo de base 10 de x
math.pow(x, y) Retorna x elevado potncia y. pow(1.0, x) e pow(x,
0.0) sempre retorna 1, mesmo quando x for zero ou
NaN.
math.sqrt(x) Retorna a raiz quadrada de x
Alm das funes matemticas, h alguns mtodos trigonomtricos teis. Esses mtodos so mostrados
na tabela a seguir.
O rtulo est incorreto porque o literal de sequncia em si foi convertido em uma sequncia ASCII pelo
Python.
O uso do Python e Unicode um tpico grande que est alm do escopo deste documento. Muitos livros
e recursos online esto disponveis para abordar este tpico em mais detalhes.
No Python, as classes so definidas utilizando a instruo class. A instruo class tem o seguinte
formato:
class name (superclasses): statement
ou
Ao definir uma classe, voc tem a opo de fornecer zero ou mais instrues de designao. Isso cria
atributos de classe que so compartilhados por todas as instncias da classe. Tambm possvel fornecer
zero ou mais definies de funo. Essas definies de funo criam mtodos. A lista de superclasses
opcional.
O nome de classe deve ser exclusivo no mesmo escopo, que est dentro de um mdulo, funo ou classe.
possvel definir diversas variveis para fazer referncia mesma classe.
Aqui, a instruo pass utilizada porque uma instruo necessria para concluir a classe, mas nenhuma
ao necessria programaticamente.
def method1(self):
print MyClass.attr1 #reference the class attribute
def method2(self):
print MyClass.attr2 #reference the class attribute
Dentro de uma classe, deve-se qualificar todas as referncias a atributos de classe com o nome de classe;
por exemplo, MyClass.attr1. Todas as referncias a atributos de instncia devem ser qualificadas com a
varivel self; por exemplo, self.text. Fora da classe, deve-se qualificar todas as referncias a atributos
Variveis ocultas
Os dados podem ser ocultados ao criar Variveis Privadas. As variveis privadas podem ser acessadas
apenas pela prpria classe. Se voc declarar nomes no formato __xxx ou __xxx_yyy, ou seja, com dois
sublinhados precedentes, o analisador Python incluir automaticamente o nome da classe no nome
declarado, criando variveis ocultas, por exemplo:
class MyClass:
__attr = 10 #private class attribute
def method1(self):
passar
Ao contrrio do Java, no Python todas as referncias s variveis de instncia devem ser qualificadas com
self, e no h nenhum uso implcito de this.
Herana
A capacidade de herdar a partir de classes fundamental para programao orientada a objetos. O
Python suporta herana nica e tambm diversas heranas. Herana nica significa que pode haver apenas
uma superclasse. Diversas heranas significam que pode haver mais de uma superclasse.
A herana implementada ao definir outras classes como subclasse. Qualquer nmero de classes Python
pode ser superclasses. Na implementao Jython do Python, apenas uma classe Java pode ser herdada
direta ou indiretamente. Ela no necessria para que uma superclasse seja fornecida.
Qualquer atributo ou mtodo em uma superclasse tambm est em qualquer subclasse e pode ser
utilizado pela prpria classe ou por qualquer cliente, desde que o atributo ou mtodo no esteja oculto.
Qualquer instncia de uma subclasse poder ser utilizada onde quer que a instncia de uma superclasse
possa ser utilizada; isso um exemplo de polimorfismo. Esses recursos permitem a reutilizao e a
facilidade da extenso.
Exemplo
class Class1: pass #no inheritance
Vrios mtodos esto disponveis para serem utilizados em scripts no IBM SPSS Modeler com a qual
possvel acessar uma ampla variedade de funcionalidade do SPSS Modeler. Esses mtodos tambm so
utilizados no Captulo 4, A API de Script, na pgina 37 para criar funes mais avanadas.
Fluxos
Um fluxo o tipo de documento principal do IBM SPSS Modeler. Ele pode ser salvo, carregado, editado e
executado. Os fluxos tambm podem ter parmetros, valores globais, um script e outras informaes
associadas a ele.
Fluxos de SuperNode
Um fluxo de SuperNode o tipo de fluxo utilizado em um SuperNode. Assim como um fluxo normal, ele
contm ns que esto vinculados. Os fluxos de SuperNode possuem vrias diferenas de um fluxo
normal:
v Os parmetros e quaisquer scripts so associados ao SuperNode que possui o fluxo de SuperNode e
no ao prprio fluxo de SuperNode.
v Os fluxos de SuperNode possuem ns de conector de entrada e de sada adicionais, dependendo do
tipo de SuperNode. Esses ns de conector so utilizados para fluir informaes para dentro e fora do
fluxo do SuperNode e so criados automaticamente quando o SuperNode criado.
Diagramas
O termo diagrama abrange as funes que so suportadas pelos fluxos normal e SuperNode, como incluir
e remover ns e modificar conexes entre os ns.
Executando um fluxo
O exemplo a seguir executa todos os ns executveis no fluxo e o tipo mais simples de script de fluxo:
modeler.script.stream().runAll(None)
27
Neste exemplo, o fluxo armazenado em uma varivel denominada stream. Armazenar o fluxo em uma
varivel til porque um script normalmente utilizado para modificar o fluxo ou os ns dentro de um
fluxo. Criar uma varivel que armazena o fluxo resulta em um script mais conciso.
O contexto de script
O mdulo modeler.script fornece o contexto no qual um script executado. O mdulo
automaticamente importado em um script do SPSS Modeler no tempo de execuo. O mdulo define
quatro funes que fornecem um script com acesso ao seu ambiente de execuo.
v A funo session() retorna a sesso para o script. A sesso define informaes como o cdigo do
idioma e o SPSS Modeler de backend (um processo local ou um SPSS Modeler Server em rede) que
est sendo utilizado para executar quaisquer fluxos.
v A funo stream() pode ser utilizada com os scripts de fluxo e de SuperNode. Esta funo retorna o
fluxo que possui ou o script de fluxo ou o script de SuperNode que est sendo executado.
v A funo diagram() pode ser utilizada com o script de SuperNode. Esta funo retorna o diagrama no
SuperNode. Para outros tipos de script, esta funo retorna a mesma funo stream().
v A funo supernode() pode ser utilizada com scripts de SuperNode. Esta funo retorna o SuperNode
que possuir o script que est sendo executado.
O mdulo modeler.script tambm define uma forma de terminar o script com um cdigo de sada. A
funo exit(exit-code) interrompe a execuo do script e retorna o cdigo de sada de nmero inteiro
fornecido.
Um dos mtodos que definido para um fluxo runAll(Lista). Este mtodo executa todos os ns
executveis. Quaisquer modelos ou sadas que forem gerados executando os ns so includos na lista
fornecida.
Normalmente uma execuo de fluxo gera sadas, como modelos, grficos e outra sada. Para capturar
esta sada, um script pode fornecer uma varivel que seja inicializada para uma lista, por exemplo:
stream = modeler.script.stream()
results = []
stream.runAll(results)
Quando a execuo for concluda, quaisquer objetos que forem gerados pela execuo podem ser
acessados a partir da lista results.
Localizando ns
Os fluxos fornecem vrias maneiras de localizar um n existente. Esses mtodos so resumidos na tabela
a seguir.
Tabela 10. Mtodos para localizar um n existente
Mtodo Tipo de retorno Descrio
s.findAll(type, label) Coleo Retorna uma lista de todos os ns
com o tipo e rtulo especificados. O
tipo ou o rtulo pode ser None, caso
em que o outro parmetro
utilizado.
s.findAll(filter, recursive) Coleo Retorna uma coleo de todos os ns
que forem aceitos pelo filtro
especificado. Se o sinalizador
recursivo for True, quaisquer
SuperNodes no fluxo especificado
tambm sero procurados.
s.findByID(id) N Retorna o n com o ID fornecido ou
None se esse tipo no existir. A
procura limitada ao fluxo atual.
s.findByType(type, label) N Retorna o n com o tipo ou rtulo
fornecido, ou ambos. O tipo ou o n
pode ser None, caso em que o outro
parmetro utilizado. Se diversos
ns resultarem em uma
correspondncia, uma
correspondncia arbitrria ser
escolhida e retornada. Se nenhum n
resultar em uma correspondncia,
ento o valor de retorno ser None.
s.findDownstream(fromNodes) Coleo Procura a partir da lista de ns
fornecida e retorna o conjunto de ns
de recebimento de dados dos ns
fornecidos. A lista retornada inclui os
ns originalmente fornecidos.
s.findUpstream(fromNodes) Coleo Procura a partir da lista de ns
fornecida e retorna o conjunto de ns
de envio de dados dos ns
fornecidos. A lista retornada inclui os
ns originalmente fornecidos.
Como um exemplo, se o fluxo continha um n Filtro nico que o script precisava acessar, o n Filtro
poder ser localizado usando o script a seguir:
stream = modeler.script.stream()
node = stream.findByType("filter", None)
...
Configurando propriedades
Os ns, fluxos, modelos e sadas possuem propriedades que podem ser acessadas e, na maioria dos casos,
configuradas. As propriedades geralmente so utilizadas para modificar o comportamento ou a aparncia
do objeto. Os mtodos que esto disponveis para acessar e configurar as propriedades do objeto so
resumidos na tabela a seguir.
Tabela 11. Mtodos para acessar e configurar propriedades de objeto
Mtodo Tipo de retorno Descrio
p.getPropertyValue(propertyName) Object Retorna o valor da propriedade
nomeada ou None se essa propriedade
no existir.
p.setPropertyValue(propertyName, No aplicvel Configura o valor da propriedade
value) nomeada.
p.setPropertyValues(properties) No aplicvel Configura os valores das
propriedades nomeadas. Cada
entrada no mapa de propriedades
consiste em uma chave que
representa o nome da propriedade e
o valor que deve ser designado a
essa propriedade.
p.getKeyedPropertyValue( Object Retorna o valor da propriedade
propertyName, keyName) nomeada e a chave associada ou None
se essa propriedade ou chave no
existir.
p.setKeyedPropertyValue( No aplicvel Configura o valor da propriedade
propertyName, keyName, value) nomeada e da chave.
Por exemplo, se desejar configurar o valor de um n Arquivo da Varivel no incio de um fluxo, ser
possvel utilizar o seguinte script:
stream = modeler.script.stream()
node = stream.findByType("variablefile", None)
node.setPropertyValue("full_filename", "$CLEO/DEMOS/DRUG1n")
...
Como alternativa, voc pode querer filtrar um campo a partir de um n Filtro. Nesse caso, o valor
tambm chaveado no nome do campo, por exemplo:
stream = modeler.script.stream()
# Locate the filter node ...
node = stream.findByType("filter", None)
# ... and filter out the "Na" field
node.setKeyedPropertyValue("include", "Na", False)
Por exemplo, para criar um novo n Tipo em um fluxo, possvel utilizar o script a seguir:
stream = modeler.script.stream()
# Create a new type node
node = stream.create("type", "My Type")
Vinculando e desvinculando ns
Quando um novo n criado dentro de um fluxo, ele deve ser conectado a uma sequncia de ns antes
de poder ser utilizado. Os fluxos fornecem vrios mtodos para vincular e desvincular ns. Esses
mtodos so resumidos na tabela a seguir.
Tabela 13. Mtodos para vincular e desvincular ns
Mtodo Tipo de retorno Descrio
s.link(source, target) No aplicvel Cria um novo link entre os ns de
origem e de destino.
s.link(source, targets) No aplicvel Cria novos links entre o n de
origem e cada n de destino na lista
fornecida.
s.linkBetween(inserted, source, No aplicvel Conecta um n entre duas outras
target) instncias do n (os ns de origem e
de destino) e configura a posio do
n inserido para que ele esteja entre
as instncias. Qualquer link direto
entre os ns de origem e de destino
removido inicialmente.
s.linkPath(path) No aplicvel Cria um novo caminho entre
instncias do n. O primeiro n
vinculado ao segundo, o segundo
vinculado ao terceiro, e assim por
diante.
s.unlink(source, target) No aplicvel Remove qualquer link direto entre
ns de origem e de destino.
s.unlink(source, targets) No aplicvel Remove quaisquer links diretos entre
o n de origem e cada objeto na lista
de destinos.
s.unlinkPath(path) No aplicvel Remove qualquer caminho que existir
entre instncias do n.
Percorrendo os ns em um fluxo
Um requisito comum identificar os ns que forem envio ou recebimento de dados de um n especfico.
O fluxo fornece diversos mtodos que podem ser utilizados para identificar esses ns. Esses mtodos so
resumidos na tabela a seguir.
Tabela 15. Mtodos para identificar os ns de envio e de recebimento de dados
Mtodo Tipo de retorno Descrio
s.iterator() Agente Iterativo Retorna um agente iterativo sobre os
objetos de n que esto contidos no
fluxo especificado. Se o fluxo for
modificado entre as chamadas da
funo next(), o comportamento do
agente iterativo ser indefinido.
s.predecessorAt(node, index) N Retorna o predecessor imediato
especificado do n fornecido ou None
se o ndice estiver fora dos limites.
s.predecessorCount(node) int Retorna o nmero de predecessores
imediatos do n fornecido.
s.predecessors(node) Lista Retorna os predecessores imediatos
do n fornecido.
s.successorAt(node, index) N Retorna o sucessor imediato
especificado do n fornecido ou None
se o ndice estiver fora dos limites.
O script Python suporta um conjunto semelhante de funes; o comando removeAll() utilizado para
limpar gerenciadores de Fluxos, Sadas e de Modelos, por exemplo:
v Para limpar o gerenciador de Fluxos:
session = modeler.script.session()
session.getStreamManager.removeAll()
v Para limpar o gerenciador de Sadas:
session = modeler.script.session()
session.getDocumentOutputManager().removeAll()
v Para limpar o gerenciador de Modelos:
session = modeler.script.session()
session.getModelOutputManager().removeAll()
Os mtodos que podem ser utilizados para obter o ID, o nome e o rtulo de um n so resumidos na
tabela a seguir.
Tabela 16. Mtodos para obter o ID, o nome e o rtulo de um n
Mtodo Tipo de retorno Descrio
n.getLabel() string Retorna o rtulo de exibio do n
especificado. O rtulo ser o valor da
propriedade custom_name somente se
essa propriedade for uma sequncia
no vazia e a propriedade
use_custom_name no estiver
configurada, caso contrrio, o rtulo
ser o valor de getName().
Os mtodos que podem ser utilizados para obter outras informaes sobre um n so resumidos na
tabela a seguir.
Tabela 17. Mtodos para obter informaes sobre um n
Mtodo Tipo de retorno Descrio
n.getTypeName() string Retorna o nome de script deste n.
Este o mesmo nome que pode ser
utilizado para criar uma nova
instncia deste n.
n.isInitial() Boolean Retornar True se este for um n
inicial, que aquele que ocorre no
incio de um fluxo.
n.isInline() Boolean Retornar True se este for um n
sequencial, que aquele que ocorre no
meio do fluxo.
n.isTerminal() Boolean Retornar True se este for um n
terminal, que aquele que ocorre no
trmino de um fluxo.
n.getXPosition() int Retorna o deslocamento da posio x
do n no fluxo.
n.getYPosition() int Retorna o deslocamento da posio y
do n no fluxo.
n.setXYPosition(x, y) No aplicvel Configura a posio do n no fluxo.
n.setPositionBetween(source, No aplicvel Configura a posio do n no fluxo
target) para que ele seja posicionado entre os
ns fornecidos.
Um guia completo para as classes, mtodos e parmetros que esto disponveis por meio da API de script
pode ser localizado no documento Guia de Referncia da API de Script Python do IBM SPSS Modeler 17.
O exemplo a seguir mostra como procurar por ns em um fluxo que tiver o cache de n ativado. A lista
de ns retornada pode ser utilizada para limpar ou desativar os caches desses ns.
import modeler.api
class CacheFilter(modeler.api.NodeFilter):
"""A node filter for nodes with caching enabled"""
def accept(this, node):
return node.isCacheEnabled()
Os scripts tambm podem acessar o modelo de dados ao consultar os campos que entram ou que saem
de um n. Para alguns ns, os modelos de dados de entrada e de sada so os mesmos, por exemplo, um
n Classificar apenas reordena os registros, mas no altera o modelo de dados. Alguns ns, como Derivar,
podem incluir novos campos. Outros, como o n Filtro, podem renomear ou remover campos.
No exemplo a seguir, o script utiliza o fluxo druglearn.str padro do IBM SPSS Modeler e, para cada
campo, constri um modelo com um dos campos de entrada eliminados. Ele faz isto ao:
1. Acessar o modelo de dados de sada do n Tipo.
2. Executar loop em cada campo no modelo de dados de sada.
3. Modificar o n Filtro para cada campo de entrada.
4. Alterar o nome do modelo que est sendo construdo.
37
5. Executar o n de construo de modelo.
Nota: Antes de executar o script no fluxo druglean.str, lembre-se de configurar a linguagem de script
para Python (o fluxo foi criado em uma verso anterior do IBM SPSS Modeler de modo que a linguagem
de script de fluxo configurada para Legacy).
import modeler.api
stream = modeler.script.stream()
filternode = stream.findByType("filter", None)
typenode = stream.findByType("type", None)
c50node = stream.findByType("c50", None)
# Always use a custom model name
c50node.setPropertyValue("use_model_name", True)
lastRemoved = None
fields = typenode.getOutputDataModel()
for field in fields:
# If this is the target field then ignore it
if field.getModelingRole() == modeler.api.ModelingRole.OUT:
continue
# Set the name of the new model then run the build
c50node.setPropertyValue("model_name", "Exclude " + lastRemoved)
c50node.run([])
O objeto DataModel fornece vrios mtodos para acessar informaes sobre os campos ou colunas no
modelo de dados. Esses mtodos so resumidos na tabela a seguir.
Tabela 18. Mtodos do objeto DataModel para acessar informaes sobre campos ou colunas
Mtodo Tipo de retorno Descrio
d.getColumnCount() int Retorna o nmero de colunas no
modelo de dados.
d.columnIterator() Agente Iterativo Retorna um agente iterativo que
retorna cada coluna na ordem de
insero "natural". O agente iterativo
retorna instncias de Coluna.
d.nameIterator() Agente Iterativo Retorna um agente iterativo que
retorna o nome de cada coluna na
ordem de insero "natural".
d.contains(name) Boolean Retornar True se uma coluna com o
nome fornecido existir neste
DataModel, caso contrrio, False.
d.getColumn(name) Coluna Retorna a coluna com o nome
especificado.
d.getColumnGroup(name) ColumnGroup Retorna o grupo de coluna nomeado
ou None se esse grupo de coluna no
existir.
d.getColumnGroupCount() int Retorna o nmero de grupos de
coluna nesse modelo de dados.
d.columnGroupIterator() Agente Iterativo Retorna um agente iterativo que
retorna cada grupo de colunas
sucessivamente.
Cada campo (objeto da Coluna) inclui vrios mtodos para acessar informaes sobre a coluna. A tabela
abaixo mostra uma seleo deles.
Tabela 19. Mtodos de objetos Coluna para acessar informaes sobre a coluna
Mtodo Tipo de retorno Descrio
c.getColumnName() string Retorna o nome da coluna.
c.getColumnLabel() string Retorna o rtulo da coluna ou uma
sequncia de caracteres vazia se
nenhum rtulo estiver associado
coluna.
c.getMeasureType() MeasureType Retorna o tipo de medida para a
coluna.
c.getStorageType() StorageType Retorna o tipo de armazenamento
para a coluna.
c.isMeasureDiscrete() Boolean Retornar True se a coluna for
discreta. As colunas que forem um
conjunto ou um sinalizador so
consideradas discretas.
c.isModelOutputColumn() Boolean Retornar True se a coluna uma
coluna de sada do modelo.
c.isStorageDatetime() Boolean Retornar True se o armazenamento
da coluna for um valor de hora, data
ou registro de data e hora.
c.isStorageNumeric() Boolean Retornar True se o armazenamento
da coluna for um nmero inteiro ou
um nmero real.
c.isValidValue(value) Boolean Retornar True se o valor
especificado for vlido para esse
armazenamento e valid quando os
valores de coluna vlidos forem
conhecidos.
c.getModelingRole() ModelingRole Retorna o tipo de modelagem para a
coluna.
c.getSetValues() Object[] Retorna uma matriz de valores
vlidos para a coluna ou None se um
dos valores no for conhecido ou se a
coluna no for um conjunto.
c.getValueLabel(value) string Retorna o rtulo para o valor na
coluna ou uma sequncia vazia se
no houver nenhum rtulo associado
ao valor.
c.getFalseFlag() Object Retorna o valor de indicador "false"
para a coluna ou None se o valor no
for conhecido ou se a coluna no for
um sinalizador.
Observe que a maioria dos mtodos que acessam informaes sobre uma coluna possui mtodos
equivalentes definidos no prprio objeto DataModel. Por exemplo, as duas instrues a seguir so
equivalentes:
dataModel.getColumn("someName").getModelingRole()
dataModel.getModelingRole("someName")
No exemplo abaixo, o fluxo druglearn.str utilizado novamente como o ponto de incio para o fluxo.
Neste exemplo, todos os ns no fluxo so executados e os resultados so armazenados em uma lista. Em
seguida, o script executa loop nos resultados e quaisquer sadas de modelo resultantes da execuo so
salvas como um arquivo (.gm) de modelo do IBM SPSS Modeler e o modelo exportado pelo PMML.
import modeler.api
stream = modeler.script.stream()
label = model.getLabel()
algorithm = model.getModelDetail().getAlgorithmName()
A classe executora de tarefa fornece uma maneira conveniente de executar vrias tarefas comuns. Os
mtodos que esto disponveis nesta classe so resumidos na tabela a seguir.
Manipulando Erros
A linguagem Python fornece manipulao de erros por meio do bloco de cdigo try...except. Isso pode
ser utilizado dentro de scripts para capturar excees e manipular problemas que, de outra forma, fazem
com que o script seja finalizado.
No script de exemplo abaixo, uma tentativa feita para recuperar um modelo de um IBM SPSS
Collaboration and Deployment Services Repository. Essa operao pode fazer com que uma exceo seja
emitida, por exemplo, se as credenciais de login de repositrio no tiverem sido configuradas
corretamente ou se o caminho do repositrio estiver errado. No script, isso poder fazer com que uma
ModelerException seja emitida (todas as excees que so geradas pelo IBM SPSS Modeler so derivadas
de modeler.api.ModelerException).
import modeler.api
session = modeler.script.session()
try:
repo = session.getRepository()
m = repo.retrieveModel("/some-non-existent-path", None, None, True)
Nota: Algumas operaes de script podem fazer com que excees Java padro sejam emitidas; essas
excees no so derivadas de ModelerException. Para capturar essas excees, um bloco de exceo
adicional poder ser usado para capturar todas as excees Java, por exemplo:
import modeler.api
session = modeler.script.session()
try:
repo = session.getRepository()
m = repo.retrieveModel("/some-non-existent-path", None, None, True)
# print goes to the Modeler UI script panel Debug tab
print "Everything OK"
except modeler.api.ModelerException, e:
print "An error occurred:", e.getMessage()
except java.lang.Exception, e:
print "A Java exception occurred:", e.getMessage()
No exemplo a seguir, o script agrega alguns dados do Telco para localizar qual regio possui os dados da
receita mdia mais baixa. Um parmetro de fluxo ento configurado com esta regio. Em seguida, esse
parmetro de fluxo utilizado em um n Selecionar para excluir essa regio dos dados antes que um
modelo de rotatividade seja construdo no restante.
O exemplo artificial porque o script gera o n Seleo em si e, portanto, pode ter gerado o valor correto
diretamente na expresso do n Seleo. No entanto, como os fluxos so normalmente pr-construdos,
configurar os parmetros dessa forma fornece um exemplo til.
A primeira parte do script de exemplo cria o parmetro de fluxo que conter a regio com a receita
mdia mais baixa. O script tambm cria os ns na ramificao de agregao e na ramificao de
construo de modelo e os conecta entre si.
import modeler.api
stream = modeler.script.stream()
# First create the aggregation branch to compute the average income per region
statisticsimportnode = stream.createAt("statisticsimport", "SPSS File", 114, 142)
statisticsimportnode.setPropertyValue("full_filename", "$CLEO_DEMOS/telco.sav")
statisticsimportnode.setPropertyValue("use_field_format_for_storage", True)
stream.link(statisticsimportnode, aggregatenode)
stream.link(aggregatenode, tablenode)
stream.link(statisticsimportnode, selectnode)
stream.link(selectnode, typenode)
stream.link(typenode, c50node)
A parte a seguir do script de exemplo acessa a sada da tabela que foi gerada pela execuo do n Tabela.
O script ento itera atravs das linhas na tabela, procurando a regio com a receita mdia mais baixa.
# Running the table node should produce a single table as output
table = results[0]
# table output contains a RowSet so we can access values as rows and columns
rowset = table.getRowSet()
min_income = 1000000.0
min_region = None
# From the way the aggregate node is defined, the first column
# contains the region and the second contains the average income
row = 0
rowcount = rowset.getRowCount()
while row < rowcount:
if rowset.getValueAt(row, 1) < min_income:
min_income = rowset.getValueAt(row, 1)
min_region = rowset.getValueAt(row, 0)
row += 1
A parte a seguir do script utiliza a regio com a receita mdia mais baixa para configurar o parmetro de
fluxo "LowestRegion" que foi criado anteriormente. O script ento executa o construtor de modelo com a
regio especificada excluda dos dados de treinamento.
# Check that a value was assigned
if min_region != None:
stream.setParameterValue("LowestRegion", min_region)
else:
stream.setParameterValue("LowestRegion", -1)
stream = modeler.script.stream()
# First create the aggregation branch to compute the average income per region
statisticsimportnode = stream.createAt("statisticsimport", "SPSS File", 114, 142)
statisticsimportnode.setPropertyValue("full_filename", "$CLEO_DEMOS/telco.sav")
statisticsimportnode.setPropertyValue("use_field_format_for_storage", True)
stream.link(statisticsimportnode, aggregatenode)
stream.link(aggregatenode, tablenode)
stream.link(statisticsimportnode, selectnode)
stream.link(selectnode, typenode)
stream.link(typenode, c50node)
# table output contains a RowSet so we can access values as rows and columns
rowset = table.getRowSet()
min_income = 1000000.0
min_region = None
# From the way the aggregate node is defined, the first column
# contains the region and the second contains the average income
row = 0
rowcount = rowset.getRowCount()
while row < rowcount:
if rowset.getValueAt(row, 1) < min_income:
min_income = rowset.getValueAt(row, 1)
min_region = rowset.getValueAt(row, 0)
row += 1
Valores Globais
Os valores globais so utilizados para calcular vrias estatsticas de resumo para campos especificados.
Esses valores de resumo podem ser acessados em qualquer lugar dentro do fluxo. Os valores globais so
semelhantes aos parmetros de fluxo por eles serem acessados por nome atravs do fluxo. Eles diferem
dos parmetros de fluxo pelo fato de os valores associados serem atualizados automaticamente quando
um n Configurar Globais executado, ao invs de serem designados pelo script ou a partir da linha de
comandos. Os valores globais para um fluxo so acessados ao chamar o mtodo getGlobalValues() do
fluxo.
Por exemplo, o script a seguir acessa o valor mdio do campo "income", que calculado por um n
Configurar Globais:
import modeler.api
globals = modeler.script.stream().getGlobalValues()
mean_income = globals.getValue(modeler.api.GlobalValues.Type.MEAN, "income")
O script independente a seguir abre dois fluxos. Um destes fluxos constri um modelo, ao passo que o
segundo fluxo representa a distribuio dos valores previstos.
# Change to the appropriate location for your system
demosDir = "C:/Program Files/IBM/SPSS/Modeler/17/DEMOS/streams/"
session = modeler.script.session()
tasks = session.getTaskRunner()
# Open the model build stream, locate the C5.0 node and run it
buildstream = tasks.openStreamFromFile(demosDir + "druglearn.str", True)
c50node = buildstream.findByType("c50", None)
results = []
c50node.run(results)
# Now open the plot stream, find the Na_to_K derive and the histogram
plotstream = tasks.openStreamFromFile(demosDir + "drugplot.str", True)
derivenode = plotstream.findByType("derive", None)
histogramnode = plotstream.findByType("histogram", None)
# Create a model applier node, insert it between the derive and histogram nodes
# then run the histgram
applyc50 = plotstream.createModelApplier(results[0], results[0].getName())
applyc50.setPositionBetween(derivenode, histogramnode)
plotstream.linkBetween(applyc50, derivenode, histogramnode)
histogramnode.setPropertyValue("color_field", "$C-Drug")
Este script poder ser utilizado em qualquer fluxo que possuir um n Filtro, mesmo se nenhum campo
estiver realmente filtrado. Basta incluir um n Filtro que transmita todos os campos para alterar os nomes
de campo para letras maisculas em todo o quadro.
# Alternative 1: using the data model nameIterator() function
stream = modeler.script.stream()
for node in stream.iterator():
if (node.getTypeName() == "filter"):
# nameIterator() returns the field names
for field in node.getInputDataModel().nameIterator():
newname = field.upper()
node.setKeyedPropertyValue("new_name", field, newname)
# Alternative 2: using the data model iterator() function
stream = modeler.script.stream()
for node in stream.iterator():
if (node.getTypeName() == "filter"):
# iterator() returns the field objects so we need
# to call getColumnName() to get the name
for field in node.getInputDataModel().iterator():
newname = field.getColumnName().upper()
node.setKeyedPropertyValue("new_name", field.getColumnName(), newname)
O script executa loop em todos os ns no fluxo atual e verifica se cada n um Filtro. Se isso ocorrer, o
script executar loop em cada campo no n e utilizar a funo field.upper() ou
field.getColumnName().upper() para alterar o nome para letras maisculas.
49
Conectando-se ao IBM SPSS Collaboration and Deployment Services Repository
Para acessar o repositrio, deve-se primeiro configurar uma conexo vlida com ele, por meio do menu
Ferramentas da interface com o usurio do IBM SPSS Modeler ou por meio da linha de comandos.
(Consulte o tpico Argumentos de Conexo do IBM SPSS Collaboration and Deployment Services
Repository na pgina 65 para obter mais informaes). )
Em um script, os comandos retrieve e store permitem acessar vrios objetos, incluindo fluxos, modelos,
sada, ns e projetos. A sintaxe a seguinte:
store object as REPOSITORY_PATH {label LABEL}
store object as URI [#l.label]
retrieve object REPOSITORY_PATH {label LABEL | version VERSION}
retrieve object URI [(#m.marker | #l.label)]
O REPOSITORY_PATH fornece o local do objeto no repositrio. Deve-se colocar o caminho entre aspas e
utilizar barras como delimitadores. Ele no faz distino entre maisculas e minsculas.
store stream as "/folder_1/folder_2/mystream.str"
store model Drug as "/myfolder/drugmodel"
store model Drug as "/myfolder/drugmodel.gm" label "final"
store node DRUG1n as "/samples/drug1ntypenode"
store project as "/CRISPDM/DrugExample.cpj"
store output "Data Audit of [6 fields]" as "/my folder/My Audit"
Opcionalmente, uma extenso como .str ou .gm pode ser includa no nome do objeto, mas isso no
necessrio desde que o nome esteja consistente. Por exemplo, se um modelo estiver armazenado sem uma
extenso, ele dever ser recuperado pelo mesmo nome:
store model "/myfolder/drugmodel"
retrieve model "/myfolder/drugmodel"
versus:
store model "/myfolder/drugmodel.gm"
retrieve model "/myfolder/drugmodel.gm" version "0:2005-10-12 14:15:41.281"
Observe que ao recuperar objetos, a verso mais recente do objeto sempre retornada, a menos que voc
especifique uma verso ou rtulo. Ao recuperar um objeto de n, o n ser inserido automaticamente no
fluxo atual. Ao recuperar um objeto de fluxo, deve-se utilizar um script independente. No possvel
recuperar um objeto de fluxo de dentro de um script de fluxo.
A partir de um script, possvel bloquear um objeto para evitar que outros usurios atualizem qualquer
uma de suas verses existentes ou criem novas verses. Tambm possvel desbloquear um objeto que
voc bloqueou.
unlock REPOSITORY_PATH
unlock URI
Assim como ocorre com armazenamento e recuperao de objetos, o REPOSITORY_PATH fornece o local do
objeto no repositrio. Deve-se colocar o caminho entre aspas e utilizar barras como delimitadores. Ele no
faz distino entre maisculas e minsculas.
lock "/myfolder/Stream1.str
unlock "/myfolder/Stream1.str"
unlock "spsscr:///myfolder/Stream1.str"
Note que o bloqueio do objeto aplicado a todas as verses de um objeto - no possvel bloquear ou
desbloquear verses individuais.
Por meio da interface com o usurio, uma ferramenta est disponvel para gerar senhas codificadas com
base no algoritmo Blowfish (consulte http://www.schneier.com/blowfish.html para obter mais informaes).
Depois codificado, possvel copiar e armazenar a senha para os arquivos de script e argumentos de
linha de comandos. O n de propriedade epassword usado para databasenode e databaseexportnode
armazena a senha codificada.
1. Para gerar uma senha codificada, no menu Ferramentas, escolha:
Codificar Senha...
2. Especifique uma senha na caixa de texto Senha.
3. Clique em Codificar para gerar uma codificao aleatria de sua senha.
4. Clique no boto Copiar para copiar a senha codificada para a rea de Transferncia.
5. Cole a senha no script ou parmetro desejado.
Verificao de Script
possvel verificar rapidamente a sintaxe de todos os tipos de scripts clicando no boto de verificao
vermelho na barra de ferramentas da caixa de dilogo Script Independente.
A verificao de script alerta para quaisquer erros em seu cdigo e faz recomendaes para melhoria.
Para visualizar a linha com erros, clique no feedback na metade inferior da caixa de dilogo. Isso
destacar o erro em vermelho.
Se um script criado em uma liberao anterior utilizar um comando que foi substitudo (ou
descontinuado), o formato antigo ainda ser suportado, mas uma mensagem de aviso ser exibida. Por
exemplo, a palavra-chave generated antiga foi substituda por model e o comando clear generated foi
substitudo por clear generated palette. Os scripts que usam os formatos antigos ainda sero
executados, mas um aviso ser exibido.
Por exemplo, muitas sadas de modelo preditivo utilizam uma variante do XML chamada PMML para
representar informaes sobre o modelo, como quais campos uma rvore de deciso utiliza em cada
diviso ou como os neurnios em uma rede neural so conectados e com que intensidade. As sadas de
modelo que utilizam o PMML fornecem um Modelo de Contedo XML que pode ser utilizado para
acessar essas informaes. Por exemplo:
stream = modeler.script.stream()
# Assume the stream contains a single C5.0 model builder node
# and that the datasource, predictors and targets have already been
# set up
modelbuilder = stream.findByType("c50", None)
results = []
modelbuilder.run(results)
modeloutput = results[0]
# Now that we have the C5.0 model output object, access the
# relevant content model
cm = modeloutput.getContentModel("PMML")
API
Tabela 23. API
Retornar Mtodo Descrio
int getRowCount() Retorna o nmero de linhas nesta
tabela.
int getColumnCount() Retorna o nmero de colunas nesta
tabela.
Sequncia de caracteres getColumnName(int columnIndex) Retorna o nome da coluna no ndice
da coluna especificado. O ndice da
coluna inicia em 0.
StorageType getStorageType(int columnIndex) Retorna o tipo de armazenamento da
coluna no ndice especificado. O
ndice da coluna inicia em 0.
Objeto getValueAt(int rowIndex, int Retorna o valor no ndice de linha e
columnIndex) de coluna especificado. Os ndices de
linha e de coluna iniciam em 0.
void reset() Limpa qualquer armazenamento
interno associado a este modelo de
contedo.
Ns e sadas
Esta tabela lista os ns que constroem sadas que incluem esse tipo de modelo de contedo.
Tabela 24. Ns e sadas
Nome do n Nome de sada ID do Continer
table table "table"
Script de exemplo
stream = modeler.script.stream()
from modeler.api import StorageType
# Next create the aggregate node and connect it to the variable file node
aggregatenode = stream.createAt("aggregate", "Aggregate", 192, 96)
stream.link(varfilenode, aggregatenode)
# Then create the table output node and connect it to the aggregate node
tablenode = stream.createAt("table", "Table", 288, 96)
# Execute the table node and capture the resulting table output object
results = []
tablenode.run(results)
tableoutput = results[0]
# For each column, print column name, type and the first row
# of values from the table content
col = 0
while col < tablecontent.getColumnCount():
print tablecontent.getColumnName(col), \
tablecontent.getStorageType(col), \
tablecontent.getValueAt(0, col)
col = col + 1
O Modelo de Contedo XML suporta a capacidade de acessar componentes com base em expresses
XPath. As expresses XPath so sequncias que definem quais elementos ou atributos so exigidos pelo
responsvel pela chamada. O Modelo de Contedo XML oculta os detalhes de vrios objetos de
construo e expresses de compilao que geralmente so necessrios pelo suporte ao XPath. Isso
simplifica a chamada do script Python.
O Modelo de Contedo XML inclui uma funo que retorna o documento XML como uma sequncia.
Isso permite que usurios do script Python utilizem sua biblioteca Python preferencial para analisar o
XML.
API
Tabela 25. API
Retornar Mtodo Descrio
String getXMLAsString() Retorna o XML como uma sequncia.
number getNumericValue(String xpath) Retorna o resultado da avaliao do
caminho com tipo de retorno
numrico (por exemplo, contagem do
nmero de elementos que
correspondem expresso de
caminho).
boolean getBooleanValue(String xpath) Retorna o resultado booleano da
avaliao da expresso de caminho
especificada.
String getStringValue(String xpath, Retorna o valor de atributo ou o
String attribute) valor do n XML que corresponde ao
caminho especificado.
List of strings getStringValues(String xpath, Retorna uma lista de todos os valores
String attribute) de atributos ou valores do n XML
que correspondem ao caminho
especificado.
Ns e sadas
Esta tabela lista os ns que constroem sadas que incluem esse tipo de modelo de contedo.
Tabela 26. Ns e sadas
Nome do n Nome de sada ID do Continer
Most model builders Most generated models "PMML"
"autodataprep" n/d "PMML"
Script de exemplo
O cdigo de script Python para acessar o contedo pode ser semelhante a este:
results = []
modelbuilder.run(results)
modeloutput = results[0]
cm = modeloutput.getContentModel("PMML")
Script de exemplo
Se houver um n construtor de sada que cria a sada com base no formato JSON, o seguinte poder ser
utilizado para acessar informaes sobre um conjunto de manuais:
results = []
outputbuilder.run(results)
output = results[0]
cm = output.getContentModel("jsonContent")
# Get the third book entry. Assumes the top-level "books" value
# contains a JSON array which can be indexed
Alguns valores so apropriados apenas a partir de estatsticas de coluna nica, ao passo que outros so
apropriados apenas para estatsticas de pares.
API PairwiseStatsContentModel
Tabela 29. API PairwiseStatsContentModel.
Retornar Mtodo Descrio
List<StatisticType> getAvailableStatistics() Retorna as estatsticas disponveis
nesse modelo. Nem todos os campos
tero necessariamente valores para
todas as estatsticas.
List<String> getAvailablePrimaryColumns() Retorna os nomes de colunas
primrias para as quais as estatsticas
foram calculadas.
List<Object> getAvailablePrimaryValues() Retorna os valores de colunas
primrias para as quais as estatsticas
foram calculadas.
List<String> getAvailableSecondaryColumns() Retorna os nomes de colunas
secundrias para as quais as
estatsticas foram calculadas.
Processo Processo getStatistic(String primaryColumn, Retorna os valores estatsticos
String secondaryColumn, associados s colunas.
StatisticType statistic)
Processo Processo getStatistic(String primaryColumn, Retorna os valores de estatstica
Object primaryValue, String associados ao valor da coluna
secondaryColumn, StatisticType primria e da coluna secundria.
statistic)
void reset() Limpa qualquer armazenamento
interno associado a este modelo de
contedo.
Script de exemplo
from modeler.api import StatisticType
stream = modeler.script.stream()
results = []
statisticsnode.run(results)
statsoutput = results[0]
statscm = statsoutput.getContentModel("columnStatistics")
if (statscm != None):
cols = statscm.getAvailableColumns()
stats = statscm.getAvailableStatistics()
print "Column stats:", cols[0], str(stats[0]), " = ", statscm.getStatistic(cols[0], stats[0])
statscm = statsoutput.getContentModel("pairwiseStatistics")
if (statscm != None):
pcols = statscm.getAvailablePrimaryColumns()
scols = statscm.getAvailableSecondaryColumns()
stats = statscm.getAvailableStatistics()
corr = statscm.getStatistic(pcols[0], scols[0], StatisticType.Pearson)
print "Pairwise stats:", pcols[0], scols[0], " Pearson = ", corr
Os argumentos (flags) disponveis permitem se conectar a um servidor, carregar fluxos, executar scripts
ou especificar outros parmetros conforme necessrio.
Vrios tipos de argumentos de linha de comandos esto disponveis e so descritos posteriormente nesta
seo.
Tabela 31. Tipos de argumentos de linha de comandos.
Tipo de argumento Onde descrito
Argumentos do sistema Consulte o tpico Argumentos do sistema na pgina
62 para obter mais informaes.
Argumentos de parmetro Consulte o tpico Argumentos de Parmetros na
pgina 63 para obter mais informaes.
Argumentos de conexo do servidor Consulte o tpico Argumentos de Conexo do
Servidor na pgina 64 para obter mais informaes.
Argumentos de conexo do IBM SPSS Collaboration and Consulte o tpico Argumentos de Conexo do IBM
Deployment Services Repository SPSS Collaboration and Deployment Services Repository
na pgina 65 para obter mais informaes.
Argumentos de conexo do IBM SPSS Analytic Server Consulte o tpico Argumentos de Conexo do IBM
SPSS Analytic Server na pgina 65 para obter mais
informaes.
Por exemplo, possvel utilizar os sinalizadores -server, -stream e -execute para se conectar a um
servidor e, em seguida, carregar e executar um fluxo, conforme a seguir:
modelerclient -server -hostname myserver -port 80 -username dminer
-password 1234 -stream mystream.str -execute
Observe que ao executar com relao a uma instalao do cliente local, os argumentos de conexo do
servidor no so necessrios.
Os valores de parmetros que contiverem espaos podem ser colocados entre aspas duplas, por exemplo:
modelerclient -stream mystream.str -Pusername="Joe User" -execute
Tambm possvel executar os estados e scripts do IBM SPSS Modeler dessa maneira utilizando os
sinalizadores -state e -script, respectivamente.
61
Nota: Se voc utilizar um parmetro estruturado em um comando, deve-se preceder as aspas com uma
barra invertida. Isso evita que as aspas sejam removidas durante a interpretao da sequncia.
Argumentos do sistema
A tabela a seguir descreve os argumentos do sistema disponveis para chamada da linha de comandos da
interface com o usurio.
Tabela 32. Argumentos do sistema
Argumento Comportamento/Descrio
@ <commandFile> O caractere @ seguido por um nome de arquivo especifica uma lista de comandos.
Quando modelerclient encontra um argumento que comea com @, ele opera nos
comandos nesse arquivo como se estivesse na linha de comandos. Consulte o tpico
Combinando Diversos Argumentos na pgina 66 para obter mais informaes.
-directory <dir> Configura o diretrio ativo padro. No modo local, esse diretrio utilizado para
ambos dados e tambm para sada. Exemplo: -directory c:/ ou -directory c:\\
-server_directory <dir> Configura o diretrio do servidor padro para dados. O diretrio ativo especificado
usando o sinalizador -directory utilizado para sada.
-execute Depois de iniciar, executa qualquer fluxo, estado ou script carregado na inicializao.
Se um script estiver carregado alm de um fluxo ou estado, apenas o script ser
executado.
-stream <stream> Na inicializao, carregue o fluxo especificado. Diversos fluxos podem ser
especificados, no entanto, o ltimo fluxo especificado ser configurado como o fluxo
atual.
-script <script> Na inicializao, carrega o script independente especificado. Isso pode ser
especificado alm de um fluxo ou estado conforme descrito abaixo, no entanto,
apenas um script pode ser carregado na inicializao.
-model <model> Na inicializao, carrega o modelo gerado (formato de arquivo .gm) especificado.
-state <state> Na inicializao, carrega o estado salvo especificado.
-project <project> Carrega o projeto especificado. Somente um projeto pode ser carregado na
inicializao.
-output <output> Na inicializao, carrega o objeto de sada salvo (formato de arquivo .cou).
-help Exibe uma lista de argumentos de linha de comandos. Quando essa opo
especificada, todos os outros argumentos so ignorados e a tela Ajuda exibida.
-P <name>=<value> Utilizado para configurar um parmetro de inicializao. Tambm pode ser utilizado
para configurar propriedades do n (parmetros do slot).
Nota: Diretrios padro tambm podem ser configurados na interface com o usurio. Para acessar as
opes, no menu Arquivo, escolha Configurar Diretrio Ativo ou Configurar Diretrio do Servidor.
Na linha de comandos, possvel carregar diversos fluxos, estados e sadas na inicializao ao repetir o
argumento relevante para cada objeto carregado. Por exemplo, para carregar e executar dois fluxos
chamados report.str e train.str, utilize o comando a seguir:
Carregando Objetos a partir do IBM SPSS Collaboration and Deployment Services Repository
Como possvel carregar determinados objetos a partir de um arquivo ou a partir do IBM SPSS
Collaboration and Deployment Services Repository (se licenciado), o prefixo de nome de arquivo spsscr:,
e opcionalmente file: (para objetos no disco), informam ao IBM SPSS Modeler onde procurar pelo
objeto. O prefixo funciona com os seguintes sinalizadores:
v -stream
v -script
v -output
v -model
v -project
Use o prefixo para criar um URI que especifica o local do objeto, por exemplo, -stream
"spsscr:///folder_1/scoring_stream.str". A presena do prefixo spsscr: requer que uma conexo
vlida com o IBM SPSS Collaboration and Deployment Services Repository seja especificada no mesmo
comando. Portanto, por exemplo, o comando completo ser semelhante ao seguinte:
modelerclient -spsscr_hostname myhost -spsscr_port 8080
-spsscr_username myusername -spsscr_password mypassword
-stream "spsscr:///folder_1/scoring_stream.str" -execute
Observe que deve-se utilizar um URI na linha de comandos. O REPOSITORY_PATH mais simples no
suportado. (Ele funciona apenas dentro de scripts). Para obter mais detalhes sobre URIs para objetos no
IBM SPSS Collaboration and Deployment Services Repository, consulte o tpico Acessando Objetos no
IBM SPSS Collaboration and Deployment Services Repository na pgina 49.
Argumentos de Parmetros
Os parmetros podem ser utilizados como sinalizadores durante a execuo da linha de comandos do
IBM SPSS Modeler. Nos argumentos da linha de comandos, o sinalizador -P utilizado para denotar um
parmetro no formato -P <name>=<value>.
Por exemplo, possvel fornecer nomes de usurio e senhas de origem de dados como um sinalizador da
linha de comandos, conforme a seguir:
modelerclient -stream response.str -P:databasenode.datasource="{\"ORA 10gR2\", user1, mypsw,
true}"
O formato o mesmo que o parmetro datasource da propriedade do n databasenode. Para obter mais
informaes, consulte: Propriedades de databasenode na pgina 81.
Nota: Se o n for nomeado, deve-se colocar o nome do n entre aspas duplas e escapar as aspas com
uma barra invertida. Por exemplo, se o n da origem de dados no exemplo anterior possuir o nome
Source_ABC, a entrada ser a seguinte:
modelerclient -stream response.str -P:databasenode.\"Source_ABC\".datasource="{\"ORA 10gR2\",
user1, mypsw, true}"
Uma barra invertida tambm necessria na frente das aspas que identificam um parmetro estruturado,
como no exemplo de origem de dados do TM1 a seguir:
Exemplos
Observe que conectar-se a um cluster de servidores requer o Coordenador de Processos por meio do IBM
SPSS Collaboration and Deployment Services, portanto, o argumento -cluster dever ser usado em
combinao com as opes de conexo do repositrio (spsscr_*). Consulte o tpico Argumentos de
Conexo do IBM SPSS Collaboration and Deployment Services Repository na pgina 65 para obter mais
informaes.
Tabela 33. Argumentos de conexo do servidor.
Argumento Comportamento/Descrio
-server Executa o IBM SPSS Modeler no modo de servidor, conectando-se a um servidor
pblico utilizando os sinalizadores -hostname, -port, -username, -password, e
-domain.
-hostname <name> O nome do host da mquina servidor. Disponvel apenas no modo de servidor.
-use_ssl Especifica que a conexo deve usar SSL (Secure Sockets Layer). Esse sinalizador
opcional; a configurao padro no usar SSL.
-port <number> O nmero da porta do servidor especificado. Disponvel apenas no modo de
servidor.
-cluster <name> Especifica uma conexo com um cluster de servidores e no com um servidor
denominado; esse argumento uma alternativa para os argumentos hostname, port
e use_ssl. O nome o nome do cluster ou um URI exclusivo que identifica o
cluster no IBM SPSS Collaboration and Deployment Services Repository. O cluster
de servidores gerenciado pelo Coordenador de Processos por meio de IBM SPSS
Collaboration and Deployment Services. Consulte o tpico Argumentos de
Conexo do IBM SPSS Collaboration and Deployment Services Repository na
pgina 65 para obter mais informaes.
-username <name> O nome do usurio com o qual efetuar logon no servidor. Disponvel apenas no
modo de servidor.
-password <password> A senha com a qual efetuar logon no servidor. Disponvel apenas no modo de
servidor. Nota: Se o argumento -password no for utilizado, ser solicitado a
fornecer uma senha.
-epassword A senha codificada com a qual efetuar logon no servidor. Disponvel apenas no
<encodedpasswordstring> modo de servidor. Nota: Uma senha codificada pode ser gerada a partir do menu
Ferramentas do aplicativo IBM SPSS Modeler.
-domain <name> O domnio utilizado para efetuar logon no servidor. Disponvel apenas no modo
de servidor.
A tabela a seguir lista os argumentos que podem ser utilizados para configurar a conexo.
Tabela 34. Argumentos de conexo do IBM SPSS Collaboration and Deployment Services Repository
Argumento Comportamento/Descrio
-spsscr_hostname <hostname or IP O nome do host ou o endereo IP do servidor no qual o IBM SPSS
address> Collaboration and Deployment Services Repository est instalado.
-spsscr_port <number> O nmero da porta na qual o IBM SPSS Collaboration and Deployment
Services Repository aceita conexes (geralmente 8080, por padro).
-spsscr_use_ssl Especifica que a conexo deve usar SSL (Secure Sockets Layer). Esse
sinalizador opcional; a configurao padro no usar SSL.
-spsscr_username <name> O nome de usurio com o qual efetuar logon no IBM SPSS Collaboration
and Deployment Services Repository.
-spsscr_password <password> A senha com a qual efetuar logon no IBM SPSS Collaboration and
Deployment Services Repository.
-spsscr_epassword <encoded password> A senha codificada com a qual efetuar logon no IBM SPSS Collaboration
and Deployment Services Repository.
-spsscr_domain <name> O domnio utilizado para efetuar logon no IBM SPSS Collaboration and
Deployment Services Repository. Esse sinalizador opcional - no o
utilize, a no ser que voc efetue logon utilizando o LDAP ou o Active
Directory.
Nota: O local do Analytic Server obtido a partir do SPSS Modeler Server e no pode ser alterado no
cliente.
A tabela a seguir lista os argumentos que podem ser utilizados para configurar a conexo.
Tabela 35. Argumentos de conexo do IBM SPSS Analytic Server
Argumento Comportamento/Descrio
-analytic_server_username O nome de usurio com o qual efetuar logon no IBM SPSS Analytic
Server.
-analytic_server_password A senha com a qual efetuar logon no IBM SPSS Analytic Server.
Coloque o nome do arquivo e o caminho para o arquivo de comando entre aspas se espaos forem
necessrios, conforme a seguir:
modelerclient @ "C:\Program Files\IBM\SPSS\Modeler\nn\scripts\my_command_file.txt"
Para obter mais informaes sobre a linguagem de script, consulte Linguagem de Script.
ou:
OBJECT.setKeyedPropertyValue(PROPERTY, KEY, VALUE)
ou:
VARIABLE = OBJECT.getKeyedPropertyValue(PROPERTY, KEY)
em que OBJECT um n ou sada, PROPERTY o nome da propriedade do n que sua expresso referencia
e KEY o valor da chave para as propriedades definidas como chave. Por exemplo, a sintaxe a seguir
usada para localizar o n de filtro e, em seguida, configure o padro para incluir todos os campos e
filtrar o campo Age a partir dos dados de recebimento de dados:
filternode = modeler.script.stream().findByType("filter", None)
filternode.setPropertyValue("default_include", True)
filternode.setKeyedPropertyValue("include", "Age", False)
Todos os ns utilizados no IBM SPSS Modeler podem ser localizados utilizando a funo
findByType(TYPE, LABEL) do fluxo. Pelo menos um de TYPE ou LABEL deve ser especificado.
Propriedades Estruturadas
O script usa as propriedades estruturadas de duas maneiras para maior clareza durante a anlise:
v Para fornecer estrutura para os nomes de propriedades para ns complexos, como Tipo, Filtro ou
Balanceamento.
v Para fornecer um formato para especificar diversas propriedades de uma vez.
67
Estruturando para Interfaces Complexas
Os scripts para ns com tabelas e outras interfaces complexas (por exemplo, Tipo, Filtro e Balanceamento)
devem seguir uma estrutura especfica para que a anlise seja executada corretamente. Essas
propriedades precisam de um nome que seja mais complexo do que o nome para um identificador nico;
esse nome chamado de chave. Por exemplo, em um n Filtro, cada campo disponvel (em seu lado de
envio de dados) ativado ou desativado. Para fazer referncia a essas informaes, o n Filtro armazena
um item de informaes por campo (independentemente se cada campo for true ou false). Esta
propriedade pode ter (ou ter recebido) o valor True ou False. Suponha que um n Filtro denominado
mynode possua (em seu lado de envio de dados) um campo chamado Age. Para desativar isso, configure a
propriedade include, com a chave Age, para o valor False, conforme a seguir:
mynode.setKeyedPropertyValue("include", "Age", False)
Para muitos ns, possvel designar mais de uma propriedade de n ou de fluxo por vez. Isso referido
como o comando de multiconjunto ou bloco de conjunto.
Em alguns casos, uma propriedade estruturada pode ser muito complexa. Um exemplo o seguinte:
sortnode.setPropertyValue("keys", [["K", "Descending"], ["Age", "Ascending"], ["Na", "Descending"]])
Abreviaes
Abreviaes padro so utilizadas em toda a sintaxe das propriedades do n. Aprender as abreviaes
til na construo de scripts.
Tabela 36. Abreviaes padro utilizadas em toda a sintaxe
Abreviao Significado
abs Valor absoluto
len Comprimento
mn. Mnimo
mx. Mximo
correl Correlao
covar Covarincia
num Nmero ou numrico
pct Percentual ou porcentagem
transp Transparncia
xval Validao cruzada
var Variao ou varivel (em ns de origem)
O exemplo t.direction.Age ilustra que alguns nomes de slot podem ser estruturados por si s, nos casos
em que os atributos de um n forem mais complexos do que apenas slots individuais com valores
individuais. Esses slots so chamados de propriedades estruturadas ou complexas.
Propriedades Comuns do N
Um nmero propriedades comum para todos os ns (incluindo SuperNodes) no IBM SPSS Modeler.
Tabela 38. Propriedades comuns do n.
Nome da propriedade Tipo de dados Descrio da propriedade
use_custom_name sinalizador
name string Propriedade somente leitura que l o
nome (automtico ou customizado)
para um n na tela.
custom_name string Especifica um nome customizado
para o n.
tooltip string
Propriedades especficas do SuperNode so discutidas separadamente, assim como com todos os outros
ns. Consulte o tpico Captulo 19, Propriedades do SuperNode, na pgina 305 para obter mais
informaes.
Exemplo
A propriedade do n utilizada para referenciar os ns no fluxo atual. O script de fluxo a seguir fornece
um exemplo:
stream = modeler.script.stream()
annotation = stream.getPropertyValue("annotation")
stream.setPropertyValue("annotation", annotation)
O exemplo acima utiliza a propriedade do n para criar uma lista de todos os ns no fluxo e gravar essa
lista nas anotaes de fluxo. A anotao produzida semelhante a esta:
This stream is called "druglearn" and contains the following nodes:
stream_rewriting_optimise_clem_ booleano
execuo
stream_rewriting_optimise_syntax_ booleano
execuo
enable_parallelism booleano
sql_generation booleano
database_caching booleano
sql_logging booleano
sql_generation_logging booleano
sql_log_native booleano
sql_log_prettyprint booleano
record_count_suppress_input booleano
record_count_feedback_interval integer
use_stream_auto_create_node_ boolean Se true, as configuraes especficas
configuraes do fluxo sero utilizadas, caso
contrrio, as preferncias do usurio
so utilizadas.
create_model_applier_for_new_ boolean Se true, quando um construtor de
modelos modelo cria um novo modelo e ele
no tiver links de atualizao ativos,
um novo aplicador de modelo ser
includo.
Nota: Se voc estiver utilizando o
IBM SPSS Modeler Batch verso 15,
deve-se incluir explicitamente o
aplicador de modelo em seu script.
Exemplo 1
varfilenode = modeler.script.stream().create("variablefile", "Var. File")
varfilenode.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")
varfilenode.setKeyedPropertyValue("check", "Age", "None")
varfilenode.setKeyedPropertyValue("values", "Age", [1, 100])
varfilenode.setKeyedPropertyValue("type", "Age", "Range")
varfilenode.setKeyedPropertyValue("direction", "Age", "Input")
Exemplo 2
Este script assume que o arquivo de dados especificado contm um campo chamado Region que
representa uma sequncia de vrias linhas.
from modeler.api import StorageType
from modeler.api import MeasureType
# Create a Variable File node that reads the data set containing
# the "Region" field
varfilenode = modeler.script.stream().create("variablefile", "My Geo Data")
varfilenode.setPropertyValue("full_filename", "C:/mydata/mygeodata.csv")
varfilenode.setPropertyValue("treat_square_brackets_as_lists", True)
75
Tabela 40. Propriedades comuns do n de origem (continuao).
Nome da propriedade Tipo de dados Descrio da propriedade
type Range Tipo de campo. Configurar essa propriedade como
Flag Default limpar qualquer configurao da propriedade
Set values e, se value_mode for configurado para Specify, ele
Typeless ser reconfigurado para Read. Se value_mode j estiver
Discrete configurado para Pass ou Read, ele no ser afetado pela
Ordered Set configurao type.
Default
Formato de uso:
NODE.type.FIELDNAME
storage Unknown Propriedade definida como chave somente leitura para
Sequncia de caracteres tipo de armazenamento de campo.
Nmero inteiro
Real Formato de uso:
Time NODE.storage.FIELDNAME
Data
Timestamp
check None Propriedade definida como chave para verificao de
Anular tipo e de intervalo de campo
Impor
Discard Formato de uso:
Avisar NODE.check.FIELDNAME
Abort
values [value value] Para um campo contnuo (intervalo), o primeiro valor
o mnimo e o ltimo valor o mximo. Para os campos
nominais (conjunto), especifique todos os valores. Para
campos de sinalizao, o primeiro valor representa false e
o ltimo valor representa true. Configurar esta
propriedade configura automaticamente a propriedade
value_mode para Specify. O armazenamento
determinado com base no primeiro valor na lista, por
exemplo, se o primeiro valor for uma string, ento o
armazenamento ser configurado como Sequncia.
Formato de uso:
NODE.values.FIELDNAME
value_mode Leitura Determina como os valores so configurados para um
Pass campo na prxima transmisso de dados.
Read+
Current Formato de uso:
Specify NODE.value_mode.FIELDNAME
Observe que no possvel configurar essa propriedade
para Specify diretamente; para utilizar valores especficos,
configure a propriedade values.
default_value_mode Leitura Especifica o mtodo padro para configurar valores para
Pass todos os campos.
Formato de uso:
NODE.default_value_mode
Formato de uso:
NODE.extend_values.FIELDNAME
value_labels string Utilizado para especificar um rtulo de valor. Observe
que os valores devem ser especificados primeiro.
enable_missing sinalizador Quando configurado para T, ativa o rastreamento de
valores omissos para o campo.
Formato de uso:
NODE.enable_missing.FIELDNAME
missing_values [value value ...] Especifica valores de dados que denotam dados
ausentes.
Formato de uso:
NODE.missing_values.FIELDNAME
range_missing sinalizador Quando esta propriedade configurada como T,
especifica se um intervalo de valores omissos (em
branco) definido para um campo.
Formato de uso:
NODE.range_missing.FIELDNAME
missing_lower string Quando range_missing for true, especifica o limite
inferior do intervalo de valores omissos.
Formato de uso:
NODE.missing_lower.FIELDNAME
missing_upper string Quando range_missing for true, especifica o limite
superior do intervalo de valores omissos.
Formato de uso:
NODE.missing_upper.FIELDNAME
null_missing sinalizador Quando esta propriedade configurada como T, valores
nulos (valores indefinidos que so exibidos como $null$
no software) so considerados valores omissos.
Formato de uso:
NODE.null_missing.FIELDNAME
whitespace_missing sinalizador Quando esta propriedade configurada como T, valores
que contm apenas espaos em branco (espaos,
tabulaes e novas linhas) so considerados valores
omissos.
Formato de uso:
NODE.whitespace_missing.FIELDNAME
description string Utilizado para especificar um rtulo ou descrio de
campo.
Exemplo:
set mynode:filternode.default_include = false
include sinalizador Propriedade definida como chave utilizada para
determinar se campos individuais so includos ou
filtrados:
NODE.include.FIELDNAME.
new_name string
measure_type Range / Essa propriedade definida como chave semelhante a
MeasureType.RANGE type por ela poder ser utilizada para definir a medida
Discrete / associada ao campo. A diferena que, no script Python,
MeasureType.DISCRETE a funo setter tambm pode transmitir um dos valores
Flag / MeasureType.FLAG de MeasureType, ao passo que a funo getter sempre
Set / MeasureType.SET retornar nos valores MeasureType.
OrderedSet /
MeasureType.ORDERED_SET
Typeless /
MeasureType.TYPELESS
Collection /
MeasureType.COLLECTION
Geospatial /
MeasureType.GEOSPATIAL
collection_measure Range / Para campos de coleo (listas com uma profundidade
MeasureType.RANGE 0), essa propriedade definida como chave define o tipo
Flag / MeasureType.FLAG de medio associado aos valores subjacentes.
Set / MeasureType.SET
OrderedSet /
MeasureType.ORDERED_SET
Typeless /
MeasureType.TYPELESS
geo_type Point Para campos geoespaciais, esta propriedade definida
MultiPoint como chave define o tipo de objeto geoespacial
LineString representado por este campo. Isso dever estar
MultiLineString consistente com a profundidade da lista dos valores.
Polgono
MultiPolygon
has_coordinate_system boolean Para campos geoespaciais, essa propriedade define se
esse campo tem um sistema de coordenadas
coordinate_system string Para campos geoespaciais, esta propriedade definida
como chave define o sistema de coordenadas para este
campo.
Propriedades de asimport
A origem do Analytic Server permite executar um fluxo no Hadoop Distributed File System (HDFS).
Exemplo
node = stream.create("asimport", "My node")
node.setPropertyValue("data_source", "Drug1n")
Propriedades do N cognosimport
O n de origem do IBM Cognos BI importa dados a partir de bancos de dados do Cognos BI.
Exemplo
node = stream.create("cognosimport", "My node")
node.setPropertyValue("cognos_connection", ["http://mycogsrv1:9300/p2pd/servlet/dispatch",
True, "", "", ""])
node.setPropertyValue("cognos_package_name", "/Public Folders/GOSALES")
node.setPropertyValue("cognos_items", ["[GreatOutdoors].[BRANCH].[BRANCH_CODE]", "[GreatOutdoors]
.[BRANCH].[COUNTRY_CODE]"])
em que:
Cognos_server_URL a URL do servidor
Cognos que contm a origem.
login_mode indica se login annimo usado
e true ou false; se configurado para true,
os campos a seguir devero ser
configurados para "".
namespace especifica o provedor de
autenticao de segurana utilizado para
efetuar logon no servidor.
username e password so aqueles utilizados
para efetuar logon no servidor Cognos.
Em que stored_credential_name o
nome de uma credencial do Cognos no
repositrio.
cognos_package_name string O caminho e o nome do pacote Cognos a
partir do qual voc est importando objetos
de dados, por exemplo:
/Public Folders/GOSALES
Nota: Apenas barras so vlidas.
cognos_items ["field","field", ... ,"field"] O nome de um ou mais objetos de dados a
serem importados. O formato de field
[namespace].[query_subject].[query_item]
cognos_filters campo O nome de um ou mais filtros para aplicar
antes de importar os dados.
Formato:
[["param1", "value"],...,["paramN", "value"]]
cognos_report_directory campo O caminho do Cognos de uma pasta ou
pacote a partir do qual importar relatrios,
por exemplo:
/Public Folders/GOSALES
Nota: Apenas barras so vlidas.
cognos_report_name campo O caminho e o nome no local do relatrio
de um relatrio a ser importado.
cognos_report_parameters list Valores para parmetros de relatrio. Os
pares de nome e valor so colocados entre
colchetes, pares mltiplos so separados por
vrgulas e a sequncia inteira colocada
entre colchetes.
Formato:
[["param1", "value"],...,["paramN", "value"]]
Propriedades de databasenode
O n Banco de Dados pode ser utilizado para importar dados de uma variedade de outros
pacotes utilizando ODBC (Open Database Connectivity), incluindo Microsoft SQL Server, o
DB2, o Oracle e outros.
Exemplo
import modeler.api
stream = modeler.script.stream()
nnode = stream.create("database", "My node")
node.setPropertyValue("mode", "Table")
node.setPropertyValue("query", "SELECT * FROM drug1n")
node.setPropertyValue("datasource", "Drug1n_db")
node.setPropertyValue("username", "spss")
node.setPropertyValue("password", "spss")
node.setPropertyValue("tablename", ".Drug1n")
Nota: Se o nome do banco de dados (na propriedade datasource) contiver um ou mais espaos, pontos
(tambm conhecidos como um "ponto final") ou sublinhados, ser possvel utilizar o formato de "barra
invertida aspas duplas" para trat-la como uma sequncia. Por exemplo: "{\"db2v9.7.6_linux\"}" ou
"{\"TDATA 131\"}". Alm disso, sempre coloque os valores da sequncia datasource entre aspas duplas e
chaves, como no exemplo a seguir: "{\"SQL Server\",spssuser,abcd1234,false}".
Nota: Se o nome do banco de dados (na propriedade datasource) contiver espaos ao invs de
propriedades individuais para datasource, username e password, uma nica propriedade origem de dados
poder ser usada no formato a seguir:
Tabela 44. Propriedades de databasenode - especfica da origem de dados.
Propriedades de databasenode Tipo de dados Descrio da propriedade
datasource string Formato:
[database_name,username,password[,true |
false]]
Propriedades de datacollectionimportnode
O n Importao de Dados do IBM SPSS Data Collection importa dados de pesquisa de
opinio com base no Modelo de Dados do IBM SPSS Data Collection usado pelos produtos de
pesquisa de mercado do IBM Corp.. O IBM SPSS Data Collection Data Library deve ser
instalado para usar este n.
Figura 7. n
Importao de Dados
de Dimenses
Exemplo
node = stream.create("datacollectionimport", "My node")
node.setPropertyValue("metadata_name", "mrQvDsc")
node.setPropertyValue("metadata_file", "C:/Program Files/IBM/SPSS/DataCollection/DDL/Data/
Quanvert/Museum/museum.pkd")
node.setPropertyValue("casedata_name", "mrQvDsc")
node.setPropertyValue("casedata_source_type", "File")
node.setPropertyValue("casedata_file", "C:/Program Files/IBM/SPSS/DataCollection/DDL/Data/
Quanvert/Museum/museum.pkd")
node.setPropertyValue("import_system_variables", "Common")
node.setPropertyValue("import_multi_response", "MultipleFlags")
Propriedades de excelimportnode
O n Importao do Excel importa dados do Microsoft Excel no formato de arquivo .xlsx.
Uma origem de dados ODBC no necessria.
Exemplos
#To use a named range:
node = stream.create("excelimport", "My node")
node.setPropertyValue("excel_file_type", "Excel2007")
node.setPropertyValue("full_filename", "C:/drug.xlsx")
node.setPropertyValue("use_named_range", True)
node.setPropertyValue("named_range", "DRUG")
node.setPropertyValue("read_field_names", True)
Propriedades de evimportnode
O n Visualizao Corporativa cria uma conexo com um IBM SPSS Collaboration and
Deployment Services Repository, permitindo ler dados da Visualizao Corporativa em um
fluxo e empacotar um modelo em um cenrio que possa ser acessado a partir do repositrio
por outros usurios.
Nota: O n Visualizao Corporativa foi substitudo no SPSS Modeler 16.0 pelo n
Visualizao de Dados. Para fluxos salvos em liberaes anteriores, o n Visualizao
Corporativa ainda suportado. No entanto, ao atualizar ou criar novos fluxos, recomenda-se
utilizar o n Visualizao de Dados.
Exemplo
node = stream.create("evimport", "My node")
node.setPropertyValue("connection", ["Training data","/Application views/Marketing","LATEST",
"Analytic", "/Data Providers/Marketing"])
node.setPropertyValue("tablename", "cust1")
Formato de uso:
evimportnode.connection =
[description,app_view_path,
app_view_version_label,
environment,DPD_path]
tablename string O nome de uma tabela na
Visualizao do Aplicativo.
Propriedades de fixedfilenode
O n Arquivo Fixo importa dados de arquivos de texto de campo fixo, ou seja, arquivos cujos
campos no so delimitados, mas iniciam na mesma posio e tm um comprimento fixo.
Dados gerados por mquina ou legados so frequentemente armazenados em formato de
campo fixo.
Exemplo
node = stream.create("fixedfile", "My node")
node.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")
node.setPropertyValue("record_len", 32)
node.setPropertyValue("skip_header", 1)
node.setPropertyValue("fields", [["Age", 1, 3], ["Sex", 5, 7], ["BP", 9, 10], ["Cholesterol",
12, 22], ["Na", 24, 25], ["K", 27, 27], ["Drug", 29, 32]])
node.setPropertyValue("decimal_symbol", "Period")
node.setPropertyValue("lines_to_scan", 30)
Propriedades do N gsdata_import
Utilize o n de origem Geoespacial para exibir dados de mapa ou espaciais na sesso de
minerao de dados.
Propriedades de sasimportnode
O n Importao SAS importa dados do SAS no IBM SPSS Modeler.
Exemplo
node = stream.create("sasimport", "My node")
node.setPropertyValue("format", "Windows")
node.setPropertyValue("full_filename", "C:/data/retail.sas7bdat")
Propriedades de simgennode
O n Gerar Simulao fornece uma maneira fcil de gerar dados simulados, seja desde o
incio utilizando distribuies de estatsticas especificadas pelo usurio ou automaticamente
utilizando as distribuies obtidas da execuo de um n Ajuste de Simulao em dados
histricos existentes. Isso til quando quiser avaliar o resultado de um modelo preditivo
quando houver incerteza nas entradas do modelo.
Exemplo de campos
Este um parmetro de slot estruturado com a sintaxe a seguir:
O distribution uma declarao do nome de distribuio seguida por uma lista contendo pares de
nomes e valores de atributos. Cada distribuio definida da seguinte maneira:
[distributionname, [[par1], [par2], [par3]]]
Por exemplo, para criar um n que gera um campo nico com uma distribuio binomial, possvel
utilizar o script a seguir:
simgen_node1 = modeler.script.stream().createAt("simgen", u"Sim Gen", 200, 200)
simgen_node1.setPropertyValue("fields", [["Education", "Real", False, ["Binomial", [["n", 32],
["prob", 0.7]]], "", ""]])
A distribuio binomial utiliza 2 parmetros: n e prob. Como o binomial no suporta valores mnimos e
mximos, eles so fornecidos como uma sequncia vazia.
Nota: No possvel configurar o distribution diretamente porque ele usado junto com a propriedade
fields.
Os exemplos a seguir mostram todos os tipos de distribuio possveis. Observe que o limite inserido
como thresh em NegativeBinomialFailures e tambm em NegativeBinomialTrial.
stream = modeler.script.stream()
Exemplo de correlaes
Este um parmetro de slot estruturado com a sintaxe a seguir:
A correlao pode ser qualquer nmero entre +1 e -1. possvel especificar quantas correlaes desejar.
As correlaes no especificadas so configuradas para zero. Se algum campo for desconhecido, o valor
da correlao dever ser configurado na matriz de correlao (ou tabela) e mostrado em texto vermelho.
Quando houver campos desconhecidos, no ser possvel executar o n.
Propriedades de statisticsimportnode
O n do arquivo IBM SPSS Statistics l dados do formato de arquivo .sav usado pelo IBM
SPSS Statistics, bem como arquivos de cache salvos em IBM SPSS Modeler que tambm
utilizam o mesmo formato.
Propriedades do N tm1import
O n de origem do IBM Cognos TM1 importa dados a partir de bancos de dados do Cognos
TM1.
Por exemplo:
TM1_import.setPropertyValue("tm1_connection",
[Planning Sample, "admin", "apple"])
admin_host string Nota: Somente a partir da verso 17.1
Propriedades de userinputnode
O n Entrada do Usurio fornece uma maneira fcil de criar dados sintticos, seja desde o
incio ou alterando dados existentes. Isso til, por exemplo, quando desejar criar um
conjunto de dados de teste para modelagem.
Exemplo
node = stream.create("userinput", "My node")
node.setPropertyValue("names", ["test1", "test2"])
node.setKeyedPropertyValue("data", "test1", "2, 4, 8")
node.setKeyedPropertyValue("custom_storage", "test1", "Integer")
node.setPropertyValue("data_mode", "Ordered")
Exemplo
node = stream.create("variablefile", "My node")
node.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")
node.setPropertyValue("read_field_names", True)
node.setPropertyValue("delimit_other", True)
node.setPropertyValue("other", ",")
node.setPropertyValue("quotes_1", "Discard")
node.setPropertyValue("decimal_symbol", "Comma")
node.setPropertyValue("invalid_char_mode", "Replace")
node.setPropertyValue("invalid_char_replacement", "|")
node.setKeyedPropertyValue("use_custom_values", "Age", True)
node.setKeyedPropertyValue("direction", "Age", "Input")
node.setKeyedPropertyValue("type", "Age", "Range")
node.setKeyedPropertyValue("values", "Age", [1, 100])
Exemplo
node = stream.create("xmlimport", "My node")
node.setPropertyValue("full_filename", "c:/import/ebooks.xml")
node.setPropertyValue("records", "/author/name")
Propriedades de dataviewimport
O n Visualizao de Dados importa dados da Visualizao de Dados no IBM SPSS Modeler.
Exemplo
stream = modeler.script.stream()
Example
node = stream.create("append", "My node")
node.setPropertyValue("match_by", "Name")
node.setPropertyValue("match_case", True)
node.setPropertyValue("include_fields_from", "All")
node.setPropertyValue("create_tag_field", True)
node.setPropertyValue("tag_field_name", "Append_Flag")
Propriedades de aggregatenode
O n Agregado substitui uma sequncia de registros de entrada por registros de sada
resumidos e agregados.
Exemplo
node = stream.create("aggregate", "My node")
# dbnode is a configured database import node
stream.link(dbnode, node)
node.setPropertyValue("contiguous", True)
node.setPropertyValue("keys", ["Drug"])
node.setKeyedPropertyValue("aggregates", "Age", ["Sum", "Mean"])
node.setPropertyValue("inc_record_count", True)
node.setPropertyValue("count_field", "index")
node.setPropertyValue("extension", "Aggregated_")
node.setPropertyValue("add_as", "Prefix")
99
Tabela 58. Propriedades de aggregatenode.
Propriedades de aggregatenode Tipo de dados Descrio da propriedade
keys list Lista campos que podem ser utilizados como
chaves para agregao. Por exemplo, se Sex e
Region forem os campos-chave, cada combinao
exclusiva de M e F com regies N e S (quatro
combinaes exclusivas) ter um registro
agregado.
contiguous sinalizao Selecione essa opo se voc souber que todos os
registros com os mesmos valores da chave so
agrupados na entrada (por exemplo, se a entrada
for classificada nos campos-chave). Fazer isso
poder melhorar o desempenho.
aggregates Propriedade estruturada que lista os campos
numricos cujos valores sero agregados, bem
como os modos de agregao selecionados.
aggregate_exprs Propriedade definida como chave que define
uma chave para o nome de campo derivado com
a expresso agregada usada para calcular essa
chave. Por exemplo:
aggregatenode.setKeyedPropertyValue
("aggregate_exprs", "Na_MAX", "MAX(Na)")
extension string Especifica um prefixo ou sufixo para duplicar
campos agregados (amostra abaixo).
add_as Sufixo
Prefix
inc_record_count sinalizao Cria um campo extra que especifica quantos
registros de entrada foram agregados para
formar cada registro agregado.
count_field string Especifica o nome do campo de contagem de
registros.
allow_approximation Booleano Permite aproximao de estatsticas de pedido
quando a agregao executada no Analytic
Server
bin_count integer Especifica o nmero de categorias a serem
utilizadas na aproximao
Propriedades de balancenode
O n Balanceamento corrige desbalanceamentos em um conjunto de dados, para que ele
esteja em conformidade com uma condio especificada. A diretiva de balanceamento ajusta a
proporo de registros onde uma condio for true pelo fator especificado.
Example
node = stream.create("balance", "My node")
node.setPropertyValue("training_data_only", True)
node.setPropertyValue("directives", [[1.3, "Age > 60"], [1.5, "Na > 0.5"]])
Nota: Se sequncias (utilizando aspas duplas) forem integradas na expresso, elas devero ser precedidas
pelo caractere de escape " \ ". O caractere " \ " tambm o caractere de continuao de linha que pode
ser usado para alinhar os argumentos para maior clareza.
Propriedades de derive_stbnode
O n Space-Time-Boxes deriva Space-Time-Boxes a partir de campos de latitude, longitude e
de registro de data e hora. Tambm possvel identificar Space-Time-Boxes frequentes como
hangouts.
Exemplo
node = modeler.script.stream().createAt("derive_stb", "My node", 96, 96)
# Hangouts mode
node.setPropertyValue("mode", "Hangouts")
node.setPropertyValue("hangout_density", "STB_GH7_30MINS")
node.setPropertyValue("id_field", "Event")
node.setPropertyValue("qualifying_duration", "30MINUTES")
node.setPropertyValue("min_events", 4)
node.setPropertyValue("qualifying_pct", 65)
Exemplo
node = stream.create("distinct", "My node")
node.setPropertyValue("mode", "Include")
node.setPropertyValue("fields", ["Age" "Sex"])
node.setPropertyValue("keys_pre_sorted", True)
Exemplos:
node.setKeyedPropertyValue("composite_value", "Age", ["First"])
node.setKeyedPropertyValue("composite_value", "Age", ["last"])
node.setKeyedPropertyValue("composite_value", "Age", ["Total"])
node.setKeyedPropertyValue("composite_value", "Age", ["Average"])
node.setKeyedPropertyValue("composite_value", "Age", ["Min"])
As opes customizadas requerem mais de um argumento que so includos como uma lista, por
exemplo:
node.setKeyedPropertyValue("composite_value", "Name", ["MostFrequent", "FirstRecord"])
node.setKeyedPropertyValue("composite_value", "Date", ["LeastFrequent", "LastRecord"])
node.setKeyedPropertyValue("composite_value", "Pending", ["IncludesValue", "T", "F"])
node.setKeyedPropertyValue("composite_value", "Marital", ["FirstMatch", "Married", "Divorced", "Separated"])
node.setKeyedPropertyValue("composite_value", "Code", ["Concatenate"])
node.setKeyedPropertyValue("composite_value", "Code", ["Concatenate", "Space"])
node.setKeyedPropertyValue("composite_value", "Code", ["Concatenate", "Comma"])
node.setKeyedPropertyValue("composite_value", "Code", ["Concatenate", "UnderScore"])
Exemplo:
node.setPropertyValue("composite_values", [
["Age", ["First"]],
["Name", ["MostFrequent", "First"]],
["Pending", ["IncludesValue", "T"]],
["Marital", ["FirstMatch", "Married", "Divorced", "Separated"]],
["Code", ["Concatenate", "Comma"]]
])
Propriedades de mergenode
O n Mesclagem seleciona diversos registros de entrada e cria um registro de sada nico
contendo alguns ou todos os campos de entrada. Ele til para mesclar dados de diferentes
origens, como dados do cliente internos e dados demogrficos adquiridos.
Exemplo
node = stream.create("merge", "My node")
# assume customerdata and salesdata are configured database import nodes
stream.link(customerdata, node)
stream.link(salesdata, node)
node.setPropertyValue("method", "Keys")
node.setPropertyValue("key_fields", ["id"])
node.setPropertyValue("common_keys", True)
node.setPropertyValue("join", "PartialOuter")
node.setKeyedPropertyValue("outer_join_tag", "2", True)
node.setKeyedPropertyValue("outer_join_tag", "4", True)
node.setPropertyValue("single_large_input", True)
node.setPropertyValue("single_large_input_tag", "2")
node.setPropertyValue("use_existing_sort_keys", True)
node.setPropertyValue("existing_sort_keys", [["id", "Ascending"]])
Propriedades de rfmaggregatenode
O n Recency, Frequency, Monetary (RFM) Aggregate permite selecionar os dados
transacionais histricos dos clientes, eliminar quaisquer dados no utilizados e combinar
todos os dados da transao restantes dos clientes em uma nica linha que lista quando eles
interagiram pela ltima vez com voc, quantas transaes eles realizaram e o valor monetrio
total dessas transaes.
Exemplo
node = stream.create("rfmaggregate", "My node")
node.setPropertyValue("relative_to", "Fixed")
node.setPropertyValue("reference_date", "2007-10-12")
node.setPropertyValue("id_field", "CardID")
node.setPropertyValue("date_field", "Date")
node.setPropertyValue("value_field", "Amount")
node.setPropertyValue("only_recent_transactions", True)
node.setPropertyValue("transaction_date_after", "2000-10-01")
Propriedades de Rprocessnode
O n Transformao R permite obter dados de um fluxo
do IBM(r) SPSS(r) Modeler e modific-los usando seu
prprio script R customizado. Aps os dados serem
modificados, eles sero retornados para o fluxo.
Exemplo
node = stream.create("rprocess", "My node")
node.setPropertyValue("custom_name", "my_node")
node.setPropertyValue("syntax", """day<-as.Date(modelerData$dob, format="%Y-%m-%d")
next_day<-day + 1
modelerData<-cbind(modelerData,next_day)
var1<-c(fieldName="Next day",fieldLabel="",fieldStorage="date",fieldMeasure="",fieldFormat="",
fieldRole="")
modelerDataModel<-data.frame(modelerDataModel,var1)""")
node.setPropertyValue("convert_datetime", "POSIXct")
Propriedades de samplenode
O n Amostra seleciona um subconjunto de registros. Diversos tipos de amostra so
suportados, incluindo amostras estratificadas, em cluster e no aleatrias (estruturadas). A
amostragem pode ser til para melhorar o desempenho e para selecionar grupos de registros
ou transaes relacionados para anlise.
Exemplo
/* Create two Sample nodes to extract
different samples from the same data */
Complexo
mode Include Inclui ou descarta registros que atendem a uma
Discard condio especfica.
sample_type First Especifica o mtodo de amostragem.
OneInN
RandomPct
first_n integer Registros at o ponto de corte especificado a
serem includos ou descartados.
one_in_n number Inclui ou descarta a cada n registro.
rand_pct number Especifique a porcentagem de registros a incluir
ou descartar.
use_max_size sinalizador Ativar o uso da configurao de maximum_size.
maximum_size integer Especifica a maior amostra a ser includa ou
descartada do fluxo de dados. Esta opo
redundante e, portanto, desativada quando First
e Include forem especificados.
Exemplo
node = stream.create("select", "My node")
node.setPropertyValue("mode", "Include")
node.setPropertyValue("condition", "Age < 18")
Propriedades de sortnode
O n Classificar classifica os registros em ordem crescente ou decrescente com base nos
valores de um ou mais campos.
Exemplo
node = stream.create("sort", "My node")
node.setPropertyValue("keys", [["Age", "Ascending"], ["Sex", "Descending"]])
node.setPropertyValue("default_ascending", False)
node.setPropertyValue("use_existing_keys", True)
node.setPropertyValue("existing_keys", [["Age", "Ascending"]])
Propriedades de streamingts
O n TS de Fluxo constri e escora os modelos de sries temporais em uma etapa, sem a
necessidade de um n Intervalos de Tempo.
Example
stream = modeler.script.stream()
varfilenode = stream.createAt("variablefile", "File", 96, 96)
varfilenode.setPropertyValue("full_filename", "$CLEO/DEMOS/DRUG1n")
node = stream.createAt("anonymize", "My node", 192, 96)
# Anonymize node requires the input fields while setting the values
stream.link(varfilenode, node)
node.setKeyedPropertyValue("enable_anonymize", "Age", True)
node.setKeyedPropertyValue("transformation", "Age", "Random")
node.setKeyedPropertyValue("set_random_seed", "Age", True)
node.setKeyedPropertyValue("random_seed", "Age", 123)
node.setKeyedPropertyValue("enable_anonymize", "Drug", True)
node.setKeyedPropertyValue("use_prefix", "Drug", True)
node.setKeyedPropertyValue("prefix", "Drug", "myprefix")
115
Propriedades de autodataprepnode
O n Automated Data Preparation (ADP) pode analisar seus dados e identificar correes,
selecionar campos que so problemticos ou que provavelmente no sero teis, derivar
novos atributos quando apropriado e aprimorar o desempenho por meio de tcnicas de
triagem e de amostragem inteligentes. possvel utilizar o n de forma totalmente
automatizada, permitindo que o n escolha e aplique correes, ou possvel visualizar as
mudanas antes que elas sejam feitas e aceit-las, rejeit-las ou modific-las conforme
desejado.
exemplo
node = stream.create("autodataprep", "My node")
node.setPropertyValue("objective", "Balanced")
node.setPropertyValue("excluded_fields", "Filter")
node.setPropertyValue("prepare_dates_and_times", True)
node.setPropertyValue("compute_time_until_date", True)
node.setPropertyValue("reference_date", "Today")
node.setPropertyValue("units_for_date_durations", "Automatic")
Propriedades de binningnode
O n Categorizao cria automaticamente novos campos nominais (conjunto) com base nos
valores de um ou mais campos existente contnuos (intervalo numrico). Por exemplo,
possvel transformar um campo de receita contnuo em um novo campo categrico contendo
grupos de receitas como desvios da mdia. Depois de criar categorias para o novo campo,
possvel gerar um n Derivar com base nos pontos de corte.
Example
node = stream.create("binning", "My node")
node.setPropertyValue("fields", ["Na", "K"])
node.setPropertyValue("method", "Rank")
node.setPropertyValue("fixed_width_name_extension", "_binned")
node.setPropertyValue("fixed_width_add_as", "Suffix")
node.setPropertyValue("fixed_bin_method", "Count")
node.setPropertyValue("fixed_bin_count", 10)
node.setPropertyValue("fixed_bin_width", 3.5)
node.setPropertyValue("tile10", True)
Exemplo 1
# Create and configure a Flag Derive field node
node = stream.create("derive", "My node")
node.setPropertyValue("new_name", "DrugX_Flag")
node.setPropertyValue("result_type", "Flag")
node.setPropertyValue("flag_true", "1")
node.setPropertyValue("flag_false", "0")
node.setPropertyValue("flag_expr", "Drug == \"drugX\"")
Exemplo 2
Este script supe que h duas colunas numricas chamadas XPos e YPos que representam as coordenadas
X e Y de um ponto (por exemplo, onde um evento ocorreu). O script cria um n Derivar que calcula uma
coluna geoespacial das coordenadas X e Y que representam esse ponto em um sistema de coordenadas
especficas:
stream = modeler.script.stream()
# Other stream configuration code
node = stream.createAt("derive", "Location", 192, 96)
node.setPropertyValue("new_name", "Location")
node.setPropertyValue("formula_expr", "[XPos, YPos]")
node.setPropertyValue("formula_type", "Geospatial")
# Now we have set the general measurement type, define the
# specifics of the geospatial object
node.setPropertyValue("geo_type", "Point")
node.setPropertyValue("has_coordinate_system", True)
node.setPropertyValue("coordinate_system", "ETRS_1989_EPSG_Arctic_zone_5-47")
Exemplo
# Create and configure an Ensemble node
# Use this node with the models in demos\streams\pm_binaryclassifier.str
node = stream.create("ensemble", "My node")
node.setPropertyValue("ensemble_target_field", "response")
node.setPropertyValue("filter_individual_model_output", False)
node.setPropertyValue("flag_ensemble_method", "ConfidenceWeightedVoting")
node.setPropertyValue("flag_voting_tie_selection", "HighestConfidence")
Exemplo
node = stream.create("filler", "My node")
node.setPropertyValue("fields", ["Age"])
node.setPropertyValue("replace_mode", "Always")
node.setPropertyValue("condition", "(\"Age\" > 60) and (\"Sex\" = \"M\"")
node.setPropertyValue("replace_with", "\"old man\"")
Propriedades de filternode
O n Filtro filtra (descarta) os campos, renomeia-os e mapeia-os de um n de origem para
outro.
Exemplo
node = stream.create("filter", "My node")
node.setPropertyValue("default_include", True)
node.setKeyedPropertyValue("new_name", "Drug", "Chemical")
node.setKeyedPropertyValue("include", "Drug", False)
Isso far com que o n transmita os campos Age e Sex e descarte todos os outros. Agora suponha que
voc execute o mesmo script novamente, mas nomeando dois campos diferentes:
Isso incluir mais dois campos no filtro, transmitindo um total de quatro campos (Age, Sex, BP e Na). Em
outras palavras, reconfigurar o valor de default_include para False no reconfigura automaticamente
todos os campos.
Como alternativa, se agora voc alterar default_include para True, seja utilizando um script ou na caixa
de dilogo do n Filtro, isso inverter o comportamento fazendo que os quatro campos listados acima
sejam descartados ao invs de includos. Quando estiver em dvida, experimentar os controles na caixa
de dilogo do n Filtro poder ser til para entender essa interao.
Tabela 76. Propriedades de filternode
Propriedades de filternode Tipo de dados Descrio da propriedade
default_include sinalizador Propriedade definida como chave para
especificar se o comportamento padro
transmitir ou filtrar os campos:
Propriedades de historynode
O n Histrico cria novos campos contendo dados de campos em registros anteriores. Os ns
Histricos so mais frequentemente utilizados para dados sequenciais, como dados de sries
temporais. Antes de utilizar um n Histrico, voc pode querer classificar os dados utilizando
um n Classificar.
Exemplo
node = stream.create("history", "My node")
node.setPropertyValue("fields", ["Drug"])
node.setPropertyValue("offset", 1)
node.setPropertyValue("span", 3)
node.setPropertyValue("unavailable", "Discard")
node.setPropertyValue("fill_with", "undef")
Propriedades de partitionnode
O n Partio gera um campo de partio que divide os dados em subconjuntos separados
para o treinamento, teste e estgios de validao de construo de modelo.
Exemplo
node = stream.create("partition", "My node")
node.setPropertyValue("create_validation", True)
node.setPropertyValue("training_size", 33)
node.setPropertyValue("testing_size", 33)
node.setPropertyValue("validation_size", 33)
node.setPropertyValue("set_random_seed", True)
node.setPropertyValue("random_seed", 123)
node.setPropertyValue("value_mode", "System")
Propriedades de reclassifynode
O n Reclassificar transforma um conjunto de valores categricos em outro. A reclassificao
til para reduzir as categorias ou para reagrupar dados para anlise.
Exemplo
node = stream.create("reclassify", "My node")
node.setPropertyValue("mode", "Multiple")
node.setPropertyValue("replace_field", True)
node.setPropertyValue("field", "Drug")
node.setPropertyValue("new_name", "Chemical")
node.setPropertyValue("fields", ["Drug", "BP"])
node.setPropertyValue("name_extension", "reclassified")
node.setPropertyValue("add_as", "Prefix")
node.setKeyedPropertyValue("reclassify", "drugA", True)
node.setPropertyValue("use_default", True)
node.setPropertyValue("default", "BrandX")
node.setPropertyValue("pick_list", ["BrandX", "Placebo", "Generic"])
Propriedades de reordernode
O n Reordenar Campo define a ordem natural utilizada para exibir campos de recebimento
de dados. Esta ordem afeta a exibio de campos em uma variedade de locais, como tabelas,
listas e o Seletor de Campo. Esta operao til ao trabalhar com conjuntos de dados grandes
para tornar os campos de interesse mais visveis.
Exemplo
node = stream.create("reorder", "My node")
node.setPropertyValue("mode", "Custom")
node.setPropertyValue("sort_by", "Storage")
node.setPropertyValue("ascending", False)
node.setPropertyValue("start_fields", ["Age", "Cholesterol"])
node.setPropertyValue("end_fields", ["Drug"])
Propriedades de reprojectnode
No SPSS Modeler, itens como as funes espaciais do Construtor de Expresses, o n
Spatio-Temporal Prediction (STP), e o n Visualizao de Mapa usam o sistema de
coordenadas projetado. Utilize o n Reprojetar para alterar o sistema de coordenadas de
quaisquer dados que importar que utilizam um sistema de coordenadas geogrficas.
Exemplo
node = stream.create("restructure", "My node")
node.setKeyedPropertyValue("fields_from", "Drug", ["drugA", "drugX"])
node.setPropertyValue("include_field_name", True)
node.setPropertyValue("value_mode", "OtherFields")
node.setPropertyValue("value_fields", ["Age", "BP"])
Propriedades de rfmanalysisnode
O n Recency, Frequency, Monetary (RFM) Analysis permite determinar de modo quantitativo
quais podem ser seus melhores clientes ao examinar quando foi a ltima vez que eles
compraram de voc (recncia), com que frequncia eles compraram (frequncia) e quanto eles
gastaram em todas as transaes (monetrio).
Exemplo
node = stream.create("rfmanalysis", "My node")
node.setPropertyValue("recency", "Recency")
node.setPropertyValue("frequency", "Frequency")
node.setPropertyValue("monetary", "Monetary")
node.setPropertyValue("tied_values_method", "Next")
node.setPropertyValue("recalculate_bins", "IfNecessary")
node.setPropertyValue("recency_thresholds", [1, 500, 800, 1500, 2000, 2500])
recalculate_bins Always
IfNecessary
add_outliers sinalizador Disponvel apenas se recalculate_bins for
configurado para IfNecessary. Se configurado,
os registros que estiverem em uma categoria
inferior sero includos na categoria inferior e os
registros acima da categoria mais alta sero
includos na categoria mais alta.
binned_field Recency
Frequency
Monetrio
recency_thresholds valor valor Disponvel apenas se recalculate_bins for
configurado para Always. Especifique os limites
superior e inferior para as categorias de
recncia. O limite superior de uma categoria
utilizado como o limite inferior da prxima
categoria, por exemplo, [10 30 60] define duas
categorias, a primeira categoria com limites
superior e inferior de 10 e 30 e a segunda
categoria com limites de 30 e 60.
frequency_thresholds valor valor Disponvel apenas se recalculate_bins for
configurado para Always.
monetary_thresholds valor valor Disponvel apenas se recalculate_bins for
configurado para Always.
Propriedades de settoflagnode
O n Configurar para Sinalizador deriva diversos campos de sinalizao com base nos
valores categricos definidos para um ou mais campos nominais.
Exemplo
Propriedades de statisticstransformnode
O n Transformao de Estatsticas executa uma seleo de comandos de sintaxe do IBM
SPSS Statistics com relao s origens de dados no IBM SPSS Modeler. Esse n requer uma
cpia licenciada do IBM SPSS Statistics.
Propriedades de timeintervalsnode
O n Intervalos de Tempo especifica os intervalos e cria rtulos (se necessrio) para modelar
dados de sries temporais. Se os valores no forem uniformemente espaados, o n poder
preencher ou agregar valores conforme necessrio para gerar um intervalo uniforme entre os
registros.
Exemplo
node = stream.create("timeintervals", "My node")
node.setPropertyValue("interval_type", "SecondsPerDay")
node.setPropertyValue("days_per_week", 4)
node.setPropertyValue("week_begins_on", "Tuesday")
node.setPropertyValue("hours_per_day", 10)
node.setPropertyValue("day_begins_hour", 7)
node.setPropertyValue("day_begins_minute", 5)
node.setPropertyValue("day_begins_second", 17)
node.setPropertyValue("mode", "Label")
node.setPropertyValue("year_start", 2005)
Propriedades de transposenode
O n Transpor troca os dados em linhas e colunas para que os registros se tornem campos e
os campos se tornem registros.
Exemplo
node = stream.create("transpose", "My node")
node.setPropertyValue("transposed_names", "Read")
node.setPropertyValue("read_from_field", "TimeLabel")
node.setPropertyValue("max_num_fields", "1000")
node.setPropertyValue("id_field_name", "ID")
Propriedades de typenode
O n Tipo especifica metadados e propriedades de campo. Por exemplo, possvel especificar
um nvel de medio (contnua, nominal, ordinal ou sinalizador) para cada campo, configurar
opes para manipular valores omissos e nulos do sistema, configurar a funo de um campo
para fins de modelagem, especificar rtulos de campo e de valor e especificar valores para
um campo.
Exemplo
node = stream.createAt("type", "My node", 50, 50)
node.setKeyedPropertyValue("check", "Cholesterol", "Coerce")
node.setKeyedPropertyValue("direction", "Drug", "Input")
node.setKeyedPropertyValue("type", "K", "Range")
node.setKeyedPropertyValue("values", "Drug", ["drugA", "drugB", "drugC", "drugD", "drugX",
"drugY", "drugZ"])
node.setKeyedPropertyValue("null_missing", "BP", False)
node.setKeyedPropertyValue("whitespace_missing", "BP", False)
node.setKeyedPropertyValue("description", "BP", "Blood Pressure")
node.setKeyedPropertyValue("value_labels", "BP", [["HIGH", "High Blood Pressure"],
["NORMAL", "normal blood pressure"]])
Observe que, em alguns casos, poder ser necessrio instanciar totalmente o n Tipo para outros ns para
funcionar corretamente, como a propriedade fields from do n Configurar para Sinalizador. possvel
simplesmente conectar um n Tabela e execut-lo para instanciar os campos:
tablenode = stream.createAt("table", "Table node", 150, 50)
stream.link(node, tablenode)
tablenode.run(None)
stream.delete(tablenode)
Especificando cores
As cores de ttulos, legendas, planos de fundo e rtulos podem ser especificadas utilizando as sequncias
hexadecimais comeando com o smbolo hash (#). Por exemplo, para configurar o plano de fundo do
grfico para azul-celeste, a seguinte instruo utilizada:
mygraphnode.setPropertyValue("graph_background", "#87CEEB")
Aqui, os dois primeiros dgitos, 87, especificam o contedo em vermelho; os dois dgitos do meio, CE,
especificam o contedo em verde e os dois ltimos dgitos, EB, especificam o contedo em azul. Cada
dgito pode ter um valor no intervalo de 0 a 9 ou A a F. Juntos, esses valores podem especificar uma cor
vermelho-verde-azul, ou RGB.
143
Nota: Ao especificar cores em RGB, possvel usar o Seletor de Campo na interface com o usurio para
determinar o cdigo de cor correto. Basta passar o mouse sobre a cor para ativar uma ToolTip com as
informaes desejadas.
Propriedades de collectionnode
O n de Coleo mostra a distribuio de valores para um campo numrico com relao aos
valores de outro campo. (Ele cria grficos semelhantes a histogramas). Ele til para ilustrar
uma varivel ou campo cujos valores se alteram ao longo do tempo. Usando um grfico 3D,
tambm possvel incluir um eixo simblico exibindo distribuies por categoria.
Exemplo
node = stream.create("collection", "My node")
# "Plot" tab
node.setPropertyValue("three_D", True)
node.setPropertyValue("collect_field", "Drug")
node.setPropertyValue("over_field", "Age")
node.setPropertyValue("by_field", "BP")
node.setPropertyValue("operation", "Sum")
# "Overlay" section
node.setPropertyValue("color_field", "Drug")
node.setPropertyValue("panel_field", "Sex")
node.setPropertyValue("animation_field", "")
# "Options" tab
node.setPropertyValue("range_mode", "Automatic")
node.setPropertyValue("range_min", 1)
node.setPropertyValue("range_max", 100)
node.setPropertyValue("bins", "ByNumber")
node.setPropertyValue("num_bins", 10)
node.setPropertyValue("bin_width", 5)
Propriedades de distributionnode
O n Distribuio mostra a ocorrncia de valores simblicos (categricos), como tipo ou
gnero da hipoteca. O n Distribuio pode ser usado geralmente para mostrar
desbalanceamentos nos dados, que podero ento ser corrigidos utilizando um n
Balanceamento antes de criar um modelo.
Exemplo
node = stream.create("distribution", "My node")
# "Plot" tab
node.setPropertyValue("plot", "Flags")
node.setPropertyValue("x_field", "Age")
node.setPropertyValue("color_field", "Drug")
node.setPropertyValue("normalize", True)
node.setPropertyValue("sort_mode", "ByOccurence")
node.setPropertyValue("use_proportional_scale", True)
Propriedades de evaluationnode
O n Avaliao ajuda a avaliar e comparar modelos preditivos. O grfico de avaliao mostra
quo bem os modelos preveem resultados especficos. Ele classifica os registros com base no
valor previsto e na confiana da predio. Ele divide os registros em grupos de tamanhos
iguais (quantis) e, em seguida, representa o valor do critrio de negcios para cada quantil
do mais alto para o mais baixo. Diversos modelos so mostrados como linhas separadas na
representao.
Exemplo
Propriedades de graphboardnode
O n Elemento do Grfico oferece muitos tipos diferentes de grficos em um nico n.
Utilizando esse n, possvel escolher os campos de dados que desejar explorar e, em
seguida, selecionar um grfico a partir dos disponveis para os dados selecionados. O n filtra
automaticamente todos os tipos de grficos que no funcionariam com as opes de campo.
Nota: Se voc configurar uma propriedade que no for vlida para o tipo de grfico (por exemplo,
especificar y_field para um histograma), essa propriedade ser ignorada.
Exemplo
node = stream.create("graphboard", "My node")
node.setPropertyValue("graph_type", "Line")
node.setPropertyValue("x_field", "K")
node.setPropertyValue("y_field", "Na")
Propriedades de histogramnode
O n Histograma mostra a ocorrncia de valores para campos numricos. Ele normalmente
utilizado para explorar os dados antes de manipulaes e construes de modelo. Semelhante
ao n Distribuio, o n Histograma revela frequentemente desequilbrios nos dados.
Exemplo
node = stream.create("histogram", "My node")
# "Plot" tab
node.setPropertyValue("field", "Drug")
node.setPropertyValue("color_field", "Drug")
node.setPropertyValue("panel_field", "Sex")
node.setPropertyValue("animation_field", "")
# "Options" tab
node.setPropertyValue("range_mode", "Automatic")
node.setPropertyValue("range_min", 1.0)
node.setPropertyValue("range_max", 100.0)
node.setPropertyValue("num_bins", 10)
node.setPropertyValue("bin_width", 10)
node.setPropertyValue("normalize", True)
node.setPropertyValue("separate_bands", False)
Propriedades de multiplotnode
O n Multigrficos cria uma representao que exibe diversos campos Y em um nico campo
X. Os campos Y so representados como linhas coloridas, em que cada linha equivalente a
um n Grfico com Estilo configurado para Linha e o Modo X configurado para Classificar.
Os multigrficos so teis quando desejar explorar a flutuao de diversas variveis ao longo
do tempo.
Exemplo
node = stream.create("multiplot", "My node")
# "Plot" tab
node.setPropertyValue("x_field", "Age")
node.setPropertyValue("y_fields", ["Drug", "BP"])
node.setPropertyValue("panel_field", "Sex")
# "Overlay" section
node.setPropertyValue("animation_field", "")
node.setPropertyValue("tooltip", "test")
node.setPropertyValue("normalize", True)
node.setPropertyValue("use_overlay_expr", False)
node.setPropertyValue("overlay_expression", "test")
node.setPropertyValue("records_limit", 500)
node.setPropertyValue("if_over_limit", "PlotSample")
Propriedades de plotnode
O n Grfico mostra o relacionamento entre os campos numricos. possvel criar um grfico
utilizando pontos (grfico de disperso) ou linhas.
Exemplo
node = stream.create("plot", "My node")
# "Plot" tab
node.setPropertyValue("three_D", True)
node.setPropertyValue("x_field", "BP")
node.setPropertyValue("y_field", "Cholesterol")
node.setPropertyValue("z_field", "Drug")
# "Overlay" section
node.setPropertyValue("color_field", "Drug")
node.setPropertyValue("size_field", "Age")
node.setPropertyValue("shape_field", "")
node.setPropertyValue("panel_field", "Sex")
node.setPropertyValue("animation_field", "BP")
node.setPropertyValue("transp_field", "")
node.setPropertyValue("style", "Point")
# "Output" tab
node.setPropertyValue("output_mode", "File")
node.setPropertyValue("output_format", "JPEG")
node.setPropertyValue("full_filename", "C:/temp/graph_output/plot_output.jpeg")
Propriedades de timeplotnode
O n Grfico de Tempo exibe um ou mais conjuntos de dados de sries temporais.
Geralmente, um n Intervalos de Tempo dever ser usado primeiro para criar um campo
TimeLabel que ser utilizado para rotular o eixo x.
Exemplo
node = stream.create("timeplot", "My node")
node.setPropertyValue("y_fields", ["sales", "men", "women"])
node.setPropertyValue("panel", True)
node.setPropertyValue("normalize", True)
node.setPropertyValue("line", True)
node.setPropertyValue("smoother", True)
node.setPropertyValue("use_records_limit", True)
node.setPropertyValue("records_limit", 2000)
# Appearance settings
node.setPropertyValue("symbol_size", 2.0)
Propriedades de webnode
O n Web ilustra a intensidade do relacionamento entre os valores de dois ou mais campos
simblicos (categricos). O grfico utiliza linhas de vrias larguras para indicar a intensidade
da conexo. O n Web pode ser usado, por exemplo, para explorar o relacionamento entre a
compra de um conjunto de itens em um site de e-commerce.
Exemplo
node = stream.create("web", "My node")
# "Plot" tab
node.setPropertyValue("use_directed_web", True)
node.setPropertyValue("to_field", "Drug")
node.setPropertyValue("fields", ["BP", "Cholesterol", "Sex", "Drug"])
node.setPropertyValue("from_fields", ["BP", "Cholesterol", "Sex"])
Propriedades de anomalydetectionnode
O n de Deteco de Anomalias identifica casos incomuns, ou valores discrepantes, que no
esto em conformidade com os padres de dados normais. Com esse n, possvel
identificar valores discrepantes, mesmo que eles no se ajustem a nenhum padro conhecido
anteriormente e mesmo que voc no esteja certo do que est procurando exatamente.
157
Example
node = stream.create("anomalydetection", "My node")
node.setPropertyValue("anomaly_method", "PerRecords")
node.setPropertyValue("percent_records", 95)
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("peer_group_num_auto", True)
node.setPropertyValue("min_num_peer_groups", 3)
node.setPropertyValue("max_num_peer_groups", 10)
Propriedades de apriorinode
O n A Priori extrai um conjunto de regras dos dados, removendo as regras com o contedo
de informaes mais alto. A Priori oferece cinco mtodos diferentes de seleo de regras e usa
um esquema de indexao sofisticado para processar conjuntos de dados grandes com
eficincia. Para grandes problemas, o A Priori geralmente mais rpido para treinar; ele no
tem um limite arbitrrio no nmero de regras que podem ser retidas e pode manipular regras
com at 32 condies prvias. O A Priori requer que os campos de entrada e sada sejam
todos categricos, mas entrega melhor desempenho por ser otimizado para esse tipo de dado.
Example
node = stream.create("apriori", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("partition", "Test")
# For non-transactional
node.setPropertyValue("use_transactional_data", False)
node.setPropertyValue("consequents", ["Age"])
node.setPropertyValue("antecedents", ["BP", "Cholesterol", "Drug"])
# For transactional
node.setPropertyValue("use_transactional_data", True)
node.setPropertyValue("id_field", "Age")
node.setPropertyValue("contiguous", True)
node.setPropertyValue("content_field", "Drug")
# "Model" tab
node.setPropertyValue("use_model_name", False)
node.setPropertyValue("model_name", "Apriori_bp_choles_drug")
node.setPropertyValue("min_supp", 7.0)
node.setPropertyValue("min_conf", 30.0)
node.setPropertyValue("max_antecedents", 7)
node.setPropertyValue("true_flags", False)
node.setPropertyValue("optimize", "Memory")
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("evaluation", "ConfidenceRatio")
node.setPropertyValue("lower_bound", 7)
Propriedades de associationrulesnode
O n de Regras de Associao semelhante ao n A Priori; no entanto, ao contrrio do A
Priori, o n de Regras de Associao pode processar dados de lista. Alm disso, o n de
Regras de Associao pode ser usado com IBM SPSS Analytic Server para processar Big Data
e aproveitar a vantagem do processamento paralelo mais rpido.
Propriedades de autoclassifiernode
O n Previsor Categrico Automtico cria e compara inmeros modelos diferentes para
resultados binrios (sim ou no, perda de clientes ou no, e assim por diante), permitindo
escolher a melhor abordagem para uma determinada anlise. Vrios algoritmos de
modelagem so suportados, possibilitando a seleo dos mtodos que voc deseja usar, as
opes especficas para cada e os critrios para comparar os resultados. O n gera um
conjunto de modelos com base nas opes especificadas e ranqueia os melhores candidatos de
acordo com os critrios especificados.
Example
node = stream.create("autoclassifier", "My node")
node.setPropertyValue("ranking_measure", "Accuracy")
node.setPropertyValue("ranking_dataset", "Training")
node.setPropertyValue("enable_accuracy_limit", True)
node.setPropertyValue("accuracy_limit", 0.9)
node.setPropertyValue("calculate_variable_importance", True)
node.setPropertyValue("use_costs", True)
node.setPropertyValue("svm", False)
Por exemplo:
node.setKeyedPropertyValue("neuralnetwork", "method", "MultilayerPerceptron")
Os nomes de algoritmo para o n Classificador Automtico so cart, chaid, quest, c50, logreg,
decisionlist, bayesnet, discriminant, svm e knn.
Os nomes de algoritmo para o n Numerao Automtica so cart, chaid, neuralnetwork, genlin, svm,
regression, linear e knn.
As propriedades de algoritmo que contiverem pontos ou outra escoragem devem ser agrupadas entre
aspas simples, por exemplo:
node.setKeyedPropertyValue("logreg", "tolerance", "1.0E-5")
Diversos valores tambm podem ser designados para a propriedade, por exemplo:
node.setKeyedPropertyValue("decisionlist", "search_direction", ["Up", "Down"])
Example
node = stream.create("autocluster", "My node")
node.setPropertyValue("ranking_measure", "Silhouette")
node.setPropertyValue("ranking_dataset", "Training")
node.setPropertyValue("enable_silhouette_limit", True)
node.setPropertyValue("silhouette_limit", 5)
Propriedades de autonumericnode
O n Previsor Contnuo Automtico estima e compara modelos para resultados de intervalos
numricos contnuos usando vrios mtodos diferentes. O n trabalha da mesma maneira que
o n Previsor Categrico Automtico, permitindo escolher os algoritmos para usar e
experimentar com vrias combinaes de opes em uma nica passagem de modelagem. Os
algoritmos suportados incluem redes neurais, rvore C e R, algoritmo Detector de Interao
Automtico Chi-quadrado, regresso linear, regresso linear generalizada e Support Vector
Machines (SVM). Os modelos podem ser comparados com base em correlao, erro relativo
ou nmero de variveis usadas.
Exemplo
node = stream.create("autonumeric", "My node")
node.setPropertyValue("ranking_measure", "Correlation")
node.setPropertyValue("ranking_dataset", "Training")
node.setPropertyValue("enable_correlation_limit", True)
node.setPropertyValue("correlation_limit", 0.8)
node.setPropertyValue("calculate_variable_importance", True)
node.setPropertyValue("neuralnetwork", True)
node.setPropertyValue("chaid", False)
Propriedades de bayesnetnode
O n de Rede Bayesiana permite construir um modelo de probabilidade combinando
evidncias observadas e registradas com conhecimento do mundo real para estabelecer a
probabilidade de ocorrncias. O n foca nas redes Tree Augmented Nave Bayes (TAN) e
Markov Blanket que so usadas principalmente para classificao.
Example
node = stream.create("bayesnet", "My node")
node.setPropertyValue("continue_training_existing_model", True)
node.setPropertyValue("structure_type", "MarkovBlanket")
node.setPropertyValue("use_feature_selection", True)
Exemplo
node = stream.create("buildr", "My node")
node.setPropertyValue("score_syntax", """
result<-predict(modelerModel,newdata=modelerData)
modelerData<-cbind(modelerData,result)
var1<-c(fieldName="NaPrediction",fieldLabel="",fieldStorage="real",fieldMeasure="",
fieldFormat="",fieldRole="")
modelerDataModel<-data.frame(modelerDataModel,var1)""")
Propriedades de c50node
O n C5.0 constri uma rvore de deciso ou um conjunto de regras. O modelo trabalha
dividindo a amostra com base no campo que fornece o mximo de informaes obtidas em
cada nvel. O campo de resposta deve ser categrico. Divises mltiplas em mais de dois
subgrupos so permitidas.
Example
node = stream.create("c50", "My node")
# "Model" tab
node.setPropertyValue("use_model_name", False)
node.setPropertyValue("model_name", "C5_Drug")
node.setPropertyValue("use_partitioned_data", True)
node.setPropertyValue("output_type", "DecisionTree")
node.setPropertyValue("use_xval", True)
node.setPropertyValue("xval_num_folds", 3)
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("favor", "Generality")
Propriedades de carmanode
O modelo CARMA extrai um conjunto de regras dos dados sem requerer a especificao de
campos de entrada ou sada. Em contraste com o A Priori o n CARMA oferece configuraes
de construo para suporte de regra (suporte para antecedente e consequente) em vez de
apenas suporte antecedente. Isso significa que as regras geradas podem ser usadas para uma
variedade maior de aplicativospor exemplo, para localizar uma lista de produtos ou
servios (antecedentes) cujo consequente o item que voc deseja promover nesta temporada
de frias.
Example
Example
node = stream.createAt("cart", "My node", 200, 100)
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("target", "Drug")
node.setPropertyValue("inputs", ["Age", "BP", "Cholesterol"])
# "Build Options" tab, "Objective" panel
node.setPropertyValue("model_output_type", "InteractiveBuilder")
node.setPropertyValue("use_tree_directives", True)
node.setPropertyValue("tree_directives", """Grow Node Index 0 Children 1 2
Grow Node Index 2 Children 3 4""")
# "Build Options" tab, "Basics" panel
node.setPropertyValue("prune_tree", False)
node.setPropertyValue("use_std_err_rule", True)
node.setPropertyValue("std_err_multiplier", 3.0)
node.setPropertyValue("max_surrogates", 7)
# "Build Options" tab, "Stopping Rules" panel
node.setPropertyValue("use_percentage", True)
node.setPropertyValue("min_parent_records_pc", 5)
node.setPropertyValue("min_child_records_pc", 3)
# "Build Options" tab, "Advanced" panel
node.setPropertyValue("min_impurity", 0.0003)
node.setPropertyValue("impurity_measure", "Twoing")
# "Model Options" tab
node.setPropertyValue("use_model_name", True)
node.setPropertyValue("model_name", "Cart_Drug")
use_max_depth Default
Custom
max_depth integer Profundidade mxima da rvore, de 0 a
1000. Usado apenas se use_max_depth =
Custom.
prune_tree sinalizador Poda a rvore para evitar super ajuste.
use_std_err sinalizador Utiliza a diferena mxima em risco (nos
Erros Padro).
std_err_multiplier nmero Diferena mxima.
max_surrogates nmero Mximo de substitutos.
use_percentage sinalizador
min_parent_records_pc nmero
min_child_records_pc nmero
min_parent_records_abs nmero
min_child_records_abs nmero
use_costs sinalizador
costs estruturado Propriedade estruturada.
priors Data
Equal
Custom
custom_priors estruturado Propriedade estruturada.
adjust_priors sinalizador
trails nmero Nmero de modelos de componente para
boosting ou bagging.
set_ensemble_method Voting Regra de combinao padro para variveis
HighestProbability resposta categrica.
HighestMeanProbability
range_ensemble_method Mdia Regra de combinao padro para variveis
Median resposta contnua.
large_boost sinalizador Aplica boosting em conjuntos de dados
muito grandes.
min_impurity nmero
impurity_measure Gini
Twoing
Ordered
train_pct nmero Conjunto de preveno ao super ajuste
set_random_seed sinalizador Replica a opo de resultados.
Propriedades de chaidnode
O n CHAID gera rvores de deciso usando estatsticas qui-quadrado para identificar as
divises ideais. Ao contrrio dos ns rvore C e R e QUEST, o CHAID pode gerar rvores
no binrias, o que significa que algumas divises tm mais de duas ramificaes. Os campos
de entrada e de resposta podem ser intervalos numricos (contnuos) ou categricos. CHAID
exaustivo uma modificao de CHAID que executa uma tarefa mais completa de exame de
todas as divises possveis, mas que leva mais tempo para ser calculada.
Example
filenode = stream.createAt("variablefile", "My node", 100, 100)
filenode.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")
node = stream.createAt("chaid", "My node", 200, 100)
stream.link(filenode, node)
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("target", "Drug")
node.setPropertyValue("inputs", ["Age", "Na", "K", "Cholesterol", "BP"])
node.setPropertyValue("use_model_name", True)
node.setPropertyValue("model_name", "CHAID")
node.setPropertyValue("method", "Chaid")
node.setPropertyValue("model_output_type", "InteractiveBuilder")
node.setPropertyValue("use_tree_directives", True)
node.setPropertyValue("tree_directives", "Test")
node.setPropertyValue("split_alpha", 0.03)
node.setPropertyValue("merge_alpha", 0.04)
node.setPropertyValue("chi_square", "Pearson")
node.setPropertyValue("use_percentage", False)
node.setPropertyValue("min_parent_records_abs", 40)
node.setPropertyValue("min_child_records_abs", 30)
node.setPropertyValue("epsilon", 0.003)
node.setPropertyValue("max_iterations", 75)
node.setPropertyValue("split_merged_categories", True)
node.setPropertyValue("bonferroni_adjustment", True)
Propriedades de coxregnode
O n de Regresso de Cox permite construir um modelo de sobrevivncia para dados de
sobrevivncia na presena de registros censurados. O modelo produz uma funo de
sobrevivncia que prev a probabilidade de o evento de interesse ter ocorrido em um
determinado momento (t) para determinados valores das variveis de entrada.
Exemplo
node = stream.create("coxreg", "My node")
node.setPropertyValue("survival_time", "tenure")
node.setPropertyValue("method", "BackwardsStepwise")
# Expert tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("removal_criterion", "Conditional")
node.setPropertyValue("survival", True)
Propriedades de decisionlistnode
O n Lista de Deciso identifica subgrupos, ou segmentos, que mostram uma probabilidade
maior ou menor de um determinado resultado binrio relativo populao geral. Por
exemplo, voc pode examinar os clientes com menor probabilidade de migrarem para o
concorrente ou com maior probabilidade de responderem a uma campanha de forma
favorvel. possvel incorporar seu conhecimento de negcios no modelo incluindo seus
prprios segmentos customizados e visualizando modelos alternativos lado a lado para
comparar os resultados. Os modelos de Lista de Deciso consistem em uma lista de regras na
qual cada regra tem uma condio e um resultado. Regras so aplicadas em ordem, e a
primeira regra correspondente determina o resultado.
Exemplo
Exemplo
node = stream.create("discriminant", "My node")
node.setPropertyValue("target", "custcat")
node.setPropertyValue("use_partitioned_data", False)
node.setPropertyValue("method", "Stepwise")
Propriedades de factornode
O n PCA/Factor fornece tcnicas poderosas de reduo de dados para reduzir a
complexidade de seus dados. A anlise de componentes principais (PCA) localiza
combinaes lineares dos campos de entrada que realizam as melhores tarefas de captura de
varincia no conjunto de campos inteiro, no qual os componentes so ortogonais
(perpendiculares) uns aos outros. A anlise fatorial tenta identificar os fatores subjacentes que
explicam o padro de correlaes dentro de um conjunto observado de campos. Para ambas
as abordagens, o objetivo localizar um pequeno nmero de campos derivados que
sumarizam efetivamente as informaes no conjunto de campos original.
Exemplo
node = stream.create("factor", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("inputs", ["BP", "Na", "K"])
node.setPropertyValue("partition", "Test")
# "Model" tab
node.setPropertyValue("use_model_name", True)
node.setPropertyValue("model_name", "Factor_Age")
node.setPropertyValue("use_partitioned_data", False)
node.setPropertyValue("method", "GLS")
# Expert options
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("complete_records", True)
node.setPropertyValue("matrix", "Covariance")
node.setPropertyValue("max_iterations", 30)
node.setPropertyValue("extract_factors", "ByFactors")
node.setPropertyValue("min_eigenvalue", 3.0)
node.setPropertyValue("max_factor", 7)
node.setPropertyValue("sort_values", True)
node.setPropertyValue("hide_values", True)
Exemplo
node = stream.create("featureselection", "My node")
node.setPropertyValue("screen_single_category", True)
node.setPropertyValue("max_single_category", 95)
node.setPropertyValue("screen_missing_values", True)
node.setPropertyValue("max_missing_values", 80)
node.setPropertyValue("criteria", "Likelihood")
node.setPropertyValue("unimportant_below", 0.8)
node.setPropertyValue("important_above", 0.9)
node.setPropertyValue("important_label", "Check Me Out!")
node.setPropertyValue("selection_mode", "TopN")
node.setPropertyValue("top_n", 15)
Para obter um exemplo mais detalhado que cria e aplica um modelo de Seleo de Recursos, consulte
Exemplo de Script Independente: Gerando um Modelo de Seleo de Varivel na pgina 4.
Tabela 115. propriedades de featureselectionnode
Propriedades de featureselectionnode Valores Descrio da propriedade
target campo Os modelos de Seleo de Recurso
classificam preditores com relao ao
destino especificado. Os campos de peso
e de frequncia no so utilizados.
Consulte o tpico Propriedades Comuns
do N de Modelagem na pgina 157
para obter mais informaes.
screen_single_category sinalizador Se True, seleciona campos que tiverem
muitos registros que caem na mesma
categoria com relao ao nmero total de
registros.
max_single_category nmero Especifica o limite utilizado quando
screen_single_category True.
screen_missing_values sinalizador Se True, seleciona campos com muitos
valores ausentes, expresso como uma
porcentagem do nmero total de
registros.
max_missing_values nmero
screen_num_categories sinalizador Se True, seleciona campos com muitas
categorias com relao ao nmero total
de registros.
max_num_categories nmero
screen_std_dev sinalizador Se True, seleciona campos com um
desvio padro menor ou igual ao
mnimo especificado.
min_std_dev nmero
screen_coeff_of_var sinalizador Se True, seleciona campos com um
coeficiente de variao menor ou igual
ao mnimo especificado.
min_coeff_of_var nmero
Propriedades de genlinnode
O Modelo Linear Generalizado expande o modelo linear geral para que a varivel
dependente esteja linearmente relacionada aos fatores e s covariveis por meio de uma
funo de ligao especificada. Alm disso, o modelo permite que a varivel dependente
tenha uma distribuio no normal. Ele cobre a funcionalidade de um amplo nmero de
modelos estatsticos, incluindo regresso linear, regresso logstica, modelos log-linear para
dados de contagem e modelos de sobrevivncia censurados por intervalo.
Exemplo
node = stream.create("genlin", "My node")
node.setPropertyValue("model_type", "MainAndAllTwoWayEffects")
node.setPropertyValue("offset_type", "Variable")
node.setPropertyValue("offset_field", "Claimant")
include_intercept sinalizador
mode Simples
Expert
distribuio BINOMIAL IGAUSS: Gaussiana inversa.
GAMMA NEGBIN: Binomial negativo.
IGAUSS
NEGBIN
NORMAL
POISSON
TWEEDIE
MULTINOMIAL
negbin_para_type Specify
Estimate
negbin_parameter nmero O valor padro 1. Deve conter um
nmero real no negativo.
tweedie_parameter nmero
Propriedades gle
O n GLE estar disponvel somente se voc tiver uma conexo com IBM SPSS Analytic
Server. Um GLE estende o modelo linear para que o destino possa ter uma distribuio no
normal, esteja linearmente relacionado aos fatores e covariveis por meio de uma funo de
ligao especificada, e para que as observaes possam ser correlacionadas. Os modelos
lineares generalizados mistos abrangem uma ampla variedade de modelos, desde regresso
linear simples at modelos multinveis complexos para dados longitudinais no normais.
Propriedades de kmeansnode
O n K-mdias armazena em cluster os dados configurados em grupos distintos (ou clusters).
O mtodo define um nmero fixo de clusters, designa registros aos clusters iterativamente e
ajusta os centros de cluster at que os refinamentos adicionais no possam mais melhorar o
modelo. Em vez de tentar prever um resultado, o k-mdias usa um processo conhecido como
aprendizado no supervisionado para descobrir padres no conjunto de campos de entrada.
Exemplo
node = stream.create("kmeans", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("inputs", ["Cholesterol", "BP", "Drug", "Na", "K", "Age"])
# "Model" tab
node.setPropertyValue("use_model_name", True)
node.setPropertyValue("model_name", "Kmeans_allinputs")
node.setPropertyValue("num_clusters", 9)
node.setPropertyValue("gen_distance", True)
node.setPropertyValue("cluster_label", "Number")
node.setPropertyValue("label_prefix", "Kmeans_")
node.setPropertyValue("optimize", "Speed")
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("stop_on", "Custom")
node.setPropertyValue("max_iterations", 10)
node.setPropertyValue("tolerance", 3.0)
node.setPropertyValue("encoding_value", 0.3)
Propriedades de knnnode
O n k-Nearest Neighbor (KNN) associa um novo caso categoria ou valor dos objetos k
mais prximos dele no espao do preditor, em que k um nmero inteiro. Casos semelhantes
ficam prximos uns dos outros e os casos diferentes ficam distantes uns dos outros.
Exemplo
node = stream.create("knn", "My node")
# Objectives tab
node.setPropertyValue("objective", "Custom")
# Settings tab - Neighbors panel
node.setPropertyValue("automatic_k_selection", False)
node.setPropertyValue("fixed_k", 2)
node.setPropertyValue("weight_by_importance", True)
# Settings tab - Analyze panel
node.setPropertyValue("save_distances", True)
Exemplo
node = stream.create("kohonen", "My node")
# "Model" tab
node.setPropertyValue("use_model_name", False)
node.setPropertyValue("model_name", "Symbolic Cluster")
node.setPropertyValue("stop_on", "Time")
node.setPropertyValue("time", 1)
node.setPropertyValue("set_random_seed", True)
node.setPropertyValue("random_seed", 12345)
node.setPropertyValue("optimize", "Speed")
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("width", 3)
node.setPropertyValue("length", 3)
node.setPropertyValue("decay_style", "Exponential")
node.setPropertyValue("phase1_neighborhood", 3)
node.setPropertyValue("phase1_eta", 0.5)
node.setPropertyValue("phase1_cycles", 10)
node.setPropertyValue("phase2_neighborhood", 1)
node.setPropertyValue("phase2_eta", 0.2)
node.setPropertyValue("phase2_cycles", 75)
Propriedades de linearnode
Os modelos de regresso linear preveem uma varivel resposta contnua baseada em
relacionamentos lineares entre a resposta e um ou mais preditores.
Exemplo
node = stream.create("linear", "My node")
# Build Options tab - Objectives panel
node.setPropertyValue("objective", "Standard")
# Build Options tab - Model Selection panel
node.setPropertyValue("model_selection", "BestSubsets")
node.setPropertyValue("criteria_best_subsets", "ASE")
# Build Options tab - Ensembles panel
node.setPropertyValue("combining_rule_categorical", "HighestMeanProbability")
Propriedades de linearasnode
Os modelos de regresso linear preveem uma varivel resposta contnua baseada em
relacionamentos lineares entre a resposta e um ou mais preditores.
Propriedades de logregnode
A regresso logstica uma tcnica estatstica para ordenar registros com base em valores de
campos de entrada. Ela anloga regresso linear, mas usa um campo de varivel resposta
categrica em vez de um intervalo numrico.
Exemplo Multinomial
node = stream.create("logreg", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("target", "Drug")
node.setPropertyValue("inputs", ["BP", "Cholesterol", "Age"])
node.setPropertyValue("partition", "Test")
# "Model" tab
node.setPropertyValue("use_model_name", True)
node.setPropertyValue("model_name", "Log_reg Drug")
node.setPropertyValue("use_partitioned_data", True)
node.setPropertyValue("method", "Stepwise")
node.setPropertyValue("logistic_procedure", "Multinomial")
node.setPropertyValue("multinomial_base_category", "BP")
node.setPropertyValue("model_type", "FullFactorial")
node.setPropertyValue("custom_terms", [["BP", "Sex"], ["Age"], ["Na", "K"]])
node.setPropertyValue("include_constant", False)
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("scale", "Pearson")
Exemplo Binomial
node = stream.create("logreg", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("target", "Cholesterol")
node.setPropertyValue("inputs", ["BP", "Drug", "Age"])
node.setPropertyValue("partition", "Test")
# "Model" tab
node.setPropertyValue("use_model_name", False)
node.setPropertyValue("model_name", "Log_reg Cholesterol")
node.setPropertyValue("multinomial_base_category", "BP")
node.setPropertyValue("use_partitioned_data", True)
node.setPropertyValue("binomial_method", "Forwards")
node.setPropertyValue("logistic_procedure", "Binomial")
node.setPropertyValue("binomial_categorical_input", "Sex")
node.setKeyedPropertyValue("binomial_input_contrast", "Sex", "Simple")
node.setKeyedPropertyValue("binomial_input_category", "Sex", "Last")
node.setPropertyValue("include_constant", False)
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("scale", "Pearson")
node.setPropertyValue("scale_value", 3.0)
node.setPropertyValue("all_probabilities", True)
node.setPropertyValue("tolerance", "1.0E-7")
# "Convergence..." seo
node.setPropertyValue("max_iterations", 50)
node.setPropertyValue("l_converge", "1.0E-3")
node.setPropertyValue("p_converge", "1.0E-7")
# "Output..." section
node.setPropertyValue("binomial_output_display", "at_each_step")
node.setPropertyValue("binomial_goodness_of_fit", True)
node.setPropertyValue("binomial_iteration_history", True)
node.setPropertyValue("binomial_parameters", True)
node.setPropertyValue("binomial_ci_enable", True)
node.setPropertyValue("binomial_ci", 85)
# "Stepping" options
node.setPropertyValue("binomial_removal_criterion", "LR")
node.setPropertyValue("binomial_probability_removal", 0.2)
scale None
UserDefined
Pearson
Deviance
scale_value number
all_probabilities sinalizador
tolerance 1.0E-5
1.0E-6
1.0E-7
1.0E-8
1.0E-9
1.0E-10
Propriedades de lsvmnode
O n Support Vector Machine (LSVM) linear permite ordenar dados em um de dois grupos
sem causar super ajuste. O LSVM linear e trabalha bem com conjuntos de dados grandes,
como aqueles com um nmero muito grande de registros. O n LSVM executado quando
conectado ao IBM SPSS Analytic Server.
Propriedades de neuralnetnode
Cuidado: Uma verso mais recente do n de modelagem Rede Neural, com recursos aprimorados, est
disponvel nesta liberao e descrita na prxima seo (neuralnetwork). Embora ainda seja possvel criar
e escorar um modelo com a verso anterior, recomenda-se atualizar seus scripts para utilizar a nova
verso. Os detalhes da verso anterior so mantidos aqui para referncia.
Exemplo
node = stream.create("neuralnet", "My node")
# "Fields" tab
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("targets", ["Drug"])
node.setPropertyValue("inputs", ["Age", "Na", "K", "Cholesterol", "BP"])
# "Model" tab
node.setPropertyValue("use_partitioned_data", True)
node.setPropertyValue("method", "Dynamic")
node.setPropertyValue("train_pct", 30)
node.setPropertyValue("set_random_seed", True)
node.setPropertyValue("random_seed", 12345)
node.setPropertyValue("stop_on", "Time")
node.setPropertyValue("accuracy", 95)
node.setPropertyValue("cycles", 200)
node.setPropertyValue("time", 3)
node.setPropertyValue("optimize", "Speed")
# "Multiple Method Expert Options" section
node.setPropertyValue("m_topologies", "5 30 5; 2 20 3, 1 10 1")
node.setPropertyValue("m_non_pyramids", False)
node.setPropertyValue("m_persistence", 100)
Propriedades de neuralnetworknode
O n Rede Neural utiliza um modelo simplificado da maneira com que o crebro humano
processa informaes. Ele funciona ao simular um grande nmero de unidades de
processamento interconectadas que lembram verses de neurnios abstratas. As redes neurais
so estimadores de funo geral poderosos que requerem conhecimento mnimo em estatstica
ou matemtica para treinamento ou aplicao.
Exemplo
node = stream.create("neuralnetwork", "My node")
# Build Options tab - Objectives panel
node.setPropertyValue("objective", "Standard")
# Build Options tab - Ensembles panel
node.setPropertyValue("combining_rule_categorical", "HighestMeanProbability")
component_models_n nmero
overfit_prevention_pct nmero
use_random_seed sinalizador
random_seed nmero
missing_values listwiseDeletion
missingValueImputation
use_model_name boolean
model_name string
confiana onProbability
onIncrease
score_category_probabilities sinalizador
max_categories nmero
score_propensity sinalizador
use_custom_name sinalizador
custom_name string
tooltip string
palavras-chave string
Propriedades de questnode
O n QUEST fornece um mtodo de classificao binrio para construir rvores de deciso,
projetadas para reduzir o tempo de processamento necessrio para grandes anlises de C e R,
enquanto tambm reduz a tendncia localizada nos mtodos de rvore de classificao para
favorecer entradas que permitam mais divises. Campos de entrada podem ser intervalos
numricos (contnuos), mas o campo de resposta deve ser categrico. Todas as divises so
binrias.
Exemplo
node = stream.create("quest", "My node")
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("target", "Drug")
node.setPropertyValue("inputs", ["Age", "Na", "K", "Cholesterol", "BP"])
node.setPropertyValue("model_output_type", "InteractiveBuilder")
node.setPropertyValue("use_tree_directives", True)
node.setPropertyValue("max_surrogates", 5)
node.setPropertyValue("split_alpha", 0.03)
node.setPropertyValue("use_percentage", False)
node.setPropertyValue("min_parent_records_abs", 40)
node.setPropertyValue("min_child_records_abs", 30)
node.setPropertyValue("prune_tree", True)
node.setPropertyValue("use_std_err", True)
node.setPropertyValue("std_err_multiplier", 3)
Propriedades de regressionnode
A regresso linear uma tcnica de estatstica comum para resumir dados e fazer predies
ao ajustar uma linha ou superfcie reta que minimiza as discrepncias entre os valores de
sada previstos e reais.
Nota: O n Regresso dever ser substitudo pelo n Linear em uma liberao futura. Recomenda-se usar
Modelos Lineares para regresso linear de agora em diante.
Exemplo
Propriedades de sequencenode
O n de Sequncia descobre regras de associao em dados sequenciais ou orientados por
tempo. Uma sequncia uma lista de conjuntos de itens que tende a ocorrer em uma ordem
previsvel. Por exemplo, um cliente que compra um aparelho de barbear e uma loo
ps-barba pode comprar um creme de barbear na prxima compra. O n de Sequncia
baseado no algoritmo das regras de associao CARMA, que usa um mtodo eficiente de dois
passos para localizar sequncias.
Exemplo
node = stream.create("sequence", "My node")
# "Fields" tab
node.setPropertyValue("id_field", "Age")
node.setPropertyValue("contiguous", True)
node.setPropertyValue("use_time_field", True)
node.setPropertyValue("time_field", "Date1")
node.setPropertyValue("content_fields", ["Drug", "BP"])
node.setPropertyValue("partition", "Test")
# "Model" tab
node.setPropertyValue("use_model_name", True)
node.setPropertyValue("model_name", "Sequence_test")
node.setPropertyValue("use_partitioned_data", False)
node.setPropertyValue("min_supp", 15.0)
node.setPropertyValue("min_conf", 14.0)
node.setPropertyValue("max_size", 7)
node.setPropertyValue("max_predictions", 5)
# "Expert" tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("use_max_duration", True)
node.setPropertyValue("max_duration", 3.0)
node.setPropertyValue("use_pruning", True)
node.setPropertyValue("pruning_value", 4.0)
node.setPropertyValue("set_mem_sequences", True)
Propriedades de slrmnode
O n Self-Learning Response Model (SLRM) permite construir um modelo no qual um nico
novo caso, ou um pequeno nmero de novos casos, pode ser usado para estimar novamente
o modelo sem precisar treinar o modelo outra vez usando todos os dados.
Exemplo
node = stream.create("slrm", "My node")
node.setPropertyValue("target", "Offer")
node.setPropertyValue("target_response", "Response")
node.setPropertyValue("inputs", ["Cust_ID", "Age", "Ave_Bal"])
Propriedades de statisticsmodelnode
O n Modelo de Estatsticas permite analisar e trabalhar com seus dados executando os
procedimentos do IBM SPSS Statistics que produzem o PMML. Esse n requer uma cpia
licenciada do IBM SPSS Statistics.
Propriedades de stpnode
O n Spatio-Temporal Prediction (STP) usa dados que contm dados de localizao, campos
de entrada para previso (preditores), um campo de tempo e um campo de resposta. Cada
localizao tem inmeras linhas nos dados que representam os valores de cada preditor em
cada momento da medio. Aps os dados serem analisados, eles podem ser usados para
prever valores de resposta em qualquer localizao dentro dos dados de forma usados na
anlise.
Propriedades de svmnode
O n Support Vector Machine (SVM) permite ordenar dados em dois grupos sem super
ajuste. SVM trabalha bem com conjuntos de dados grandes, como aqueles com um nmero
muito grande de campos de entrada.
Exemplo
node = stream.create("svm", "My node")
# Expert tab
node.setPropertyValue("mode", "Expert")
node.setPropertyValue("all_probabilities", True)
node.setPropertyValue("kernel", "Polynomial")
node.setPropertyValue("gamma", 1.5)
calculate_adjusted_ sinalizador
propensities
adjusted_propensity_partition Teste
Validation
Propriedades de tcmnode
A modelagem causal temporal tenta descobrir relacionamentos causais chave nos dados de
sries temporais. Na modelagem causal temporal, voc especifica um conjunto de sries de
destino e um conjunto de entradas candidatas a esses destinos. Em seguida, o procedimento
constri um modelo de srie temporal autorregressivo para cada destino e inclui somente as
entradas que tiverem o relacionamento causal mais significativo com o destino.
Exemplo
node = stream.create("timeseries", "My node")
node.setPropertyValue("method", "Exsmooth")
node.setPropertyValue("exsmooth_model_type", "HoltsLinearTrend")
node.setPropertyValue("exsmooth_transformation_type", "None")
Propriedades de treeas
O n rvore-AS estar disponvel apenas se voc tiver uma conexo com o IBM SPSS
Analytic Server. Este n semelhante ao n CHAID existente, no entanto, o n rvore-AS
projetado para processar Big Data para criar uma rvore nica e exibe o modelo resultante no
visualizador de sada que foi includo no SPSS Modeler verso 17. O n gera uma rvore de
deciso usando estatsticas qui-quadrado (CHAID) para identificar divises ideais. Essa
utilizao do CHAID pode gerar rvores no binrias, o que significa que algumas divises
possuem mais de duas ramificaes. Os campos de destino e de entrada podem ser um
intervalo numrico (contnuo) ou categricos. Um CHAID exaustivo uma modificao de
CHAID que faz um trabalho mais profundo de examinar todas as divises possveis, porm
demora mais tempo para calcular.
Exemplo
node = stream.create("twostep", "My node")
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("inputs", ["Age", "K", "Na", "BP"])
node.setPropertyValue("partition", "Test")
node.setPropertyValue("use_model_name", False)
node.setPropertyValue("model_name", "TwoStep_Drug")
node.setPropertyValue("use_partitioned_data", True)
node.setPropertyValue("exclude_outliers", True)
node.setPropertyValue("cluster_label", "String")
node.setPropertyValue("label_prefix", "TwoStep_")
node.setPropertyValue("cluster_num_auto", False)
node.setPropertyValue("max_num_clusters", 9)
node.setPropertyValue("min_num_clusters", 3)
node.setPropertyValue("num_clusters", 7)
Distance_jump
Mnimo
Mximo
feature_importance_method use_clustering_criterion_setting
effect_size
use_random_seed Booleano
random_seed integer
distance_measure Euclidean
Loglikelihood
include_outlier_clusters Booleano Default=True
num_cases_in_feature_tree_leaf_is_less_than nmero inteiro Default=10
top_perc_outliers nmero inteiro Default=5
initial_dist_change_threshold nmero inteiro Default=0
leaf_node_maximum_branches nmero inteiro Default=8
non_leaf_node_maximum_branches nmero inteiro Default=8
max_tree_depth nmero inteiro Default=3
adjustment_weight_on_measurement_level nmero inteiro Default=6
memory_allocation_mb number Default=512
delayed_split Booleano Default=True
fields_to_standardize [f1 ... fN]
Propriedades de applyanomalydetectionnode
Os ns de modelagem de Deteco de Anomalias podem ser utilizados para gerar um nugget do modelo
de Deteco de Anomalias. O nome de script deste nugget do modelo applyanomalydetectionnode. Para
obter mais informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
anomalydetectionnode na pgina 157.
Tabela 140. Propriedades de applyanomalydetectionnode.
Propriedades de
applyanomalydetectionnode Valores Descrio da propriedade
anomaly_score_method FlagAndScore Determina quais sadas so criadas para
FlagOnly escoragem.
ScoreOnly
num_fields nmero inteiro Campos para relatrio.
discard_records sinalizador Indica se os registros so descartados a partir da
sada ou no.
discard_anomalous_records sinalizador Indicador que determina se registros anmalos
ou no anmalos devem ser descartados. O
padro off, o que significa que registros no
anmalos so descartados. Caso contrrio, se for
on, registros anmalos sero descartados. Esta
propriedade ser ativada somente se a
propriedade discard_records for ativada.
Propriedades de applyapriorinode
Os ns de modelagem a priori podem ser utilizados para gerar um nugget do modelo a priori. O nome
de script deste nugget do modelo applyapriorinode. Para obter mais informaes sobre como criar script
do prprio n de modelagem, consulte Propriedades de apriorinode na pgina 159.
Tabela 141. Propriedades de applyapriorinode.
Propriedades de applyapriorinode Valores Descrio da propriedade
max_predictions nmero (inteiro)
ignore_unmatached sinalizador
allow_repeats sinalizador
check_basket NoPredictions
Predictions
NoCheck
criterion Confidence
Suporte
RuleSupport
Lift
Deployability
233
Propriedades de applyassociationrulesnode
O n de modelagem Regras de Associao pode ser utilizado para gerar um nugget do modelo de regras
de associao. O nome de script deste nugget do modelo applyassociationrulesnode. Para obter mais
informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
associationrulesnode na pgina 160.
Tabela 142. Propriedades de applyassociationrulesnode
Propriedades de
applyassociationrulesnode Tipo de dados Descrio da propriedade
max_predictions integer O nmero mximo de regras que podem ser
aplicadas a cada entrada na escoragem.
criterion Confidence Seleciona a medida usada para determinar a
Rulesupport fora das regras.
Lift
Conditionsupport
Implementabilidade
allow_repeats Boolean Determina se regras com a mesma predio so
includas na escoragem.
check_input NoPredictions
Predictions
NoCheck
Propriedades de applyautoclassifiernode
Os ns de modelagem Classificador Automtico podem ser utilizados para gerar um nugget do modelo
de Classificador Automtico. O nome de script neste nugget do modelo applyautoclassifiernode. Para
obter mais informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
autoclassifiernode na pgina 162
Tabela 143. Propriedades de applyautoclassifiernode.
Propriedades de
applyautoclassifiernode Valores Descrio da propriedade
flag_ensemble_method Voting Especifica o mtodo utilizado para
ConfidenceWeightedVoting determinar o escore de combinao.
RawPropensityWeightedVoting Essa configurao se aplicar apenas
HighestConfidence se o destino selecionado for um
AverageRawPropensity campo de sinalizao.
flag_voting_tie_selection Random Se um mtodo de votao for
HighestConfidence selecionado, especifica como os
RawPropensity empates sero resolvidos. Essa
configurao se aplicar apenas se o
destino selecionado for um campo de
sinalizao.
set_ensemble_method Voting Especifica o mtodo utilizado para
ConfidenceWeightedVoting determinar o escore de combinao.
HighestConfidence Essa configurao se aplicar apenas
se o destino selecionado for um
campo de conjunto.
Propriedades de applyautoclusternode
Os ns de modelagem de Cluster Automtico podem ser utilizados para gerar um nugget do modelo de
Cluster Automtico. O nome de script deste nugget do modelo applyautoclusternode. Nenhuma outra
propriedade existe para este nugget do modelo. Para obter mais informaes sobre como criar script do
prprio n de modelagem, consulte Propriedades de autoclusternode na pgina 165.
Propriedades de applyautonumericnode
Os ns de modelagem Numerao Automtica podem ser utilizados para gerar um nugget do modelo de
Numerao Automtica. O nome de script deste nugget do modelo applyautonumericnode. Para obter
mais informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
autonumericnode na pgina 166
Tabela 144. Propriedades de applyautonumericnode.
Propriedades de
applyautonumericnode Valores Descrio da propriedade
calculate_standard_error sinalizador
Propriedades de applybayesnetnode
Os ns de modelagem Rede Bayesiana podem ser utilizados para gerar um nugget do modelo Rede
Bayesiana. O nome de script neste nugget do modelo applybayesnetnode. Para obter mais informaes
sobre como criar script do prprio n de modelagem, consulte Propriedades de bayesnetnode na
pgina 167.
Tabela 145. Propriedades de applybayesnetnode.
Propriedades de applybayesnetnode Valores Descrio da propriedade
all_probabilities sinalizador
raw_propensity sinalizador
adjusted_propensity sinalizador
calculate_raw_propensities sinalizador
calculate_adjusted_propensities sinalizador
Propriedades de applycarmanode
Os ns de modelagem CARMA podem ser utilizados para gerar um nugget do modelo CARMA. O nome
de script deste nugget do modelo applycarmanode. Nenhuma outra propriedade existe para este nugget
do modelo. Para obter mais informaes sobre como criar script do prprio n de modelagem, consulte
Propriedades de carmanode na pgina 170.
Propriedades de applycartnode
Os ns de modelagem de rvore C&R podem ser utilizados para gerar um nugget do modelo C&R. O
nome de script deste nugget do modelo applycartnode. Para obter mais informaes sobre como criar
script do prprio n de modelagem, consulte Propriedades de cartnode na pgina 172.
Tabela 147. Propriedades de applycartnode.
Propriedades de applycartnode Valores Descrio da propriedade
sql_generate Never Usado para configurar as opes de
MissingValues gerao de SQL durante a execuo do
NoMissingValues conjunto de regras.
calculate_conf sinalizador Disponvel quando a gerao de SQL est
ativada; essa propriedade inclui clculos de
confiana na rvore gerada.
display_rule_id sinalizador Inclui um campo na sada de escoragem
que indica o ID do n terminal para o qual
cada registro designado.
calculate_raw_propensities sinalizador
calculate_adjusted_propensities sinalizador
Propriedades de applycoxregnode
Os ns de modelagem Cox podem ser utilizados para gerar um nugget do modelo Cox. O nome de script
deste nugget do modelo applycoxregnode. Para obter mais informaes sobre como criar script do
prprio n de modelagem, consulte Propriedades de coxregnode na pgina 176.
Tabela 149. Propriedades de applycoxregnode.
Propriedades de applycoxregnode Valores Descrio da propriedade
future_time_as Intervalos
Campos
time_interval number
num_future_times integer
time_field campo
past_survival_time campo
all_probabilities sinalizador
cumulative_hazard sinalizador
Propriedades de applydecisionlistnode
Os ns de modelagem Lista de Deciso podem ser utilizados para gerar um nugget do modelo Lista de
Deciso. O nome de script deste nugget do modelo applydecisionlistnode. Para obter mais informaes
sobre como criar script do prprio n de modelagem, consulte Propriedades de decisionlistnode na
pgina 177.
Tabela 150. Propriedades de applydecisionlistnode.
Propriedades de
applydecisionlistnode Valores Descrio da propriedade
enable_sql_generation sinalizador Quando true, o IBM SPSS Modeler tenta
enviar por push o modelo de Lista de
Deciso de volta para SQL.
calculate_raw_propensities sinalizador
calculate_adjusted_propensities sinalizador
Propriedades de applyfactornode
Os ns de modelagem PCA/Fator podem ser utilizados para gerar um nugget do modelo PCA/Fator. O
nome de script deste nugget do modelo applyfactornode. Nenhuma outra propriedade existe para este
nugget do modelo. Para obter mais informaes sobre como criar script do prprio n de modelagem,
consulte Propriedades de factornode na pgina 180.
Propriedades de applyfeatureselectionnode
Os ns de modelagem de Seleo de Recurso podem ser utilizados para gerar um nugget do modelo de
Seleo de Recurso. O nome do script deste nugget do modelo applyfeatureselectionnode. Para obter mais
informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
featureselectionnode na pgina 182.
Tabela 152. Propriedades de applyfeatureselectionnode.
Propriedades de
applyfeatureselectionnode Valores Descrio da propriedade
selected_ranked_fields Especifica quais campos classificados so
verificados no navegador do modelo.
selected_screened_fields Especifica quais campos selecionados so
verificados no navegador do modelo.
Propriedades de applygeneralizedlinearnode
Os ns de modelagem Linear Generalizado (genlin) podem ser utilizados para gerar um nugget do
modelo Linear Generalizado. O nome de script deste nugget do modelo applygeneralizedlinearnode. Para
obter mais informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
genlinnode na pgina 183.
Tabela 153. Propriedades de applygeneralizedlinearnode.
Propriedades de
applygeneralizedlinearnode Valores Descrio da propriedade
calculate_raw_propensities sinalizador
calculate_adjusted_propensities sinalizador
Propriedades applygle
O n de modelagem GLE pode ser usado para gerar um nugget do modelo GLE. O nome do script deste
nugget do modelo applygle. Para obter mais informaes sobre como criar script do prprio n de
modelagem, consulte Propriedades gle na pgina 190.
Tabela 155. Propriedades applygle
Propriedades applygle Valores Descrio da propriedade
enable_sql_generation udf Usado para configurar as opes de
native gerao de SQL durante a execuo do
fluxo. Escolha para retroceder ao banco de
dados e escorar utilizando um adaptador
de escoragem do SPSS Modeler Server (se
estiver conectado a um banco de dados
com um adaptador de escoragem instalado)
ou escorar dentro do SPSS Modeler.
Propriedades de applykmeansnode
Os ns de modelagem K-Mdias podem ser utilizados para gerar um nugget do modelo K-Mdias. O
nome de script deste nugget do modelo applykmeansnode. Nenhuma outra propriedade existe para este
nugget do modelo. Para obter mais informaes sobre como criar script do prprio n de modelagem,
consulte Propriedades de kmeansnode na pgina 195.
Propriedades de applykohonennode
Os ns de modelagem Kohonen podem ser utilizados para gerar um nugget do modelo Kohonen. O
nome de script deste nugget do modelo applykohonennode. Nenhuma outra propriedade existe para este
nugget do modelo. Para obter mais informaes sobre como criar script do prprio n de modelagem,
consulte Propriedades de c50node na pgina 169.
Propriedades de applylinearnode
Os ns de modelagem Linear podem ser utilizados para gerar um nugget do modelo Linear. O nome de
script deste nugget do modelo applylinearnode. Para obter mais informaes sobre como criar script do
prprio n de modelagem, consulte Propriedades de linearnode na pgina 199.
Tabela 157. Propriedades de applylinearnode.
Propriedades de linear Valores Descrio da propriedade
use_custom_name sinalizador
custom_name string
enable_sql_generation sinalizador
Propriedades de applylinearasnode
Os ns de modelagem Linear do AS podem ser utilizados para gerar um nugget do modelo Linear do
AS. O nome de script deste nugget do modelo applylinearasnode. Para obter mais informaes sobre
como criar script do prprio n de modelagem, consulte Propriedades de linearasnode na pgina 200.
Tabela 158. Propriedades de applylinearasnode
Propriedades de applylinearasnode Valores Descrio da propriedade
enable_sql_generation udf O valor padro udf.
native
Propriedades de applylogregnode
Os ns de modelagem Regresso Logstica podem ser utilizados para gerar um nugget do modelo
Regresso Logstica. O nome de script deste nugget do modelo applylogregnode. Para obter mais
informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
logregnode na pgina 201.
Tabela 159. Propriedades de applylogregnode.
Propriedades de applylogregnode Valores Descrio da propriedade
calculate_raw_propensities sinalizador
Propriedades de applylsvmnode
Os ns de modelagem LSVM podem ser utilizados para gerar um nugget do modelo LSVM. O nome de
script deste nugget do modelo applylsvmnode. Para obter mais informaes sobre como criar script do
prprio n de modelagem, consulte Propriedades de lsvmnode na pgina 205. O n de modelagem
LSVM executado quando conectado ao IBM SPSS Analytic Server.
Tabela 160. Propriedades de applylsvmnode
Propriedades de applylsvmnode Valores Descrio da propriedade
calculate_raw_propensities sinalizao Especifica se os escores de propenso bruta
devem ser calculados.
enable_sql_generation udf Especifica se escorar usando o Scoring
native Adapter (se instalado) ou no processo, ou
escorar fora do banco de dados.
Propriedades de applyneuralnetnode
Os ns de modelagem Rede Neural podem ser utilizados para gerar um nugget do modelo Rede Neural.
O nome de script deste nugget do modelo applyneuralnetnode. Para obter mais informaes sobre como
criar script do prprio n de modelagem, consulte Propriedades de neuralnetnode na pgina 206.
Cuidado: Uma verso mais recente do nugget Rede Neural, com recursos aprimorados, est disponvel
nesta liberao e descrita na prxima seo (applyneuralnetwork). Embora a verso anterior ainda esteja
disponvel, recomenda-se atualizar seus scripts para utilizar a nova verso. Detalhes da verso anterior
so mantidos aqui para referncia, porm o suporte para ela ser removido em uma liberao futura.
Tabela 161. Propriedades de applyneuralnetnode.
Propriedades de
applyneuralnetnode Valores Descrio da propriedade
calculate_conf sinalizador Disponvel quando a gerao de SQL est
ativada; essa propriedade inclui clculos de
confiana na rvore gerada.
enable_sql_generation sinalizador
nn_score_method Difference
SoftMax
calculate_raw_propensities sinalizador
calculate_adjusted_propensities sinalizador
Propriedades de applyneuralnetworknode
Os ns de modelagem Rede Neural podem ser utilizados para gerar um nugget do modelo Rede Neural.
O nome de script deste nugget do modelo applyneuralnetworknode. Para obter mais informaes sobre
como criar o script do prprio n de modelagem, consulte Propriedades de neuralnetworknode na
pgina 208.
Propriedades de applyquestnode
Os ns de modelagem QUEST podem ser utilizados para gerar um nugget do modelo QUEST. O nome
de script deste nugget do modelo applyquestnode. Para obter mais informaes sobre como criar script
do prprio n de modelagem, consulte Propriedades de questnode na pgina 210.
Tabela 163. Propriedades de applyquestnode.
Propriedades de applyquestnode Valores Descrio da propriedade
sql_generate Never
MissingValues
NoMissingValues
calculate_conf sinalizador
display_rule_id sinalizador Inclui um campo na sada de escoragem
que indica o ID do n terminal para o qual
cada registro designado.
calculate_raw_propensities sinalizador
calculate_adjusted_propensities sinalizador
Propriedades de applyr
Os ns Construo R podem ser utilizados para gerar um nugget do modelo R. O nome de script deste
nugget do modelo applyr. Para obter mais informaes sobre como criar script do prprio n de
modelagem, consulte Propriedades de buildr na pgina 169.
Tabela 164. Propriedades de applyr
Propriedades de applyr Valores Descrio da Propriedade
score_syntax string Sintaxe do script R para escoragem
de modelo.
convert_flags StringsAndDoubles Opo para converter os campos de
LogicalValues sinalizao.
convert_datetime sinalizador Opo para converter variveis com
os formatos de data ou data/hora em
formatos de data/hora R.
convert_datetime_class POSIXct Opes para especificar em qual
POSIXlt formato as variveis com os formatos
de data ou data/hora sero
convertidas.
Propriedades de applyrandomtrees
O n de modelagem rvores aleatrias pode ser usado para gerar um nugget do modelo de rvores
aleatrias. O nome do script desse nugget do modelo applyrandomtrees. Para obter mais informaes
sobre como criar script do prprio n de modelagem, consulte Propriedades de randomtrees na pgina
212.
Tabela 165. propriedades de applyrandomtrees
Propriedades de applyrandomtrees Valores Descrio da propriedade
calculate_conf sinalizao Esta propriedade inclui clculos confiana
na rvore gerada.
enable_sql_generation udf Usado para configurar as opes de
native gerao de SQL durante a execuo do
fluxo. Escolha para retroceder ao banco de
dados e escorar utilizando um adaptador
de escoragem do SPSS Modeler Server (se
estiver conectado a um banco de dados
com um adaptador de escoragem instalado)
ou escorar dentro do SPSS Modeler.
Propriedades de applyregressionnode
Os ns de modelagem Regresso Linear podem ser utilizados para gerar um nugget do modelo
Regresso Linear. O nome de script deste nugget do modelo applyregressionnode. Nenhuma outra
propriedade existe para este nugget do modelo. Para obter mais informaes sobre como criar script do
prprio n de modelagem, consulte Propriedades de regressionnode na pgina 213.
Propriedades de applyselflearningnode
Os ns de modelagem Self-Learning Response Model (SLRM) podem ser utilizados para gerar um nugget
do modelo SLRM. O nome de script deste nugget do modelo applyselflearningnode. Para obter mais
informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de slrmnode
na pgina 216.
Tabela 166. Propriedades de applyselflearningnode.
Propriedades de applyselflearningnode Valores Descrio da propriedade
max_predictions number
randomization number
scoring_random_seed number
sort ascending Especifica se ofertas com as escoragens mais
descending altas ou mais baixas sero exibidas primeiro.
model_reliability sinalizador Leva em conta a opo de confiabilidade do
modelo na guia Configuraes.
Propriedades de applysvmnode
Os ns de modelagem SVM podem ser utilizados para gerar um nugget do modelo SVM. O nome de
script deste nugget do modelo applysvmnode. Para obter mais informaes sobre como criar script do
prprio n de modelagem, consulte Propriedades de svmnode na pgina 221.
Tabela 167. Propriedades de applysvmnode.
Propriedades de applysvmnode Valores Descrio da propriedade
all_probabilities sinalizador
calculate_raw_propensities sinalizador
calculate_adjusted_propensities sinalizador
Propriedades de applystpnode
O n de modelagem STP pode ser utilizado para gerar um nugget do modelo associado que exibe a sada
do modelo no Visualizador de Sada. O nome do script deste nugget do modelo applystpnode. Para obter
mais informaes sobre como criar script do prprio n de modelagem, consulte Propriedades de
stpnode na pgina 217.
Tabela 168. Propriedades de applystpnode
Propriedades de applystpnode Tipo de dados Descrio da propriedade
uncertainty_factor Boolean Mnimo 0, mximo 100.
Propriedades de applytcmnode
Os ns de modelagem Temporal Causal Modeling (TCM) podem ser utilizados para gerar um nugget do
modelo TCM. O nome de script deste nugget do modelo applytcmnode. Para obter mais informaes
sobre como criar script do prprio n de modelagem, consulte Propriedades de tcmnode na pgina 222.
Tabela 169. Propriedades de applytcmnode
Propriedades de applytcmnode Valores Descrio da propriedade
ext_future boolean
ext_future_num integer
noise_res boolean
conf_limits boolean
target_fields list
target_series list
Propriedades de applytreeas
Os ns de modelagem rvore do AS podem ser utilizados para gerar um nugget do modelo rvore do
AS. O nome de script deste nugget do modelo applytreenas. Para obter mais informaes sobre como
criar script do prprio n de modelagem, consulte Propriedades de treeas na pgina 228.
Tabela 171. Propriedades de applytreeas
Propriedades de applytreeas Valores Descrio da propriedade
calculate_conf sinalizao Esta propriedade inclui clculos confiana
na rvore gerada.
display_rule_id sinalizao Inclui um campo na sada de escoragem
que indica o ID do n terminal para o qual
cada registro designado.
enable_sql_generation udf Usado para configurar as opes de
native gerao de SQL durante a execuo do
fluxo. Escolha para retroceder ao banco de
dados e escorar utilizando um adaptador
de escoragem do SPSS Modeler Server (se
estiver conectado a um banco de dados
com um adaptador de escoragem instalado)
ou escorar dentro do SPSS Modeler.
Propriedades de applytwostepnode
Os ns de modelagem TwoStep podem ser utilizados para gerar um nugget do modelo TwoStep. O nome
de script deste nugget do modelo applytwostepnode. Nenhuma outra propriedade existe para este nugget
do modelo. Para obter mais informaes sobre como criar script do prprio n de modelagem, consulte
Propriedades de twostepnode na pgina 230.
Propriedades de applytwostepAS
Os ns de modelagem TwoStep AS podem ser utilizados para gerar um nugget do modelo TwoStep AS.
O nome de script deste nugget do modelo applytwostepAS. Nenhuma outra propriedade existe para este
nugget do modelo. Para obter mais informaes sobre como criar script do prprio n de modelagem,
consulte Propriedades de twostepAS na pgina 231.
Por exemplo, o fragmento de script a seguir ilustra a criao de um modelo do Microsoft Decision Trees
utilizando a interface de script do IBM SPSS Modeler:
stream = modeler.script.stream()
msbuilder = stream.createAt("mstreenode", "MSBuilder", 200, 200)
msbuilder.setPropertyValue("analysis_server_name", localhost)
msbuilder.setPropertyValue("analysis_database_name", TESTDB)
msbuilder.setPropertyValue("mode", Expert)
msbuilder.setPropertyValue("datasource", LocalServer)
msbuilder.setPropertyValue("target", Drug)
msbuilder.setPropertyValue("inputs", [Age, Sex])
msbuilder.setPropertyValue("unique_field", IDX)
msbuilder.setPropertyValue("custom_fields", True)
msbuilder.setPropertyValue("model_name", MSDRUG)
rvore de Deciso da MS
Cluster da MS
Regras de associao da MS
Naive Bayes da MS
Regresso linear da MS
Rede Neural da MS
Regresso logstica da MS
Sries temporais da MS
Parmetros do algoritmo
Cada tipo de modelo de banco de dados da Microsoft possui parmetros especficos que podem ser
configurados utilizando a propriedade msas_parameters, por exemplo:
stream = modeler.script.stream()
msregressionnode = stream.findByType("msregression", None)
msregressionnode.setPropertyValue("msas_parameters", [["MAXIMUM_INPUT_ATTRIBUTES", 255],
["MAXIMUM_OUTPUT_ATTRIBUTES", 255]])
Esses parmetros so derivados do SQL Server. Para ver os parmetros relevantes para cada n:
1. Coloque um n de origem do banco de dados na tela.
2. Abra o n de origem do banco de dados.
3. Selecione uma origem vlida na lista suspensa da Origem de dados.
4. Selecione uma tabela vlida na lista Nome da tabela.
5. Clique em OK para fechar o n de origem do banco de dados.
6. Anexe o n de modelagem do banco de dados da Microsoft cujas propriedades voc deseja listar.
7. Abra o n de modelagem do banco de dados.
8. Selecione a guia Especialista.
rvore de Deciso da MS
Tabela 175. Propriedades da rvore de Deciso da MS.
Propriedades de applymstreenode Valores Descrio
analysis_database_name string Esse n pode ser pontuado diretamente em um fluxo.
Regresso linear da MS
Rede Neural da MS
Tabela 177. Propriedades de Rede Neural da MS.
Propriedades de
applymsneuralnetworknode Valores Descrio
analysis_database_name string Esse n pode ser pontuado diretamente em um fluxo.
Regresso logstica da MS
Tabela 178. Propriedades da Regresso Logstica da MS.
Propriedades de applymslogisticnode Valores Descrio
analysis_database_name string Esse n pode ser pontuado diretamente em um fluxo.
Sries temporais da MS
Tabela 179. Sries Temporais da MS.
Propriedades de
applymstimeseriesnode Valores Descrio
analysis_database_name string Esse n pode ser pontuado diretamente em um fluxo.
Cluster-O da Oracle
K-Mdias da Oracle
NMF da Oracle
A priori da Oracle
Cluster-O da Oracle
K-Mdias da Oracle
NMF da Oracle
A priori da Oracle
MDL da Oracle
Associao da ISW
Sequncia da ISW
Regresso da ISW
O mnimo 1.
use_input_sample_size sinalizador Se true, configura automaticamente o valor como o
padro.
input_sample_size integer O padro 2.
O mnimo 1.
use_max_num_centers sinalizador Se true, configura automaticamente o valor como o
padro.
max_num_centers integer O padro 20.
O mnimo 1.
use_min_region_size sinalizador Se true, configura automaticamente o valor como o
padro.
min_region_size integer O padro 15.
O mnimo 1.
O mnimo 2.
use_min_data_passes sinalizador Se true, configura automaticamente o valor como o
padro.
min_data_passes integer O padro 5.
O mnimo 2.
Cluster da ISW
Associao da ISW
Sequncia da ISW
Regresso da ISW
Cluster da ISW
em que:
<dsn> o nome da origem de dados
<username> e <psw> so o nome do usurio e a senha
para o banco de dados
<catname> o nome do catlogo
<conn_attribs> so os atributos de conexo
true | false indica se a senha necessria.
table_name string Nome da tabela de banco de dados na qual o modelo
deve ser armazenado.
use_model_name sinalizador Se true, utilizar o nome especificado por model_name
como o nome do modelo, caso contrrio, o nome do
modelo ser criado pelo sistema.
model_name string Nome customizado para o novo modelo.
include_input_fields sinalizador Se true, transmitir todos os campos de entrada de
recebimento de dados, caso contrrio, transmitir apenas
o record_id e campos gerados pelo modelo.
K-Mdias Netezza
KNN Netezza
PCA Netezza
Exemplo:
set NZ_DT1.timerange_setting =
SP
set NZ_DT1.earliest_time =
1921-01-01
set NZ_DT1.latest_time =
2121-01-01
arima_setting SD Configurao para o algoritmo
SP ARIMA (usado apenas se
algorithm_name for configurado para
ARIMA):
SD - determinado pelo sistema
SP - especificado pelo usurio
sd_symbol
sq_symbol
p integer ARIMA - graus no sazonais de
autocorrelao.
q integer ARIMA - valor de derivao no
sazonal.
d integer ARIMA - nmero no sazonal de
pedidos mdios mveis no modelo.
sp integer ARIMA - graus sazonais de
autocorrelao.
sq integer ARIMA - valor de derivao sazonal.
sd integer ARIMA - nmero sazonal de pedidos
mdios mveis no modelo.
advanced_setting SD Determina como as configuraes
SP avanadas devem ser manipuladas:
SD - determinado pelo sistema
SP - especificado pelo usurio por
meio de period , units_period e
forecast_setting.
Exemplo:
set NZ_DT1.advanced_setting = SP
set NZ_DT1.period = 5
set NZ_DT1.units_period = d
period integer Comprimento do ciclo sazonal,
especificado em conjunto com
units_period. No aplicvel para
anlise espectral.
units_period ms Unidades na qual period expresso:
s ms milissegundos
min s segundos
h min - minutos
d h horas
wk d dias
q wk - semanas
y q trimestres
y anos
Exemplo:
[[["K","BP","Sex","K"],[0,0,0,0]],
[["Age","Na"],[0,0]]]
intercept sinalizador Se true, inclui a interceptao no
modelo.
Propriedades de analysisnode
O n Anlise avalia a capacidade de modelos preditivos de gerar predies exatas. Os ns de
anlise executam vrias comparaes entre os valores preditos e os valores reais para um ou
mais nuggets do modelo. Eles tambm podem comparar modelos preditivos entre si.
Example
node = stream.create("analysis", "My node")
# "Analysis" tab
node.setPropertyValue("coincidence", True)
node.setPropertyValue("performance", True)
node.setPropertyValue("confidence", True)
node.setPropertyValue("threshold", 75)
node.setPropertyValue("improve_accuracy", 3)
node.setPropertyValue("inc_user_measure", True)
# "Define User Measure..."
node.setPropertyValue("user_if", "@TARGET = @PREDICTED")
node.setPropertyValue("user_then", "101")
node.setPropertyValue("user_else", "1")
node.setPropertyValue("user_compute", ["Mean", "Sum"])
node.setPropertyValue("by_fields", ["Drug"])
# "Output" tab
node.setPropertyValue("output_format", "HTML")
node.setPropertyValue("full_filename", "C:/output/analysis_out.html")
275
Tabela 218. Propriedades de analysisnode (continuao).
Propriedades de analysisnode Tipo de dados Descrio da propriedade
confidence sinalizador
threshold number
improve_accuracy number
inc_user_measure sinalizador
user_if expr
user_then expr
user_else expr
user_compute [Mean Sum Min Max
SDev]
Propriedades de dataauditnode
O n Auditoria de Dados fornece uma primeira viso abrangente dos dados, incluindo
estatsticas de resumo, histogramas e distribuio para cada campo, bem como informaes
sobre valores discrepantes, valores omissos e valores extremos. Os resultados so exibidos em
uma matriz de fcil leitura e podem ser classificados e utilizados para gerar grficos de
tamanho completo e ns de preparao de dados.
Exemplo
filenode = stream.createAt("variablefile", "File", 100, 100)
filenode.setPropertyValue("full_filename", "$CLEO_DEMOS/DRUG1n")
node = stream.createAt("dataaudit", "My node", 196, 100)
stream.link(filenode, node)
node.setPropertyValue("custom_fields", True)
node.setPropertyValue("fields", ["Age", "Na", "K"])
node.setPropertyValue("display_graphs", True)
node.setPropertyValue("basic_stats", True)
node.setPropertyValue("advanced_stats", True)
node.setPropertyValue("median_stats", False)
node.setPropertyValue("calculate", ["Count", "Breakdown"])
node.setPropertyValue("outlier_detection_method", "std")
node.setPropertyValue("outlier_detection_std_outlier", 1.0)
node.setPropertyValue("outlier_detection_std_extreme", 3.0)
node.setPropertyValue("output_mode", "Screen")
Propriedades de matrixnode
O n Matriz cria uma tabela que mostra relacionamentos entre campos. Ele usado mais
normalmente para mostrar o relacionamento entre dois campos simblicos, como tambm
pode mostrar relacionamentos entre campos sinalizadores ou campos numricos.
Exemplo
node = stream.create("matrix", "My node")
# "Settings" tab
node.setPropertyValue("fields", "Numerics")
node.setPropertyValue("row", "K")
node.setPropertyValue("column", "Na")
Propriedades de meansnode
O n Mdia compara a mdia entre grupos independentes ou entre pares de campos
relacionados para testar se h uma diferena significativa. Por exemplo, possvel comparar
receitas mdias antes e depois de realizar uma promoo ou comparar receitas de clientes que
no receberam a promoo com aqueles que receberam.
Exemplo
node = stream.create("means", "My node")
node.setPropertyValue("means_mode", "BetweenFields")
node.setPropertyValue("paired_fields", [["OPEN_BAL", "CURR_BAL"]])
node.setPropertyValue("label_correlations", True)
node.setPropertyValue("output_view", "Advanced")
node.setPropertyValue("output_mode", "File")
node.setPropertyValue("output_format", "HTML")
node.setPropertyValue("full_filename", "C:/output/means_output.html")
Exemplo
node = stream.create("report", "My node")
node.setPropertyValue("output_format", "HTML")
node.setPropertyValue("full_filename", "C:/report_output.html")
node.setPropertyValue("lines_per_page", 50)
node.setPropertyValue("title", "Report node created by a script")
node.setPropertyValue("highlights", False)
Propriedades de routputnode
O n Sada R permite analisar dados e os resultados da
escoragem de modelo utilizando seu prprio script R
customizado. A sada da anlise pode ser texto ou grfico.
A sada includa na guia Sada da rea de janela do
gerenciador; como alternativa, a sada pode ser
redirecionada para um arquivo.
Propriedades de setglobalsnode
O n Configurar Globais varre os dados e calcula os valores de resumo que podem ser
utilizados em expresses do CLEM. Por exemplo, possvel utilizar esse n para calcular as
estatsticas para um campo chamado age e, em seguida, utilizar a mdia geral de age em
expresses do CLEM ao inserir a funo @GLOBAL_MEAN(age).
Exemplo
node = stream.create("setglobals", "My node")
node.setKeyedPropertyValue("globals", "Na", ["Max", "Sum", "Mean"])
node.setKeyedPropertyValue("globals", "K", ["Max", "Sum", "Mean"])
node.setKeyedPropertyValue("globals", "Age", ["Max", "Sum", "Mean", "SDev"])
node.setPropertyValue("clear_first", False)
node.setPropertyValue("show_preview", True)
Propriedades de simfitnode
O n Ajuste de Simulao examina a distribuio estatstica dos dados em cada campo e gera
(ou atualiza) um n Gerar Simulao com a melhor distribuio de ajuste designada a cada
campo. Em seguida, o n Gerar Simulao poder ser utilizado para gerar dados simulados.
Propriedades de statisticsnode
O n Estatsticas fornece informaes de resumo bsicas sobre campos numricos. Ela calcula
as estatsticas de resumo para campos individuais e correlaes entre os campos.
Exemplo
node = stream.create("statistics", "My node")
# "Settings" tab
node.setPropertyValue("examine", ["Age", "BP", "Drug"])
node.setPropertyValue("statistics", ["Mean", "Sum", "SDev"])
node.setPropertyValue("correlate", ["BP", "Drug"])
# "Correlation Labels..." seo
node.setPropertyValue("label_correlations", True)
node.setPropertyValue("weak_below_absolute", 0.25)
node.setPropertyValue("weak_label", "lower quartile")
node.setPropertyValue("strong_above_absolute", 0.75)
node.setPropertyValue("medium_label", "middle quartiles")
node.setPropertyValue("strong_label", "upper quartile")
# "Output" tab
node.setPropertyValue("full_filename", "c:/output/statistics_output.html")
node.setPropertyValue("output_format", "HTML")
Propriedades de statisticsoutputnode
O n Sada de Estatsticas permite chamar um procedimento do IBM SPSS Statistics para
analisar seus dados do IBM SPSS Modeler. Uma ampla variedade de procedimentos de
analtica do IBM SPSS Statistics est disponvel. Esse n requer uma cpia licenciada do IBM
SPSS Statistics.
Propriedades de tablenode
O n Tabela exibe os dados em formato de tabela, que tambm podem ser gravados em um
arquivo. Isso til a qualquer momento em que precisar inspecionar seu valores de dados ou
export-los em um formato facilmente legvel.
Exemplo
Propriedades de transformnode
O n Transformar permite selecionar e visualizar os resultados das transformaes antes de
aplic-las aos campos selecionados.
Propriedades de asexport
A exportao do Analytic Server permite executar um fluxo no Hadoop Distributed File System (HDFS).
Exemplo
node = stream.create("asexport", "My node")
node.setPropertyValue("data_source", "Drug1n")
node.setPropertyValue("export_mode", "overwrite")
Propriedades de cognosexportnode
O n de exportao do IBM Cognos BI exporta dados em um formato que pode ser lido por
bancos de dados do Cognos BI.
Para este n, deve-se definir uma conexo Cognos e uma conexo ODBC.
289
Conexo do Cognos
As propriedades para a conexo Cognos so as seguintes.
Tabela 232. Propriedades de cognosexportnode
Propriedades de
cognosexportnode Tipo de dados Descrio da propriedade
cognos_connection ["string","flag","string","string","string"] Uma propriedade de lista que contm os
detalhes de conexo com o servidor
Cognos. O formato :
["Cognos_server_URL", login_mode,
"namespace", "username", "password"]
em que:
Cognos_server_URL a URL do servidor
Cognos que contm a origem.
login_mode indica se login annimo
usado e true ou false; se configurado
para true, os campos a seguir devero
ser configurados para "".
namespace especifica o provedor de
autenticao de segurana utilizado para
efetuar logon no servidor.
username e password so aqueles
utilizados para efetuar logon no servidor
Cognos.
Em que stored_credential_name o
nome de uma credencial do Cognos no
repositrio.
cognos_package_name string O caminho e o nome do pacote do
Cognos para o qual voc est exportando
dados, por exemplo:
/Public Folders/MyPackage
cognos_datasource string
cognos_export_mode Publish
ExportFile
cognos_filename string
Propriedades de databaseexportnode
O n Exportao de Banco de Dados grava dados em uma origem de dados relacionais
compatvel com ODBC. Para gravar em uma origem de dados ODBC, a origem de dados
dever existir e voc dever ter permisso de gravao para ela.
Exemplo
Assumes a datasource named "MyDatasource" has been configured
stream = modeler.script.stream()
db_exportnode = stream.createAt("databaseexport", "DB Export", 200, 200)
applynn = stream.findByType("applyneuralnetwork", None)
stream.link(applynn, db_exportnode)
# Export tab
db_exportnode.setPropertyValue("username", "user")
db_exportnode.setPropertyValue("datasource", "MyDatasource")
db_exportnode.setPropertyValue("password", "password")
db_exportnode.setPropertyValue("table_name", "predictions")
db_exportnode.setPropertyValue("write_mode", "Create")
db_exportnode.setPropertyValue("generate_import", True)
db_exportnode.setPropertyValue("drop_existing_table", True)
db_exportnode.setPropertyValue("delete_existing_rows", True)
db_exportnode.setPropertyValue("default_string_size", 32)
# Schema dialog
db_exportnode.setKeyedPropertyValue("type", "region", "VARCHAR(10)")
db_exportnode.setKeyedPropertyValue("export_db_primarykey", "id", True)
db_exportnode.setPropertyValue("use_custom_create_table_command", True)
db_exportnode.setPropertyValue("custom_create_table_command", "My SQL Code")
# Indexes dialog
db_exportnode.setPropertyValue("use_custom_create_index_command", True)
db_exportnode.setPropertyValue("custom_create_index_command", "CREATE BITMAP INDEX <index-name>
ON <table-name> <(index-columns)>")
db_exportnode.setKeyedPropertyValue("indexes", "MYINDEX", ["fields", ["id", "region"]])
Nota: Para alguns bancos de dados, possvel especificar que as tabelas de banco de dados sejam criadas
para exportao com compactao (por exemplo, o equivalente a CREATE TABLE MYTABLE (...) COMPRESS
YES; em SQL). As propriedades use_compression e compression_mode so fornecidas para suportar esse
recurso, conforme a seguir.
Tabela 234. Propriedades de databaseexportnode usando recursos de compactao.
Propriedades de databaseexportnode Tipo de dados Descrio da propriedade
use_compression Booleano Se configurado para True, cria tabelas para
exportao com compactao.
compression_mode Row Configura o nvel de compactao para bancos
Page de dados SQL Server.
Default Define o nvel de compactao para bancos de
Direct_Load_Operations dados Oracle. Observe que os valores OLTP,
All_Operations Query_High, Query_Low, Archive_High e
Basic Archive_Low requerem no mnimo o Oracle
OLTP 11gR2.
Query_High
Query_Low
Archive_High
Archive_Low
Exemplo mostrando como alterar o comando CREATE INDEX para um ndice especfico:
db_exportnode.setKeyedPropertyValue("indexes", "MYINDEX", ["use_custom_create_index_command",
True])db_exportnode.setKeyedPropertyValue("indexes", "MYINDEX", ["custom_create_index_command",
"CREATE BITMAP INDEX <index-name> ON <table-name> <(index-columns)>"])
Exemplo
stream = modeler.script.stream()
datacollectionexportnode = stream.createAt("datacollectionexport", "Data Collection", 200, 200)
datacollectionexportnode.setPropertyValue("metadata_file", "c:\\museums.mdd")
datacollectionexportnode.setPropertyValue("merge_metadata", "Overwrite")
datacollectionexportnode.setPropertyValue("casedata_file", "c:\\museumdata.sav")
datacollectionexportnode.setPropertyValue("generate_import", True)
datacollectionexportnode.setPropertyValue("enable_system_variables", True)
Propriedades de excelexportnode
O n de exportao do Excel gera dados no formato de arquivo .xlsx do Microsoft Excel.
Opcionalmente, voc pode optar por ativar o Excel automaticamente e abrir o arquivo
exportado quando o n for executado.
Exemplo
stream = modeler.script.stream()
excelexportnode = stream.createAt("excelexport", "Excel", 200, 200)
excelexportnode.setPropertyValue("full_filename", "C:/output/myexport.xlsx")
excelexportnode.setPropertyValue("excel_file_type", "Excel2007")
excelexportnode.setPropertyValue("inc_field_names", True)
excelexportnode.setPropertyValue("inc_labels_as_cell_notes", False)
excelexportnode.setPropertyValue("launch_application", True)
excelexportnode.setPropertyValue("generate_import", True)
Propriedades de outputfilenode
O n Flat File Export gera dados para um arquivo de texto delimitado. Ele til para
exportar dados que podem ser lidos por outro software de anlise ou de planilha.
Exemplo
stream = modeler.script.stream()
outputfile = stream.createAt("outputfile", "File Output", 200, 200)
outputfile.setPropertyValue("full_filename", "c:/output/flatfile_output.txt")
outputfile.setPropertyValue("write_mode", "Append")
outputfile.setPropertyValue("inc_field_names", False)
outputfile.setPropertyValue("use_newline_after_records", False)
outputfile.setPropertyValue("delimit_mode", "Tab")
outputfile.setPropertyValue("other_delimiter", ",")
outputfile.setPropertyValue("quote_mode", "Double")
outputfile.setPropertyValue("other_quote", "*")
outputfile.setPropertyValue("decimal_symbol", "Period")
outputfile.setPropertyValue("generate_import", True)
inc_field_names sinalizador
use_newline_after_records sinalizador
delimit_mode Comma
Tab
Espao
Outro
other_delimiter char
Propriedades de sasexportnode
O n de exportao SAS gera dados em formato do SAS a serem lidos no SAS ou em um
pacote de software compatvel com o SAS. Trs os formatos de arquivo SAS esto disponveis:
SAS para Windows/OS2, SAS para UNIX ou SAS Verso 7/8.
Exemplo
stream = modeler.script.stream()
sasexportnode = stream.createAt("sasexport", "SAS Export", 200, 200)
sasexportnode.setPropertyValue("full_filename", "c:/output/SAS_output.sas7bdat")
sasexportnode.setPropertyValue("format", "SAS8")
sasexportnode.setPropertyValue("export_names", "NamesAndLabels")
sasexportnode.setPropertyValue("generate_import", True)
Propriedades de statisticsexportnode
O n Exportao de Estatsticas gera dados no formato IBM SPSS Statistics .sav ou .zsav. Os
arquivos .sav ou .zsav podem ser lidos pelo IBM SPSS Statistics Base e por outros produtos.
Este tambm o formato utilizado para arquivos em cache no IBM SPSS Modeler.
Por exemplo:
TM1_export.setPropertyValue("tm1_connection",
[Planning Sample, "admin" "apple"])
admin_host string Nota: Somente a partir da verso 17.1
Exemplo
stream = modeler.script.stream()
xmlexportnode = stream.createAt("xmlexport", "XML Export", 200, 200)
xmlexportnode.setPropertyValue("full_filename", "c:/export/data.xml")
xmlexportnode.setPropertyValue("map", [["/catalog/book/genre", "genre"], ["/catalog/book/title", "title"]])
Exemplo
stream = modeler.script.stream()
statisticsimportnode = stream.createAt("statisticsimport", "SAV Import", 200, 200)
statisticsimportnode.setPropertyValue("full_filename", "C:/data/drug1n.sav")
statisticsimportnode.setPropertyValue("import_names", True)
statisticsimportnode.setPropertyValue("import_data", True)
Propriedades de statisticstransformnode
O n Transformao de Estatsticas executa uma seleo de comandos de sintaxe do IBM
SPSS Statistics com relao s origens de dados no IBM SPSS Modeler. Esse n requer uma
cpia licenciada do IBM SPSS Statistics.
Exemplo
stream = modeler.script.stream()
statisticstransformnode = stream.createAt("statisticstransform", "Transform", 200, 200)
statisticstransformnode.setPropertyValue("syntax", "COMPUTE NewVar = Na + K.")
statisticstransformnode.setKeyedPropertyValue("new_name", "NewVar", "Mixed Drugs")
statisticstransformnode.setPropertyValue("check_before_saving", True)
301
Tabela 242. Propriedades de statisticstransformnode
Propriedades de statisticstransformnode Tipo de dados Descrio da propriedade
syntax string
check_before_saving sinalizador Valida a sintaxe inserida antes de
salvar as entradas. Exibir uma
mensagem de erro se a sintaxe for
invlida.
default_include sinalizador Consulte o tpico Propriedades de
filternode na pgina 125 para
obter mais informaes.
include sinalizador Consulte o tpico Propriedades de
filternode na pgina 125 para
obter mais informaes.
new_name string Consulte o tpico Propriedades de
filternode na pgina 125 para
obter mais informaes.
Propriedades de statisticsmodelnode
O n Modelo de Estatsticas permite analisar e trabalhar com seus dados executando os
procedimentos do IBM SPSS Statistics que produzem o PMML. Esse n requer uma cpia
licenciada do IBM SPSS Statistics.
Exemplo
stream = modeler.script.stream()
statisticsmodelnode = stream.createAt("statisticsmodel", "Model", 200, 200)
statisticsmodelnode.setPropertyValue("syntax", "COMPUTE NewVar = Na + K.")
statisticsmodelnode.setKeyedPropertyValue("new_name", "NewVar", "Mixed Drugs")
Propriedades de statisticsoutputnode
O n Sada de Estatsticas permite chamar um procedimento do IBM SPSS Statistics para
analisar seus dados do IBM SPSS Modeler. Uma ampla variedade de procedimentos de
analtica do IBM SPSS Statistics est disponvel. Esse n requer uma cpia licenciada do IBM
SPSS Statistics.
Exemplo
Propriedades de statisticsexportnode
O n Exportao de Estatsticas gera dados no formato IBM SPSS Statistics .sav ou .zsav. Os
arquivos .sav ou .zsav podem ser lidos pelo IBM SPSS Statistics Base e por outros produtos.
Este tambm o formato utilizado para arquivos em cache no IBM SPSS Modeler.
Exemplo
stream = modeler.script.stream()
statisticsexportnode = stream.createAt("statisticsexport", "Export", 200, 200)
statisticsexportnode.setPropertyValue("full_filename", "c:/output/SPSS_Statistics_out.sav")
statisticsexportnode.setPropertyValue("field_names", "Names")
statisticsexportnode.setPropertyValue("launch_application", True)
statisticsexportnode.setPropertyValue("generate_import", True)
Parmetros de SuperNode
possvel utilizar scripts para criar ou configurar parmetros de SuperNode usando o formato geral:
mySuperNode.setParameterValue("minvalue", 30)
Criando SuperNodes
Se desejar criar um SuperNode e seu contedo desde o incio, ser possvel fazer isso de forma
semelhante ao criar o SuperNode, acessar o diagrama filho e criar os ns que desejar. Assegure-se
tambm de que os ns no diagrama de SuperNode tambm estejam vinculados aos ns do conector de
entrada e/ou de sada. Por exemplo, se desejar criar um SuperNode de processo:
process_supernode = modeler.script.stream().createAt("process_super", "My SuperNode", 200, 200)
childDiagram = process_supernode.getChildDiagram()
filternode = childDiagram.createAt("filter", "My Filter", 100, 100)
childDiagram.linkFromInputConnector(filternode)
childDiagram.linkToOutputConnector(filternode)
305
306 Guia de Script e Automao Python do IBM SPSS Modeler 17.1
Apndice A. Referncia de nomes de ns
Esta seo fornece uma referncia para os nomes de script dos ns no IBM SPSS Modeler.
Observe que esses nomes so utilizados especificamente para referenciar nuggets do modelo na paleta
Modelos (no canto superior direito da janela do IBM SPSS Modeler). Para ns de modelo de referncia
que foram includos em um fluxo para fins de pontuao, um conjunto diferente de nomes prefixados
com apply... utilizado. Consulte o tpico Propriedades do N de Nugget do Modelo para obter mais
informaes.
Nota: Sob circunstncias normais, referenciar modelos por nome e tambm por tipo recomendado para
evitar confuso.
Tabela 246. Nomes do Nugget do Modelo (Paleta de Modelagem).
Nome do modelo Modelo
anomalydetection Anomalia
a priori a priori
autoclassifier Classificador Automtico
autocluster Cluster automtico
autonumeric Numerao Automtica
bayesnet rede bayesiana
c50 C5.0
carma Carma
carrinho rvore C&R
chaid CHAID
coxreg Regresso de Cox
decisionlist Lista de Deciso
discriminant Discriminante
fator PCA/Fator
featureselection Seleo de Variveis
genlin Regresso linear generalizada
glmm GLMM
kmeans K-Mdias
knn vizinho k mais prximo
kohonen Kohonen
linear Linear
logreg Regresso logstica
neuralnetwork Rede neural
quest QUEST
307
Tabela 246. Nomes do Nugget do Modelo (Paleta de Modelagem) (continuao).
Nome do modelo Modelo
regression Regresso linear
sequence Sequncia
slrm Modelo de resposta de autoaprendizado
statisticsmodel Modelo do IBM SPSS Statistics
svm Support Vector Machine
timeseries Sries temporais
twostep TwoStep
O comportamento da execuo do script pode variar entre o SPSS Modeler e o IBM SPSS Collaboration
and Deployment Services quando houver referncias de modelo ambguas. O cliente do SPSS Modeler
inclui a opo "Substituir modelo anterior" que substitui automaticamente os modelos que tiverem o
mesmo nome (por exemplo, onde um script iterar atravs de um loop para produzir um modelo diferente
todas as vezes). No entanto, essa opo no est disponvel quando o mesmo script for executado no IBM
SPSS Collaboration and Deployment Services. possvel evitar esta situao renomeando o modelo
gerado em cada iterao para evitar referncias ambguas aos modelos ou limpando o modelo atual (por
exemplo, incluir uma instruo clear generated palette) antes do trmino do loop.
Diferenas gerais
O script legado deve muito de seu design aos scripts de comando do S.O. O script de legado orientado
por linha e, embora haja algumas estruturas de bloco, por exemplo, if...then...else...endif e
for...endfor, a indentao geralmente no significativa.
No script Python, a indentao significativa e as linhas pertencentes ao mesmo bloco lgico devem ser
indentadas pelo mesmo nvel.
Nota: necessrio ter ateno ao copiar e colar o cdigo Python. Uma linha que indentada utilizando
guias pode parecer igual no editor a uma linha que indentada utilizando espaos. No entanto, o script
Python gerar um erro porque as linhas no so consideradas como igualmente indentadas.
O contexto de script
O contexto de script define o ambiente no qual o script est sendo executado, por exemplo, o fluxo ou
SuperNode que executa o script. No script legado, o contexto implcito, o que significa, por exemplo,
que todas as referncias de n em um script de fluxo so assumidas como estando dentro do fluxo que
executa o script.
No script Python, o contexto de script fornecido explicitamente por meio do mdulo modeler.script.
Por exemplo, um script de fluxo Python pode acessar o fluxo que executa o script com o cdigo a seguir:
s = modeler.script.stream()
Em seguida, as funes relacionadas ao fluxo podem ser chamadas por meio do objeto retornado.
Comandos e funes
O script legado orientado a comando. Isso significa que cada linha de script geralmente inicia com o
comando a ser executado seguido pelos parmetros, por exemplo:
connect Type:typenode to :filternode
rename :derivenode as "Compute Total"
O Python utiliza funes que normalmente so chamadas por meio de um objeto (um mdulo, classe ou
objeto) que define a funo, por exemplo:
stream = modeler.script.stream()
typenode = stream.findByType("type", "Type)
filternode = stream.findByType("filter", None)
stream.link(typenode, filternode)
derive.setLabel("Compute Total")
311
Literais e comentrios
Alguns comandos literais e de comentrio que so normalmente utilizados no IBM SPSS Modeler
possuem comandos equivalentes no script Python. Isso pode ajudar a converter seus scripts SPSS
Modeler Legacy em scripts Python para uso em IBM SPSS Modeler 17.
Tabela 249. Mapeamento de script legado para script Python para literais e comentrios.
Script anterior Script Python
Nmero Inteiro, por exemplo, 4 Igual
Flutuante, por exemplo, 0,003 Igual
Sequncias entre aspas simples, por exemplo, 'Hello' Igual
Nota: Os literais de sequncia que contiverem caracteres
no ASCII devem ser prefixados por um u para assegurar
que eles sejam representados como Unicode.
Sequncias entre aspas duplas, por exemplo, Hello Igual
again Nota: Os literais de sequncia que contiverem caracteres
no ASCII devem ser prefixados por um u para assegurar
que eles sejam representados como Unicode.
Sequncias longas, por exemplo, Igual
This is a string
that spans multiple
lines
Listas, por exemplo, [1 2 3] [1, 2, 3]
Referncia de varivel, por exemplo, set x = 3 x = 3
Continuao de linha (\), por exemplo, x = [ 1, 2,\
set x = [1 2 \ 3, 4]
3 4]
Comentrio de bloco, por exemplo, """ This is a long comment
/* This is a long comment over a line. """
over a line. */
Comentrio de linha, por exemplo, set x = 3 # make x = 3 # make x 3
x 3
undef Nenhum
true True
false False
Operadores
Alguns comandos do operador que so normalmente utilizados no IBM SPSS Modeler possuem
comandos equivalentes no script Python. Isso pode ajudar a converter seus scripts SPSS Modeler Legacy
em scripts Python para uso em IBM SPSS Modeler 17.
Tabela 250. Mapeamento de script legado para script Python para operadores.
Script anterior Script Python
NUM1 + NUM2 NUM1 + NUM2
LIST + ITEM LIST.append(ITEM)
LIST1 + LIST2 LIST1.extend(LIST2)
NUM1 NUM2 NUM1 NUM2
LIST - ITEM LIST.remove(ITEM)
NUM1 * NUM2 NUM1 * NUM2
Condicionais e Loop
Alguns comandos condicionais e de loop que so normalmente utilizados no IBM SPSS Modeler possuem
comandos equivalentes no script Python. Isso pode ajudar a converter seus scripts SPSS Modeler Legacy
em scripts Python para uso em IBM SPSS Modeler 17.
Tabela 251. Mapeamento de script legado para script Python para condicionais e loop.
Script anterior Script Python
for VAR from INT1 to INT2 for VAR in range(INT1, INT2):
... ...
endfor
ou
VAR = INT1
while VAR <= INT2:
...
VAR += 1
for VAR in LIST for VAR in LIST:
... ...
endfor
for VAR in_fields_to NODE for VAR in NODE.getInputDataModel():
... ...
endfor
for VAR in_fields_at NODE for VAR in NODE.getOutputDataModel():
... ...
endfor
if...then if ...:
... ...
elseif...then elif ...:
... ...
else else:
... ...
endif
with TYPE OBJECT Sem equivalente
...
endwith
Variveis
No script legado, as variveis so declaradas antes de serem referenciadas, por exemplo:
var mynode
set mynode = create typenode at 96 96
No Python script, as variveis so criadas quando forem referenciadas pela primeira vez, por exemplo:
mynode = stream.createAt("type", "Type", 96, 96)
No script legado, as referncias a variveis devem ser explicitamente removidas utilizando o operador ^,
por exemplo:
var mynode
set mynode = create typenode at 96 96
set ^mynode.direction."Age" = Input
Assim como acontece a maioria das linguagens de script, isto no necessrio no script Python, por
exemplo:
mynode = stream.createAt("type", "Type", 96, 96)
mynode.setKeyedPropertyValue("direction","Age","Input")
Como a API do IBM SPSS Modeler em Python no inclui o sufixo node, o n Derivar possui o tipo
derive, por exemplo:
feature_name_node = stream.createAt("derive", "Feature", 96, 96)
A nica diferena nos nomes de tipo no script legado e Python a ausncia do sufixo do tipo.
Nomes de propriedades
Os nomes de propriedade so os mesmos nos scripts legado e Pynthon. Por exemplo, no n Arquivo
Varivel, a propriedade que define o local do arquivo full_filename em ambos os ambientes de script.
Referncias do N
Muitos scripts anteriores utilizam uma procura implcita para localizar e acessar o n a ser modificado.
Por exemplo, os comandos a seguir procuram o fluxo atual para um n Tipo com o rtulo "Type" e, em
seguida, configuram a direo (ou funo de modelagem) do campo "Age" para Input e o campo "Drug"
para ser o Target, que o valor a ser previsto:
set Type:typenode.direction."Age" = Input
set Type:typenode.direction."Drug" = Target
No script Python, os objetos de n devem ser localizados explicitamente antes de chamar a funo para
configurar o valor da propriedade, por exemplo:
typenode = stream.findByType("type", "Type")
typenode.setKeyedPropertyValue("direction", "Age", "Input")
typenode.setKeyedPropertyValue("direction", "Drug", "Target")
Os scripts Python podem utilizar como alternativa a enumerao ModelingRole no pacote modeler.api.
Embora a verso de script Python seja mais detalhada, ela proporciona um melhor desempenho de tempo
de execuo porque a procura para o n geralmente feita apenas uma vez. No exemplo de script
legado, a procura do n feita para cada comando.
Localizar ns por ID tambm suportado (o ID do n visvel na guia Anotaes do dilogo de n). Por
exemplo, em scripts anteriores:
# id65EMPB9VL87 is the ID of a Type node
set @id65EMPB9VL87.direction."Age" = Input
No script legado, o acesso aos valores da propriedade pode ser obtido usando o comando get, por
exemplo:
var n v
set n = get node :filternode
set v = ^n.name
No script Python, o mesmo resultado obtido utilizando a funo getPropertyValue(), por exemplo:
n = stream.findByType("filter", None)
v = n.getPropertyValue("name")
Editando fluxos
No script legado, o comando create utilizado para criar um novo n, por exemplo:
var agg select
set agg = create aggregatenode at 96 96
set select = create selectnode at 164 96
No script Python, os fluxos possuem vrios mtodos para a criao de ns, por exemplo:
stream = modeler.script.stream()
agg = stream.createAt("aggregate", "Aggregate", 96, 96)
select = stream.createAt("select", "Select", 164, 96)
No script legado, o comando connect utilizado para criar links entre os ns, por exemplo:
connect ^agg to ^select
No script Python, o mtodo link utilizado para criar links entre os ns, por exemplo:
stream.link(agg, select)
No script legado, o comando disconnect utilizado para remover links entre os ns, por exemplo:
No script Python, o mtodo unlink utilizado para remover links entre os ns, por exemplo:
stream.unlink(agg, select)
No script legado, o comando position utilizado para posicionar os ns na tela do fluxo ou entre outros
ns, por exemplo:
position ^agg at 256 256
position ^agg between ^myselect and ^mydistinct
No script Python, o mesmo resultado obtido utilizando dois mtodos separados: setXYPosition e
setPositionBetween. Por exemplo:
agg.setXYPosition(256, 256)
agg.setPositionBetween(myselect, mydistinct)
Operaes do n
Alguns comandos de operao do n que so normalmente utilizados no IBM SPSS Modeler possuem
comandos equivalentes no script Python. Isso pode ajudar a converter seus scripts SPSS Modeler Legacy
em scripts Python para uso em IBM SPSS Modeler 17.
Tabela 252. Mapeamento de script legado para script Python para operaes do n.
Script anterior Script Python
create nodespec at x y stream.create(type, name)
stream.createAt(type, name, x, y)
stream.createBetween(type, name, preNode, postNode)
stream.createModelApplier(model, name)
connect fromNode to toNode stream.link(fromNode, toNode)
delete node stream.delete(node)
disable node stream.setEnabled(node, False)
enable node stream.setEnabled(node, True)
disconnect fromNode from toNode stream.unlink(fromNode, toNode)
stream.disconnect(node)
duplicate node node.duplicate()
execute node stream.runSelected(nodes, results)
stream.runAll(results)
flush node node.flushCache()
position node at x y node.setXYPosition(x, y)
position node between node1 and node2 node.setPositionBetween(node1, node2)
rename node as name node.setLabel(name)
Executando Loop
No script legado, h duas opes de loop principais que so suportadas:
v Loops Contados, em que uma varivel de ndice se move entre dois limites de nmero inteiro.
v Loops de Sequncia que executam loop atravs de uma sequncia de valores, ligando o valor atual
varivel de loop.
for i in items
println ^i
endfor
O script Python tambm suporta diferentes tipos de loops: O script a seguir um exemplo de um loop
contado no script Python:
i = 1
while i <= 10:
print i
i += 1
O loop de sequncia muito flexvel e, quando combinado com os mtodos da API do IBM SPSS
Modeler, pode suportar a maioria dos casos de uso de script legado. O exemplo a seguir mostra como
usar um loop de sequncia no script Python para iterar nos campos que saem de um n:
node = modeler.script.stream().findByType("filter", None)
for column in node.getOutputDataModel().columnIterator():
print column.getColumnName()
Executando fluxos
Durante a execuo de fluxo, os objetos de modelo ou de sada que so gerados so includos em um dos
gerenciadores de objeto. No script legado, o script deve localizar os objetos construdos a partir do
gerenciador de objeto ou acessar a sada gerada mais recentemente do n que gerou a sada.
A execuo de fluxo no Python diferente, em que quaisquer objetos de modelo ou de sada que so
gerados a partir da execuo so retornados em uma lista que transmitida para a funo de execuo.
Isso facilita o acesso aos resultados da execuo de fluxo.
No script legado, uma execuo de fluxo pode ser encerrada utilizando o comando exit com um cdigo
de nmero inteiro opcional, por exemplo:
exit 1
No script Python, existe a classe TaskRunner que acessvel a partir da sesso e pode ser utilizada para
executar tarefas semelhantes, por exemplo:
taskrunner = modeler.script.session().getTaskRunner()
s = taskrunner.openStreamFromFile("c:/my streams/modeling.str", True)
Para salvar um objeto no script legado, possvel utilizar o comando salve, por exemplo:
save stream s as "c:/my streams/new_modeling.str"
A abordagem script Python equivalente seria utilizar a classe TaskRunner, por exemplo:
taskrunner.saveStreamToFile(s, "c:/my streams/new_modeling.str")
As operaes baseadas em legado do IBM SPSS Collaboration and Deployment Services Repository so
suportadas no script legado por meio dos comandos retrieve e store, por exemplo:
var s
set s = retrieve stream "/my repository folder/my_stream.str"
store stream ^s as "/my repository folder/my_stream_copy.str"
No script Python, a funcionalidade equivalente seria acessada por meio do objeto Repositrio que est
associado sesso, por exemplo:
session = modeler.script.session()
repo = session.getRepository()
s = repo.retrieveStream("/my repository folder/my_stream.str", None, None, True)
repo.storeStream(s, "/my repository folder/my_stream_copy.str", None)
Nota: O acesso do Repositrio requer que a sesso tenha sido configurada com uma conexo do
repositrio vlida.
Operaes de fluxo
Alguns comandos de operao de fluxo que so normalmente utilizados no IBM SPSS Modeler possuem
comandos equivalentes no script Python. Isso pode ajudar a converter seus scripts SPSS Modeler Legacy
em scripts Python para uso em IBM SPSS Modeler 17.
Tabela 253. Mapeamento de script legado para script Python para operaes de fluxo.
Script anterior Script Python
create stream DEFAULT_FILENAME taskrunner.createStream(name, autoConnect,
autoManage)
close stream stream.close()
clear stream stream.clear()
get stream stream Sem equivalente
load stream path Sem equivalente
open stream path taskrunner.openStreamFromFile(path, autoManage)
save stream as path taskrunner.saveStreamToFile(stream, path)
retreive stream path repository.retreiveStream(path, version, label,
autoManage)
Operaes de modelo
Alguns comandos de operao de modelo que so normalmente utilizados no IBM SPSS Modeler
possuem comandos equivalentes no script Python. Isso pode ajudar a converter seus scripts SPSS
Modeler Legacy em scripts Python para uso em IBM SPSS Modeler 17.
Tabela 254. Mapeamento de script legado para script Python para operaes de modelo.
Script anterior Script Python
open model path taskrunner.openModelFromFile(path, autoManage)
save model como path taskrunner.saveModelToFile(model, path)
retrieve model path repository.retrieveModel(path, version, label,
autoManage)
store model como path repository.storeModel(model, path, label)
O script legado fornece algum suporte para carregar objetos de estado (combinaes de fluxos e de
modelos). Os objetos de estado foram descontinuados desde o IBM SPSS Modeler 8.0. O script Python
no suporta objetos de estado.
O script Python oferece os recursos adicionais a seguir que no esto disponveis no script legado:
v Definies de classe e de funo
v Manipulao de erros
v Suporte para entrada/sada mais sofisticado
v Mdulos externos e de terceiros
A IBM pode no oferecer os produtos, servios ou recursos discutidos neste documento em outros pases.
Consulte um representante IBM local para obter informaes sobre produtos e servios disponveis
atualmente em sua rea. Qualquer referncia a produtos, programas ou servios IBM no significa que
apenas produtos, programas ou servios IBM possam ser utilizados. Qualquer produto, programa ou
servio funcionalmente equivalente, que no infrinja nenhum direito de propriedade intelectual da IBM
pode ser usado em substituio a este produto, programa ou servio. Entretanto a avaliao e verificao
da operao de qualquer produto, programa ou servio no IBM so de responsabilidade do Cliente.
A IBM pode ter patentes ou solicitaes de patentes pendentes relativas a assuntos tratados nesta
publicao. O fornecimento desta publicao no lhe garante direito algum sobre tais patentes. Pedidos
de licena devem ser enviados, por escrito, para:
Para pedidos de licena relacionados a informaes de DBCS (Conjunto de Caracteres de Byte Duplo),
entre em contato com o Departamento de Propriedade Intelectual da IBM em seu pas ou envie pedidos
de licena, por escrito, para:
O pargrafo a seguir no se aplica ao Reino Unido nem a nenhum pas em que tais disposies no
estejam de acordo com a legislao local: A INTERNATIONAL BUSINESS MACHINES CORPORATION
FORNECE ESTA PUBLICAO "NO ESTADO EM QUE SE ENCONTRA" SEM GARANTIA DE
NENHUM TIPO, SEJA EXPRESSA OU IMPLCITA, INCLUINDO, MAS A ELAS NO SE LIMITANDO,
AS GARANTIAS IMPLCITAS DE NO INFRAO, COMERCIALIZAO OU ADEQUAO A UM
DETERMINADO PROPSITO. Alguns pases no permitem a excluso de garantias expressas ou
implcitas em certas transaes; portanto, essa disposio pode no se aplicar ao Cliente.
Essas informaes podem conter imprecises tcnicas ou erros tipogrficos. So feitas mudanas
peridicas nas informaes aqui contidas; tais mudanas sero incorporadas em futuras edies desta
publicao. A IBM pode, a qualquer momento, aperfeioar e/ou alterar os produtos e/ou programas
descritos nesta publicao, sem aviso prvio.
A IBM pode usar ou distribuir as informaes fornecidas da forma que julgar apropriada sem incorrer em
qualquer obrigao para com o Cliente.
321
Os licenciados deste programa que desejarem obter informaes sobre este assunto com o propsito de
permitir: (i) a troca de informaes entre programas criados independentemente e outros programas
(incluindo este) e (ii) o uso mtuo das informaes trocadas, devero entrar em contato com:
Tais informaes podem estar disponveis, sujeitas aos termos e condies apropriados, incluindo, em
alguns casos, o pagamento de uma taxa.
O programa licenciado descrito nesta publicao e todo o material licenciado disponvel so fornecidos
pela IBM sob os termos do Contrato com o Cliente IBM, do Contrato Internacional de Licena do
Programa IBM ou de qualquer outro contrato equivalente.
Todos os dados de desempenho aqui contidos foram determinados em um ambiente controlado. Portanto,
os resultados obtidos em outros ambientes operacionais podem variar significativamente. Algumas
medidas podem ter sido tomadas em sistemas em nvel de desenvolvimento e no h garantia de que
estas medidas sero iguais em sistemas geralmente disponveis. Alm disso, algumas medidas podem ter
sido estimadas por extrapolao. Os resultados reais podem variar. Os usurios deste documento devem
verificar os dados aplicveis para seu ambiente especfico.
As informaes relativas a produtos no IBM foram obtidas junto aos fornecedores dos respectivos
produtos, a partir de seus anncios publicados ou de outras fontes disponveis publicamente. A IBM no
testou estes produtos e no pode confirmar a preciso de seu desempenho, compatibilidade nem
qualquer outra reivindicao relacionada a produtos no IBM. As dvidas sobre os recursos de produtos
no IBM devem ser encaminhadas diretamente aos seus fornecedores.
Todas as declaraes relacionadas aos objetivos e intenes futuras da IBM esto sujeitas a mudanas ou
cancelamento sem aviso prvio e representam apenas metas e objetivos.
Estas informaes contm exemplos de dados e relatrios usados nas operaes dirias de negcios. Para
ilustr-los da forma mais completa possvel, os exemplos podem incluir nomes de indivduos, empresas,
marcas e produtos. Todos estes nomes so fictcios e qualquer semelhana com nomes e endereos usados
por uma empresa real mera coincidncia.
Se estas informaes estiverem sendo exibidas em formato eletrnico, as fotografias e ilustraes coloridas
podem no aparecer.
Marcas comerciais
IBM, o logotipo IBM e ibm.com so marcas comerciais ou marcas registradas da International Business
Machines Corp., registradas em vrios pases no mundo todo. Outros nomes de produtos e servios
podem ser marcas comerciais da IBM ou de outras empresas. Uma lista atual de marcas comerciais da
IBM est disponvel na web em "Copyright and trademark information", em www.ibm.com/legal/
copytrade.shtml.
Intel, o logotipo Intel, Intel Inside, o logotipo Intel Inside, Intel Centrino, o logotipo Intel Centrino,
Celeron, Intel Xeon, Intel SpeedStep, Itanium e Pentium so marcas comerciais ou marcas registradas da
Intel Corporation ou suas subsidirias nos Estados Unidos em em outros pases.
Linux uma marca registrada de Linus Torvalds nos Estados Unidos e/ou em outros pases.
UNIX uma marca registrada do The Open Group nos Estados Unidos e/ou em outros pases.
Java e todas as marcas comerciais e logotipos baseados em Java so marcas comerciais ou marcas
registradas da Oracle e/ou de seus afiliados.
Outros nomes de produtos e servios podem ser marcas comerciais da IBM ou de outras empresas.
Avisos 323
324 Guia de Script e Automao Python do IBM SPSS Modeler 17.1
ndice Remissivo
A configurando propriedades
criando ns 30, 31, 32
30 IBM SPSS Modeler
executando a partir da linha de
acessando os resultados da execuo de criando uma classe 24 comandos 61
fluxo 52, 57 identificadores 19
modelo de contedo da tabela 53 incluindo atributos 24
modelo de contedo JSON 55
modelo de contedo XML 54 D instrues 18
interrompendo scripts 11
acessando resultados da execuo de definindo atributos 24
fluxo 52, 57 definindo mtodos 24
modelo de contedo da tabela 53 definindo uma classe 23
modelo de contedo JSON 55 derive_stbnode J
modelo de contedo XML 54 Propriedades 101 Jython 15
API de Script diagramas 27
acessando objetos gerados 40
apresentao 37 L
diversos fluxos 46 E linha de comandos
exemplo 37 execuo condicional de fluxos 6, 10 diversos argumentos 66
manipulando erros 41 Executando fluxos 27 executando o IBM SPSS Modeler 61
metadados 37 executando loop em fluxos 6, 7 lista de argumentos 62, 64, 65
parmetros de fluxo 42 executando scripts 11 parmetros 63
parmetros de sesso 42 exemplos 20 script 51
Parmetros de SuperNode 42 listas 16
procurando 37 localizando ns 29
scripts independentes 46
valores globais 45 F loops
utilizando nos scripts 49
argumentos fluxos
arquivo de comando 66 comando de multiconjuntos 67
conexo do IBM SPSS Analytic Server execuo 27
Repository 65 execuo condicional 6, 10 M
conexo do IBM SPSS Collaboration loop 6, 7 mtodos matemticos 21
and Deployment Services modificando 30 Migrando
Repository 65 Propriedades 71 acessando objetos 318
conexo do servidor 64 script 1, 27 comandos 311
de 64 bits 62 funo lowertoupper 49 configurando propriedades 315
rvore de Deciso da MS funes contexto de script 311
propriedades de script do n 247, comentrios 312 diferenas gerais 311
249 condicionais 313 diversas 319
literais 312 editando fluxos 315
loop 313 executando fluxos 317
B operaes de fluxo 318
operaes de sada de
funes 311
limpar gerenciadores de fluxos, de
blocos de cdigo 19 documento 319 sada e de modelos 34
operaes do modelo 319 loop 316
operaes do n 316 nomes de propriedade 314
C operadores 312 obtendo propriedades 315
campos referncias do objeto 312 referncias de n 314
desativando no script 143 funes de sequncia 49 repositrio 318
caracteres no ASCII 22 sistema de arquivos 318
chave de iterao tipo de n 314
executando loop nos scripts 7 H tipos de modelo 314
tipos de sada 314
CLEM herana 25
script 1 variables 314
Cluster de Sequncias da MS Viso Geral do NIS 311
propriedades de script do n 249 modelagem do banco de dados 247
Cluster-O da Oracle I modelo de contedo da tabela 53
propriedades de script do n 251, IBM SPSS Analytic Server Repository modelo de contedo JSON 55
256 argumentos de linha de modelo de contedo XML 54
comando clear generated palette 52 comandos 65 modelos
comando de multiconjuntos 67 IBM SPSS Collaboration and Deployment nomes de script 307, 309
comando retrieve 49 Services Repository modelos a priori
comando store 49 script 49 propriedades de script do n 159,
comentrios 18 233
325
modelos a priori da Oracle modelos de K-Mdias da Oracle modelos de Self-Learning Response
propriedades de script do n 251, propriedades de script do n 251, propriedades de script do n 216,
256 256 243
modelos da Microsoft modelos de K-Mdias Netezza modelos de sequncia
propriedades de script do n 247, propriedades de script do n 264, propriedades de script do n 215,
249 274 244
modelos da Oracle modelos de KNN modelos de sequncia do IBM ISW
propriedades de script do n 251 propriedades de script do n 240 propriedades de script do n 257,
modelos da Support Vector Machine modelos de kohonen 263
propriedades de script do n 221 propriedades de script do n 198 modelos de sries temporais
modelos da SVM modelos de Kohonen propriedades de script do n 226,
propriedades de script do n 221 propriedades de script do n 240 245
modelos de AI da Oracle modelos de lista de deciso modelos de sries temporais do IBM ISW
propriedades de script do n 251 propriedades de script do n 177, propriedades de script do n 257
modelos de Armazenamento em Cluster 237 modelos de Sries Temporais Netezza
de Diviso Netezza modelos de MDL da Oracle propriedades de script do n 264
propriedades de script do n 264, propriedades de script do n 251, modelos de SLRM
274 256 propriedades de script do n 216,
modelos de armazenamento em cluster modelos de NMF da Oracle 243
do IBM ISW propriedades de script do n 251, modelos de Support Vector Machine
propriedades de script do n 257, 256 propriedades de script do n 244
263 modelos de numerao automtica modelos de TwoStep
modelos de rvore C&R propriedades de script do n 166 propriedades de script do n 230,
propriedades de script do n 172, modelos de Numerao Automtica 245
236 propriedades de script do n 235 modelos discriminantes
modelos de rvore de deciso da Oracle modelos de PCA/Fator propriedades de script do n 179,
propriedades de script do n 251 propriedades de script do n 180, 238
modelos de rvore de Deciso da Oracle 238 modelos do Adaptive Bayes da Oracle
propriedades de script do n 256 modelos de QUEST propriedades de script do n 251,
modelos de rvore de deciso do IBM propriedades de script do n 210, 256
ISW 242 modelos do AS linear
propriedades de script do n 257, modelos de rede bayesiana propriedades de script do n 200,
263 propriedades de script do n 167 240
modelos de rvore de Deciso Netezza modelos de Rede Bayesiana modelos do CARMA
propriedades de script do n 264, propriedades de script do n 235 propriedades de script do n 170,
274 modelos de Rede Bayesiana Netezza 236
modelos de rvore de Regresso Netezza propriedades de script do n 264, modelos do IBM DB2
propriedades de script do n 264, 274 propriedades de script do n 257
274 modelos de rede neural modelos do IBM ISW Naive Bayes
modelos de rvore do AS propriedades de script do n 206, propriedades de script do n 257,
propriedades de script do n 228, 241 263
245 modelos de regresso Cox modelos do IBM SPSS Statistics
modelos de rvores aleatrias propriedades de script do n 176, propriedades de script do n 302
propriedades de script do n 212, 237 modelos do KNN Netezza
243 modelos de regresso do IBM ISW propriedades de script do n 264,
modelos de associao do IBM ISW propriedades de script do n 257, 274
propriedades de script do n 257, 263 modelos do LSVM
263 modelos de regresso linear propriedades de script do n 205
modelos de C5.0 propriedades de script do n 213, modelos do Naive Bayes da Oracle
propriedades de script do n 169, 242, 243 propriedades de script do n 251,
236 modelos de Regresso Linear Netezza 256
modelos de Causal Temporal propriedades de script do n 264, modelos do Netezza
propriedades de script do n 222 274 propriedades de script do n 264
modelos de CHAID modelos de regresso logstica modelos do Netezza Naive Bayes
propriedades de script do n 174, propriedades de script do n 201, propriedades de script do n 264
237 240 Modelos do Netezza Naive Bayes
modelos de Classificador Automtico modelos de regresso logstica do IBM propriedades de script do n 274
propriedades de script do n 234 ISW modelos do PCA Netezza
modelos de Cluster Automtico propriedades de script do n 257, propriedades de script do n 264,
propriedades de script do n 235 263 274
modelos de deteco de anomalias modelos de seleo de recurso modelos do Support Vector Machine
propriedades de script do n 157, propriedades de script do n 182, lineares
233 238 propriedades de script do n 205,
modelos de GLMM modelos de Seleo de Varivel 241
propriedades de script do n 187, aplicando 4
239 script 4
Impresso no Brasil