[Tutorial] Prevendo sobreviventes ao Titanic com IBM SPSS Modeler

Camila Waltrick
Camila Waltrick
Published in
5 min readJul 11, 2020

E se utilizássemos o conjunto de dados do Titanic — conhecido pelos desafios com R e Python, para prever quem sobreviveria ao naufrágio, sem precisar sequer de uma linha de código? Isso é possível com o SPSS Modeler, ferramenta utilizada nesse tutorial para desenvolver o modelo que fará a previsão. Confira o passo a passo! 👇

2 etapas importantes para fazer esse tutorial:

1. Conhecendo o SPSS Modeler

Resumidamente, segundo o site da IBM:

O IBM SPSS Modeler é uma plataforma gráfica de ciência de dados e de análise preditiva desenvolvida para usuários com todos os níveis de habilidade para a implementação de insights em escala para melhorar seus negócios.

É possível experimentar a ferramenta de modo gratuito, então, clique aqui e se prepare para utilizá-la nesse tutorial.

2. Obtendo os dados

O conjunto de dados escolhido foi o Titanic, disponível no Kaggle, faça o download dele aqui, serão necessários somente os arquivos train e test.

Tudo pronto, vamos começar! 💃

Desenvolvimento do modelo

Inicie o SPSS Modeler e abra um novo fluxo.

Exploração dos dados

Na parte inferior do painel do SPSS, há uma barra de ferramentas (com várias abas) chamada paleta de nós. Nós são os ícones que vamos arrastar e soltar no painel para compor o fluxo, os quais devem ser ligados pela linha conectora.

Na aba Source da paleta de nós, selecione o nó Var.File, arraste e solte no painel. Através dele, importe o arquivo train.csv e clique em Preview para visualizar os dados importados. Originalmente, ele deve possuir 12 colunas. Note que os campos da coluna Name separam o sobrenome do passageiro com uma vírgula dentro do próprio campo, para que o SPSS não assuma isso como uma coluna distinta do csv, selecione Pair and discard em Double quotes, conforme a imagem. Clique apply e ok.

Da aba Output, pegue o nó Table e conecte a Var.File, clique em Table com o botão direito e execute o nó (clicando em Run) para visualizar o formato atual do dataset, então, percebe-se diversos campos nulos. Para conhecer melhor os dados disponíveis, conectamos o nó Data Audit a Var.File e executamos. Entre diversos insights obtidos com esse nó, ele dá as seguintes informações: 75% dos campos estão completos, 20.54% dos registros estão completos e que essas inconsistências se encontram nos campos Age, Cabin e Embarked.

Preparação dos dados

Conforme as informações obtidas acima, será necessário realizar algumas alterações no dataset. Da aba Field Ops, selecione Type e conecte a Var.File. Nesse novo nó, há a coluna Role, o campo Survived será configurado como Target (essa será a variável resposta/dependente) e os campos Name, Ticket, Cabin e Embarked serão configurados como None, eles não terão nenhum papel no modelo preditivo, porque não serão bons preditores. Além disso, mude o tipo de dados de Survived para flag.

Conecte o Auto Data Prep ao Type e configure o nó, conforme mostrado na imagem ao lado. Basicamente, estamos permitindo o ajuste de campos do tipo ordinal/numérico e o preenchimento dos valores nulos com o valor médio do recurso, além de desabilitar a normalização (último quadro destacado na imagem).

A esse último nó, conecte Filter, onde desabilitaremos os seguinte campos: Name, ticket, cabin, embarked, pclass. Desta forma, esses campos serão excluídos e o modelo não contará com eles como recursos para fazer a previsão.

Construção do modelo

Uma das várias “funcionalidades facilitadoras da vida da gente” (😅) que o SPSS Modeler tem é a possibilidade de utilizar os nós de modelagem automatizados, encontrados na aba Modeling da paleta. Esses nós são muito úteis quando há dúvida sobre qual é o melhor método para a análise e ainda ajudam a ganhar tempo, ao testarem diversas possibilidades, simultaneamente, apresentando os resultados das modelagens para a nossa comparação e escolha. Existem 3 tipos de nós de modelagem automatizados, a definição entre um ou outro se deve às características do conjunto de dados em questão e do resultado pretendido com a análise. Neste caso, o nó apropriado é o Auto Classifier, o qual cria e compara vários modelos diferentes para resultados binários.

Conecte o Auto Classifier ao nó anterior e o execute. Isso vai gerar uma única pepita composta pelos melhores modelos, permitindo navegar, comparar e escolher quais modelos usar. Aqui, optei por usar a pepita composta como modelo, mas é possível detalhar os resultados e gerar pepita para qualquer um dos modelos individuais que você deseja usar ou explorar mais. Para avaliar a capacidade do modelo em gerar previsões precisas, adicionei o nó Analysis, localizado na aba Outputs e, da aba Graphics, usei Evaluation, da aba Graphics.

O nó gera um conjunto de modelos com base nas opções especificadas e classifica os melhores candidatos de acordo com os critérios que você especificar.

Teste do modelo

Agora que o modelo já foi treinado, é necessário testá-lo e, para tanto, vamos importar o arquivo test.csv usando o nó Var.File, assim como foi feito na primeira etapa desse tutorial. A este nó, conectamos a pepita do modelo gerado a Table (apenas para conferir o conteúdo com a previsão).

Ligamos a pepita ao Select, da aba Record Ops, para usar o expression builder contido nele. O objetivo disso é selecionar somente as linhas em que o resultado do campo $XFC-Survived seja uma confiança acima de 80%.

Para conferir, adicione mais um nó Table e o execute clicando em Run.

Finalização

De posse das informações que permaneceram no dataset (as variáveis preditoras) e as previsões contidas na coluna $XF-Survived — a qual aponta se o passageiro sobreviveria sim(1) ou não(0), finalizamos a utilização do SPSS Modeler neste tutorial. A partir disso, é possível realizar o deployment em diversas aplicações, conforme a solução pretendida. Consulte o site da IBM para maiores informações e acesso aos manuais do software.

Obrigada pela visita! ✌️

--

--