Participe da Maratona Behind the Code! Prêmios e desafios incríveis te esperam, não perca! Inscreva-se aqui

Gere pipelines de modelo de aprendizado de máquina para escolher o melhor modelo para seu problema

A inteligência artificial facilita todos os aspectos das nossas vidas. Era inevitável esperar que ela facilitasse o próprio processo de desenvolvimento. O desenvolvimento de modelos melhores requer procedimentos de inteligência artificial mais complexos, demorados e caros, exigindo um conhecimento especializado que vai desde a limpeza dos dados até a engenharia de recursos, do desenvolvimento das arquiteturas à otimização de parâmetros. Para facilitar esse processo e torná-lo eficiente em termos de tempo e esforço, é necessário automatizar as cargas de trabalho. Com o objetivo de criar inteligência artificial para a inteligência artificial, a IBM introduziu um serviço no Watson™ Studio chamado AutoAI. O AutoAI pode ser executado em nuvens públicas e privadas, inclusive no IBM Cloud Pak™ for Data.

O AutoAI é um serviço que automatiza tarefas de aprendizado de máquina de modo a facilitar o trabalho dos cientistas de dados. Ele prepara automaticamente seus dados para modelagem, escolhe o melhor algoritmo para seu problema e cria pipelines para os modelos treinados.

Objetivos de aprendizado

Este tutorial explica os benefícios do serviço AutoAI em um caso de uso para que você possa entender melhor como lidar com problemas de regressão e classificação sem nenhum código e como as tarefas (engenharia de recursos, seleção de modelos, ajuste de hiperparâmetros etc.) são feitas com esse serviço. O tutorial também inclui detalhes para escolher o melhor modelo entre os pipelines e como implementar e usar tais modelos.

Pré-requisitos

Para acompanhar, é necessário:

  • Cadastrar-se para uma conta da IBM Cloud. (É possível concluir este tutorial usando uma conta IBM Cloud Lite.)
  • Criar uma instância de serviço do Cloud Object Storage.
  • Criar uma instância de serviço do Watson Studio.
  • Criar uma instância de serviço do Watson Machine Learning.
  • Ter conhecimento básico dos algoritmos de aprendizado de máquina.

Tempo estimado

Este tutorial leva aproximadamente 20 minutos para ser concluído, incluindo o treinamento no AutoAI.

Etapas

Depois de criar uma conta IBM Cloud Lite e entrar, é possível seguir estas etapas.

Etapa 1: Criar as instâncias de serviço necessárias

Object Storage

Para armazenar os dados, é necessário que um serviço de armazenamento seja vinculado posteriormente ao seu projeto. Para fazer isso, pesquise Storage no Catálogo da IBM Cloud ou acesse a guia Storage no menu esquerdo da mesma página e clique no serviço Object Storage.

Serviço Object Storage

Opcionalmente, dê um nome a essa instância de serviço e clique em Create.

Nomear instância do cloud object storage

Watson Studio

  1. Pesquise Watson Studio no Catálogo da IBM Cloud e clique no bloco do serviço Watson Studio.

    Bloco do Watson Studio

  2. Como fez com o serviço Object Storage, é possível nomear seu serviço e clicar em Create.

    Nomear a instância do Watson Studio

  3. Depois de provisionar o serviço do Watson Studio, clique em Get Started ou acesse a plataforma Watson Studio e entre com sua conta da IBM Cloud.

    Entrar

  4. Revise o tutorial introdutório para saber mais sobre o Watson Studio.

Etapa 2: Treinar um modelo com o AutoAI

O Watson Studio é uma plataforma integrada que foi criada para organizar seus ativos de projeto, tais como conjuntos de dados, colaboradores, modelos e notebooks. Você usará o Watson Studio para criar um projeto em que treinará um modelo com o AutoAI e implementará o modelo treinado.

