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.
Opcionalmente, dê um nome a essa instância de serviço e clique em Create.
Watson Studio
Pesquise Watson Studio no Catálogo da IBM Cloud e clique no bloco do serviço Watson Studio.
Como fez com o serviço Object Storage, é possível nomear seu serviço e clicar em Create.
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.
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
Clique em Create a Project.
Selecione Create an empty project.
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.
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.
Faça upload do conjunto de dados german_credit_data.csv (CSV, 123 KB).
Configurar o ambiente do AutoAI e gerar pipelines
Para iniciar a experiência do AutoAI, clique em Add to Project na parte superior e selecione AutoAI.
Dê um nome ao seu serviço.
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.
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.
- Selecione o conjunto de dados (é possível fazer upload dele do seu sistema local ou selecioná-lo no projeto).
- Defina a coluna para prever como Result.
- Altere a métrica otimizada para ROC AUC (área sob a curva ROC).
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.
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.
A figura a seguir mostra o mapa de progresso com a sequência e os detalhes dos 12 pipelines criados ao todo.
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.
O AutoAI também fornece um recurso visual para comparar o desempenho de cada um desses modelos com base em métricas diferentes.
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.
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.
Você recebe uma notificação para indicar que o modelo foi salvo no projeto. Clique em View in project.
Implementar e testar o modelo
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.
Para preparar o modelo para a implementação, clique em Promote to deployment space.
Veja as próximas etapas no vídeo a seguir.
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 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"]]}]}
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.
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).
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.
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.