Desenvolva modelos de aprendizado de máquina com e sem AutoML – IBM Developer

Desenvolva modelos de aprendizado de máquina com e sem AutoML

Muitas pessoas desejam exercer a função de cientista de dados, mas ela pode vir com responsabilidades e desafios exigentes. Alguns desses desafios incluem selecionar o melhor algoritmo para seu caso de uso e modificá-lo durante várias iterações, identificar e ajustar o conjunto certo de hiperparâmetros diversas vezes antes de retornar aos padrões e esperar que a última época do seu modelo chegue ao fim.

Apesar de passar por alguns processos árduos, ver seu modelo de aprendizado de máquina superar a precisão esperada é, sem dúvida, gratificante. Existe um mito de que os desenvolvedores adoram exagerar na codificação e fazer mais do que o necessário. Mas a automação e a eficiência dos processos não são o principal motivo pelo qual um desenvolvedor escreve programas? As aptidões exemplares que um cientista de dados possui são indiscutíveis. No entanto, muitos dos processos e etapas que um cientista de dados executa são repetíveis, demorados e propensos a erro humano, o que os torna candidatos ideais para a automação.

AutoAI

O aprendizado de máquina automatizado (AutoML) permite que usuários com pouco ou nenhum conhecimento gerem vários modelos de aprendizado de máquina clicando em alguns botões. Além disso, usando o AutoML, um cientista de dados especializado é capaz de eliminar as complexidades de desenvolver um modelo e chegar ao centro da resolução dos problemas. Por essas razões, a popularidade do AutoML cresceu recentemente.

Neste artigo, discuto e destaco os recursos do AutoAI, uma ferramenta de aprendizado de máquina automatizada que ajuda a simplificar o gerenciamento do ciclo de vida da inteligência artificial. Usarei as jornadas de dois cientistas de dados para comparar e contrastar o desenvolvimento de modelos preditivos com e sem o uso do AutoAI.

Desenvolver um modelo de aprendizado de máquina sem o AutoAI

Bob é um cientista de dados sênior que trabalha para um banco na Alemanha. Atualmente, está desenvolvendo um modelo de aprendizado de máquina que prevê se há risco envolvido em aprovar um empréstimo para um cliente.

Modelo de aprendizado de máquina tradicional

Começarei descrevendo algumas das etapas que Bob executa para desenvolver esse modelo. Primeiro, ele passa pelo entediante processo de instalar as várias ferramentas e bibliotecas, como Jupyter, Python e scitkit-learn. Em seguida, escreve um código em Python para analisar e visualizar os dados. Depois de retrabalhar os dados diversas vezes, ele escolhe um algoritmo adequado para solucionar o problema de classificação binária da análise de risco. Ele escreve um código para processar previamente os dados de forma adequada. Isso envolve etapas para lidar com dados ausentes e pouco representados, bem como para lidar com variáveis categóricas.

A próxima etapa no processo é usar as APIs corretas da biblioteca scitkit-learn de modo a dividir os dados em conjuntos de dados de treinamento e teste, além de desenvolver o modelo com base nos dados de treinamento. Quando o modelo está pronto, inicia-se o processo de treinamento, que poderia levar várias horas, dependendo do tamanho dos dados e do processador usado. Após avaliar o conjunto de teste, se a precisão necessária não for alcançada, Bob deverá analisar os dados novamente, ajustar os hiperparâmetros e refazer o processo anterior, até que o modelo apresente o desempenho esperado.

O código Python completo escrito por Bob fica disponível como um notebook Python. Ele se chama AutoAI Manual Asset (IPYNB, 33 KB) e pode ser baixado e executado. Para ver uma implementação detalhada, consulte o tutorial Desenvolva e teste seu primeiro modelo de aprendizado de máquina usando Python e scikit-learn.

Desenvolver um modelo de aprendizado de máquina com o AutoAI

Lauren, uma colega de Bob, também é cientista de dados sênior. Ela pesquisa o AutoML e considera o AutoAI como a ferramenta ideal para desenvolver o mesmo modelo de risco que Bob está criando.

Persona do AutoAI

Lauren carrega o conjunto de dados de risco de crédito na ferramenta AutoAI. Em seguida, seleciona a coluna que será prevista pelo modelo. Nesse momento, o AutoAI já determinou que se trata de um problema de classificação binária e lista diversos algoritmos que podem ser usados para solucionar o problema. Por padrão, os dois algoritmos principais são escolhidos, mas Lauren pode alterar essas escolhas para considerar até quatro algoritmos. Cada algoritmo gera quatro pipelines, sendo cada um uma variação de outro.

teste

Nos bastidores, o AutoAI executa as etapas a seguir para gerar cada um dos modelos de pipeline.

  1. Pré-processamento de dados
  2. Seleção automatizada do modelo
  3. Automatizar a engenharia de recursos
  4. Otimização de hiperparâmetros

O tutorial sobre como gerar pipelines de modelo de aprendizado de máquina para escolher o melhor modelo para seu problema usando AutoAI contém uma descrição detalhada de como Lauren desenvolveu o modelo de risco de crédito.

Com o AutoAI, Lauren também consegue baixar o pipeline como código Python formatado como um notebook. O padrão de código Gere um notebook Python para modelos de pipeline usando AutoAI descreve as etapas para gerar o notebook, bem como executar e implementar o modelo no Watson Machine Learning.

Compare o desenvolvimento de modelos com e sem o AutoAI

Com o mesmo conjunto de dados de risco de crédito que Bob e Lauren usaram para desenvolver o modelo de previsão de risco, é possível ver diferenças significativas nas várias métricas principais. Na tabela a seguir, mostro a experiência e os resultados de Bob e Lauren com base em suas estratégias de desenvolvimento de modelo.

Compare

A tabela mostra como Lauren poupou tempo e esforço significativos usando o AutoAI para desenvolver um modelo de aprendizado de máquina. Ela tem acesso a vários modelos que são gerados e pode escolher o que estiver mais de acordo com seus critérios de avaliação. Lauren também tem acesso aos modelos que pode implementar dentro do Watson Machine Learning como uma API REST. O código Python que foi usado para gerar o modelo de pipeline também é baixado como um notebook.

Resumo

Usando o AutoAI para desenvolver modelos de aprendizado de máquina, é possível poupar tempo e esforço significativos em vez de criar manualmente os mesmos modelos. As etapas repetíveis, demoradas e propensas a erro humano são candidatas ideais para a automação.