Pular para o conteúdo principal

Aprendizado de máquina automatizado com Auto-Keras

Conheça o aprendizado de máquina automatizado e como aplicá-lo com Auto-Keras.
Atualizado 17 de set. de 2026  · 11 min lido

Explorar com IA

ChatGPTClaudePerplexity

Aprendizado de máquina já não é mais um termo estranho — empresas como DataCamp, Coursera, Udacity e muitas outras vêm trabalhando para levar esse conhecimento de forma eficiente e acessível para todo mundo. Graças a essas plataformas, hoje é muito fácil começar na área praticamente sem pré-requisitos. Mas o termo aprendizado de máquina automatizado (AutoML) tem ganhado cada vez mais destaque nos fóruns de educação em ciência de dados. Organizações como Google, H2O.ai e outras estão avançando muito nesse tema. Ainda assim, é um assunto menos comum do que machine learning em geral. Afinal, se machine learning já lida com a própria automação, a primeira pergunta que vem à cabeça é: "Será que o machine learning também pode ser automatizado?"

Neste tutorial, você vai encontrar respostas para várias perguntas como essa.

Vamos começar.

Entendendo um pipeline padrão de machine learning

Quando você resolve um problema como cientista de dados, seu fluxo de trabalho costuma seguir algo assim:

  1. Coleta de dados
  2. Pré-processamento de dados
  3. Inicialização de um modelo de machine learning adequado ao problema
  4. Treinamento do modelo
  5. Teste do modelo
  6. Ajuste de hiperparâmetros do modelo
  7. Novo teste do modelo
  8. Comunicação dos resultados

O segundo passo, pré-processamento de dados, é amplo porque costuma ser uma das etapas mais demoradas do pipeline, incluindo tarefas como limpeza, transformação, seleção de atributos, entre outras. Os passos de 3 a 7 dizem respeito a um único modelo. Um bom profissional não para no primeiro modelo: vai experimentar diferentes algoritmos, comparar resultados e escolher o melhor para o problema. Surge então outro conjunto de tarefas bem demoradas: como decidir qual modelo escolher?

A frase a seguir sobre o processo de depuração em tarefas de machine learning não poderia ser mais precisa — e vale ter sempre em mente:

"Depuração em machine learning acontece em dois casos: 1) seu algoritmo não funciona ou 2) seu algoritmo não funciona bem o suficiente.[...] Raramente um algoritmo funciona de primeira, e é por isso que a maior parte do tempo de desenvolvimento acaba sendo gasta nessa etapa." - S. Zayd Enam

Deu para ter uma visão geral de uma tarefa típica de engenharia de machine learning? No fim, você precisa decidir qual é o melhor modelo para o seu problema — e justificar por quê. Muitas vezes, há inúmeras possibilidades a explorar, mas o prazo é curto. Deu para sentir o drama? Vamos avançar.

Como automatizar o pipeline de machine learning?

Vamos seguir com o cenário de escolher o melhor modelo em um contexto em que as possibilidades são muitas e o prazo é apertado.

Lá no início apareceu a pergunta: "Machine learning também pode ser automatizado?" Ela está longe de ser boba. O próprio Sebastian Raschka, em uma entrevista, definiu AutoML como "a automação de automatizar a automação".

Volte ao passo 5 do fluxo de trabalho padrão que vimos: ajustar os hiperparâmetros do modelo. Suponha que você já preparou os dados e iniciou um classificador $X$. Agora, imagine que $X$ tenha 5 hiperparâmetros diferentes. Você terá de testar o mesmo classificador $X$ com vários conjuntos de valores — tarefa nada trivial. E tem mais: depois de várias combinações, os resultados ainda não ficaram bons. Você decide então testar mais quatro classificadores (cada um com 6 hiperparâmetros). Consegue imaginar o tempo envolvido? E se, no fim, os resultados ainda forem insatisfatórios? Investigar isso também consome muito tempo.

É daí que nasce a ideia de aprendizado de máquina automatizado.

"Se for preciso construir inúmeros modelos de machine learning, usando uma variedade de algoritmos e configurações de hiperparâmetros, então a própria construção desses modelos pode ser automatizada, assim como a comparação de desempenho e acurácia." - KDNuggets

Agora deu para entender por que o termo aprendizado de máquina automatizado está em alta nos fóruns de ciência de dados. No próximo tópico, vamos explorar melhor o conceito.