Criar um projeto do Watson Studio

  1. Clique em Create a Project.

    Criar um projeto

  2. Selecione Create an empty project.

    Criar um projeto vazio

  3. Dê um nome ao seu projeto. Se você tiver uma conta IBM Cloud Lite, o serviço Object Storage que criou na etapa anterior será selecionado automaticamente. Caso contrário, selecione um serviço no menu suspenso.

    Dar um nome ao projeto

  4. A página de ativos de dados é aberta. Seus ativos de projeto estão armazenados e organizados nela. Ao clicar na barra Assets, é possível carregar seu conjunto de dados na interface à esquerda.

  5. Faça upload do conjunto de dados german_credit_data.csv (CSV, 123 KB).

    Fazer upload de um conjunto de dados

Configurar o ambiente do AutoAI e gerar pipelines

  1. Para iniciar a experiência do AutoAI, clique em Add to Project na parte superior e selecione AutoAI.

    Adicionar um projeto

  2. Dê um nome ao seu serviço.

    Dar um nome aos serviços

  3. Para associar uma instância do Watson Machine Learning, clique no link fornecido. Caso tenha uma instância existente, selecione-a na guia existente. Caso contrário, crie uma nova na guia New.

    Associar uma instância

  4. Depois de provisionar a instância do Watson Machine Learning, você será redirecionado para a mesma página. Clique em Reload e em Create.

Informações sobre o conjunto de dados

Para minimizar o risco e, ao mesmo tempo, maximizar o lucro, os bancos precisam de algumas regras básicas. Uma das necessidades que eles têm é minimizar a perda em qualquer interação com o cliente, como ao fornecer empréstimos. O objetivo desse conjunto de dados é prever se o cliente será capaz de pagar o empréstimo, considerando os perfis demográfico e socioeconômico dos candidatos.

  • Quando o candidato apresenta risco de crédito positivo (ou seja, é provável que pagará o empréstimo), não aprovar o empréstimo para a pessoa resultará em perda de negócios para o banco.
  • Quando o candidato apresenta risco de crédito negativo (ou seja, não é provável que pagará o empréstimo), aprovar o empréstimo para a pessoa resultará em perda financeira para o banco.
  • O conjunto de dados consiste em 1.000 pontos de dados dos candidatos a empréstimos, com 20 variáveis cada: sete são numéricas e 13 são categóricas. Não entraremos em detalhes sobre as variáveis desse conjunto de dados. É possível verificar todas as informações detalhadas.

Configurar uma instância do AutoAI

Use as etapas a seguir para configurar sua instância do AutoAI.

  1. Selecione o conjunto de dados (é possível fazer upload dele do seu sistema local ou selecioná-lo no projeto).
  2. Defina a coluna para prever como Result.
  3. Altere a métrica otimizada para ROC AUC (área sob a curva ROC).
  4. Defina o número de algoritmos de melhor desempenho a considerar como três. Por padrão, o AutoAI seleciona os dois algoritmos de melhor desempenho, mas é possível alterar o número de 1 a 4.

    Configurar uma instância do AutoAI

Pipeline do AutoAI

O experimento começa logo depois que você conclui os processos anteriores.

Após o pré-processamento dos dados, o AutoAI identifica os três algoritmos de melhor desempenho e, para cada um deles, gera os quatro pipelines a seguir.

  • Seleção automatizada de modelo (Pipeline 1)
  • Otimização de hiperparâmetros (Pipeline 2)
  • Engenharia automatizada de recursos (Pipeline 3)
  • Otimização de hiperparâmetros (Pipeline 4)

Dessa maneira, o AutoAI gera um total de 12 pipelines que podem ser vistos, comparados e salvos como modelos.

Visualizar pipelines

Enquanto o AutoAI está gerando os modelos, há duas visualizações diferentes por meio das quais é possível ver o progresso dos pipelines que estão sendo criados. São elas: o mapa de progresso e o mapa de relacionamento, como mostram as imagens a seguir. Observe que o AutoAI escolheu XGB, Random Forest e Decision Tree Classifiers como os três algoritmos de melhor desempenho para esse caso de uso.

A figura a seguir mostra o mapa de relacionamento com os relacionamentos entre cada um dos pipelines. Passe o ponteiro do mouse sobre o mapa para ver mais informações.