Introdução ao aprendizado de máquina automatizado

A tarefa de ajustar hiperparâmetros em diferentes modelos também tende a ser muito demorada. Em termos de computação, trata-se de um processo de busca que pode ser extremamente exaustivo. E se esse processo pudesse ser automatizado? É exatamente isso que o AutoML faz. "O aprendizado de máquina automatizado é uma resposta direta à escassez de cientistas de dados, pois pode aumentar drasticamente o desempenho e a produtividade desses profissionais ao acelerar ciclos de trabalho, melhorar a acurácia dos modelos e, em última instância, até mesmo substituir a necessidade de cientistas de dados em certos casos." - Automated Machine Learning for Internet of Things

Com essa base, você já pode ver o AutoML em ação. Antes, conheça algumas das bibliotecas Python mais usadas para isso.

Bibliotecas Python para aprendizado de máquina automatizado

Há várias bibliotecas Python para fazer AutoML. Todas buscam, em maior ou menor grau, automatizar o processo de machine learning. Estas são algumas das mais usadas:

Cada biblioteca tem sua abordagem para encarar a "automação de automatizar a automação". Neste tutorial, vamos usar o Auto-Keras. Vamos nessa?

Introdução ao Auto-Keras

"Auto-Keras é uma biblioteca open source para aprendizado de máquina automatizado." (Fonte) Ela é desenvolvida pelo DATA Lab da Texas A&M University e por colaboradores da comunidade. Segundo o site oficial do auto-keras: "O objetivo final do aprendizado de máquina automatizado é oferecer ferramentas de deep learning fáceis de usar para especialistas de domínio com pouca experiência em ciência de dados ou machine learning. O Auto-Keras fornece funções para buscar automaticamente arquiteturas e hiperparâmetros de modelos de deep learning."

AutoKeras Logo

Fonte: Auto-Keras

Para instalar o Auto-Keras, execute o comando abaixo.

Observação: no momento, o Auto-Keras é compatível apenas com: Python 3.6.

!pip install autokeras

Com o Auto-Keras instalado, vamos a uma implementação rápida.

Um estudo de caso de AutoML com Auto-Keras

Neste exemplo, usaremos o famoso dataset MNIST. O keras já traz esse conjunto de dados embutido, então não é preciso baixá-lo separadamente. Vamos começar carregando o módulo ImageClassifier do auto-keras e o dataset MNIST do keras.

from keras.datasets import mnist
from autokeras import ImageClassifier

Carregamos o MNIST a partir de keras.datasets e importamos o ImageClassifier do auto-keras. Agora, vamos separar os dados em treino e teste.

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(x_train.shape + (1,)) # (1,) indica o canal, que é 1 neste caso
x_test = x_test.reshape(x_test.shape + (1,)) # (1,) indica o canal, que é 1 neste caso
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz
11493376/11490434 [==============================] - 1s 0us/step

Com os conjuntos de treino e teste prontos, vamos ajustar o ImageClassifier com x_train e y_train e avaliar o desempenho em x_test e y_test.

# Instancia a classe ImageClassifier
clf = ImageClassifier(verbose=True, augment=False)
# Treina o classificador com o conjunto de treino
clf.fit(x_train, y_train, time_limit=12 * 60 * 60)
clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
# Resume os resultados
y = clf.evaluate(x_test, y_test)
print(y * 100)

Simples assim: em 4 ou 5 linhas você já faz um experimento. Mas não é tão rápido na prática — o código acima leva um bom tempo para rodar. Uma configuração adequada para experimentos de deep learning ajuda bastante. O Google Colab também é um ótimo ponto de partida.

Agora, vamos entender melhor os parâmetros usados no código acima. Com base na documentação do auto-keras, seguem os trechos relevantes:

  • No ImageClassifier():
    • verbose: booleano que define se o processo de busca será impresso na saída.
    • augment: booleano indicando se os dados precisam de aumento (data augmentation). Se não for definido, usa Constant.DATA_AUGMENTATION, que é True por padrão.
  • No método fit():
    • time_limit: limite de tempo da busca em segundos.
  • final_fit(): treinamento final após encontrar a melhor arquitetura.
    • retrain: booleano que indica se os pesos do modelo devem ser reinicializados.

O Auto-Keras é uma biblioteca em evolução e ainda está em pré-lançamento. Segundo o site oficial, ela oferece os seguintes módulos principais:

  • supervised: classe base para todas as tarefas supervisionadas.
  • bayesian: um GaussianProcessRegressor para otimização bayesiana.
  • search: classe base de todos os mecanismos de busca. Cada classe pode sobrescrever sua função de busca para implementar sua estratégia.
  • graph: classe que representa o grafo de arquitetura neural de um modelo Keras. O grafo extrai a arquitetura neural de um modelo Keras. Cada nó é um tensor intermediário entre camadas; cada camada é uma aresta do grafo. Várias arestas podem se referir à mesma camada (por exemplo, a camada Add soma dois tensores em um único tensor, relacionando-se a duas arestas).
  • preprocessor: classe que formata dados, incluindo a transformação de rótulos de classificação em vetores.
  • model_trainer: classe usada para treinar o modelo. Pode treinar um modelo em Pytorch com data loaders fornecidos. A métrica, a função de perda e o modelo devem ser compatíveis entre si. Veja os detalhes nos atributos.

Notas finais

Você chegou ao fim. Neste tutorial, vimos o processo geral de machine learning e como automatizá-lo. Demos uma olhada nas bibliotecas disponíveis para AutoML. Usamos o auto-keras para entender o nível de abstração que ele oferece e como é simples utilizá-lo.

Talvez você fique com a impressão de que o AutoML vai substituir muitos cientistas de dados quando estiver totalmente maduro. Será? Pense de novo. O AutoML libera os cientistas de dados do fardo iterativo de escolher o melhor modelo para um problema. Com isso, o foco pode estar mais nos dados — o que é essencial. Esta entrevista com Randy Olson traz ótimos insights sobre o tema. Vale a leitura — e você não vai se desmotivar. Se em algum momento bater a dúvida sobre o papel do profissional de machine learning, confira este post.

O campo de AutoML avança rápido. Por exemplo, o NAS (Neural Architecture Search) é um algoritmo que busca a melhor arquitetura de rede neural. A seguir, alguns links com casos de uso de ponta em AutoML:

Algumas referências utilizadas:

Se quiser se aprofundar em Deep Learning, faça o curso "Deep Learning in Python" da DataCamp e confira nosso curso Introduction to Deep Learning in Python.

Tópicos
Aprendizado de máquina
Python

Aprenda mais sobre Python e machine learning

Curso

Aprendizado de máquina com modelos baseados em árvores em Python

5 h
118.8K
Neste curso, você aprenderá a usar modelos baseados em árvores e conjuntos para regressão e classificação usando o scikit-learn.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado
Machine Learning Concept

blog

O que é aprendizado de máquina? Definição, tipos, ferramentas e muito mais

Descubra tudo o que você precisa saber sobre o aprendizado de máquina em 2023, incluindo seus tipos, usos, carreiras e como começar no setor.
Matt Crabtree's photo

Matt Crabtree

14 min

blog

8 modelos de aprendizado de máquina explicados em 20 minutos

Descubra tudo o que você precisa saber sobre os tipos de modelos de aprendizado de máquina, inclusive para que eles são usados e exemplos de como implementá-los.
Natassha Selvaraj's photo

Natassha Selvaraj

15 min

Clustering k-means

Tutorial

Introdução ao k-Means Clustering com o scikit-learn em Python

Neste tutorial, saiba como aplicar o k-Means Clustering com o scikit-learn em Python

Kevin Babitz

8 min

Tutorial

Introdução ao Q-learning: um tutorial para iniciantes

Aprenda o algoritmo de aprendizado por reforço sem modelo mais popular com um tutorial em Python.
Abid Ali Awan's photo

Abid Ali Awan

11 min

Tutorial

Tutorial de manipulação de dados categóricos de aprendizado de máquina com Python

Aprenda os truques comuns para lidar com dados categóricos e pré-processá-los para criar modelos de aprendizado de máquina!
Moez Ali's photo

Moez Ali

14 min

Tutorial

Tutorial do modelo de transformador no PyTorch: Da teoria ao código

Saiba como criar um modelo Transformer usando o PyTorch, uma ferramenta poderosa do machine learning moderno.
Arjun Sarkar's photo

Arjun Sarkar

15 min

Ver MaisVer Mais