Visualização 1 da análise de crédito

A figura a seguir mostra o mapa de progresso com a sequência e os detalhes dos 12 pipelines criados ao todo.

Visualização 2 da análise de crédito

A figura a seguir mostra a visualização da tabela de classificação do pipeline, com os detalhes dos 12 pipelines juntamente com as métricas de alto nível. Inferimos que o classificador XGB com dois conjuntos de otimização de hiperparâmetros e engenharia de recursos gerou o melhor modelo possível. Trata-se do quarto pipeline na sequência.

Pipelines de análise de crédito

O AutoAI também fornece um recurso visual para comparar o desempenho de cada um desses modelos com base em métricas diferentes.

Pipelines de métricas

A próxima etapa é examinar as métricas e selecionar o modelo que fornece o melhor resultado. Nesse caso, o Pipeline 4 forneceu o melhor resultado com a métrica “Area under the ROC Curve (ROC AUC).” Para visualizar os resultados detalhados, clique no pipeline correspondente na tabela de classificação. Além disso, é possível salvar o pipeline do modelo clicando em Save as e, depois, escolhendo Model na tabela de classificação ou página do pipeline. Você simplesmente salvará o modelo que nos forneceu o melhor resultado.

Avaliação do modelo

Abre-se uma janela que pede o nome do modelo, a descrição (opcional) e assim por diante. Depois de preencher os campos, clique em Save.

Salvar o nome do modelo

Você recebe uma notificação para indicar que o modelo foi salvo no projeto. Clique em View in project.

Notificação do modelo

Implementar e testar o modelo

  1. Para visualizar o modelo que acabou de salvar, mude para a guia Assets. Role a tela até a seção Models e clique no modelo que acabou de salvar.

    Implementar o modelo

  2. Para preparar o modelo para a implementação, clique em Promote to deployment space.

    Implementar o modelo

  3. Veja as próximas etapas no vídeo a seguir.

    Vídeo para implementação de modelo

  4. Agora, é possível testar seu modelo na interface que é fornecida após a implementação. Forneça a entrada em formato JSON ou insira os detalhes da entrada nos campos presentes na interface.

    • Entrada com formato JSON Entrada com formato JSON

    • Entrada nos campos Entrada nos campos

      Input data:
      {"input_data": [{"fields": ["Check_Account ", "Duration", "Credit_history", "Purpose", "Credit amount ", "Saving_account", "Employment", "Install_rate", "Personal_status", "Other_debrotors", "Present_residence", "Property", "Age", "Installment_plant", "Housing", "Num_credits", "Job", "Num_dependents", "Telephone", "Foreign"],
                                 "values": [["A14", "48", "A34", "A43", "3573", "A65", "A75", "4", "A93", "A101","1","A121","47","A143","A152","1","A173","1","A192","A201"]]}]}
      
  5. Além disso, é possível usar modelos implementados em seus aplicativos fazendo chamadas de API. Para mostrar um caso de uso, chame o modelo no notebook. Para fazer isso, retorne à página Project Assets, clique em Add to project e selecione Notebook.

    Utilizar um caso de uso

    Há três maneiras de criar notebooks:

    • Criar um notebook em branco.
    • Importar um arquivo de notebook (.ipynb) do seu dispositivo local.
    • Importar um notebook de uma URL.

      Nesta demonstração, você vai fazer upload de um notebook de Test WML model.ipynb (IPYNB, 3 KB).

      Fazer upload de um notebook

  6. Na primeira célula, insira a chave da API da IBM Cloud. No final dessa célula, você receberá um token de acesso da IBM Cloud. A segunda célula é a parte em que você chama o modelo e faz previsões.

    Inserir a chave da API

Conclusão

Neste tutorial, explicamos como treinar seu modelo com o serviço AutoAI do Watson. Em conjunto com o processo de treinamento, você aprendeu a implementar e testar os modelos. Também entendeu como fazer uma chamada de API para o modelo implementado por meio de um notebook.