Esta é uma introdução às jornadas dos dados tabulares com o AutoML. Para entender as principais diferenças entre o AutoML e o treinamento personalizado, consulte Como escolher um método de treinamento.
Casos de uso tabular de dados
Imagine que você trabalhe no departamento de marketing de um varejista digital. Você e sua equipe estão
criando um programa de e-mail personalizado com base nos perfis dos clientes. Você criou os perfis e os e-mails de marketing estão prontos. Agora você precisa criar um sistema que agrupe os clientes em cada perfil com base nas preferências de compras e no comportamento de gastos, mesmo no caso de clientes novos. Para maximizar o engajamento do cliente, você também quer prever os hábitos de consumo para
otimizar quando enviar e-mails.
Como sua empresa é um varejista digital, você tem dados sobre os clientes e as compras que eles fizeram. Mas e quanto aos clientes novos? É possível calcular esses valores dos clientes atuais com longos históricos de compras usando as abordagens tradicionais. No entanto, essa abordagem não funciona quando aplicada a clientes com poucos dados históricos. E se fosse possível criar um sistema capaz de prever esses valores e acelerar a entrega de programas de marketing personalizados aos clientes?
Felizmente, o machine learning e a Vertex AI estão bem posicionados para resolver esses problemas.
Neste guia, mostramos como a Vertex AI funciona para conjuntos de dados e modelos do AutoML e ilustramos os tipos de problemas que a Vertex AI foi projetada para resolver.
Como a Vertex AI funciona?
A Vertex AI aplica o aprendizado de máquina supervisionado
para alcançar um resultado pretendido.
As especificidades dos algoritmos e dos métodos de treinamento mudam com base no tipo de dados e no caso de uso. Há muitas subcategorias diferentes de machine learning. Em cada uma delas, há diferentes soluções para problemas distintos, e o trabalho é feito dentro de restrições específicas.
Você treina um modelo de machine learning com dados de exemplo. A Vertex AI usa dados
em tabela (estruturados) para treinar um modelo de machine learning para fazer
previsões sobre novos dados. O modelo aprenderá a prever uma coluna
do conjunto de dados, chamada de objetivo. Um determinado número das demais colunas
de dados servem de entradas, chamadas de recursos, que o modelo usará para aprender padrões. É possível
usar os mesmos atributos de entrada para criar vários tipos de modelos.
Basta alterar a coluna de destino e as opções de treinamento. No exemplo de marketing de e-mail, isso
significa que é possível criar modelos com os mesmos atributos de entrada, mas com previsões
de destino diferentes. Um modelo pode prever o perfil de um cliente (um objetivo categórico), outro pode prever o gasto mensal (um objetivo numérico) e o outro pode prever a demanda diária dos produtos nos próximos três meses (série de objetivos numéricos).
Fluxo de trabalho da Vertex AI
A Vertex AI usa um fluxo de trabalho de machine learning padrão:
- Coleta de dados: determine os dados necessários para treinar e testar o modelo com base no resultado pretendido.
- Preparação dos dados: verifique se os dados estão formatados e rotulados corretamente.
- Treinamento: defina os parâmetros e crie o modelo.
- Avaliação: analise as métricas do modelo.
- Implantação e previsão: disponibilize o modelo para uso.
Mas, antes de começar a coleta dos dados, você precisa pensar no problema que está tentando resolver. Isso informará seus requisitos de dados.
Data preparation
Avaliar o caso de uso
Comece com seu problema: qual é o resultado que você quer alcançar?
Que tipo de dados estão na coluna de objetivo? Qual a quantidade de dados a que você tem acesso? Dependendo das suas respostas, a Vertex AI cria o modelo necessário para resolver seu caso de uso:
- Os modelos de classificação binária preveem um resultado binário (uma de duas classes). Use esse tipo de modelo para perguntas sim ou não. Por exemplo, é possível criar um modelo de classificação binária para prever se um cliente faria uma assinatura. Geralmente, um problema de classificação binária requer menos dados do que outros tipos de modelo.
- Os modelos de classificação multiclasse preveem uma classe entre três ou mais classes distintas. Use esse tipo de modelo para categorização. Por exemplo, como varejista, convém criar um modelo de classificação multiclasse para segmentar clientes em diferentes perfis.
- Os modelos de regressão preveem um valor contínuo. Por exemplo, como varejista, talvez você queira criar um modelo de regressão para prever quanto um cliente vai gastar no próximo mês.
- Os modelos de estimativa estimam uma sequência de valores. Por exemplo, como varejista, você pode prever a demanda diária dos seus produtos nos próximos três meses para poder estoque adequadamente nos estoques com antecedência.
A previsão em dados tabulares é diferente de classificação e regressão de duas maneiras principais:
Em classificação e regressão, o valor previsto do destino depende apenas dos valores das colunas de atributo na mesma linha. Na previsão, os valores previstos também dependem dos valores de contexto da meta e dos recursos.
Em problemas de regressão e classificação, a saída é um valor. Na previsão de problemas, a saída é uma sequência de valores.
Coletar dados
Depois de estabelecer o caso de uso, você precisará coletar dados para criar o modelo pretendido.
Depois de estabelecer o caso de uso, será necessário coletar dados para treinar o modelo. A definição da origem de dados e a preparação são etapas fundamentais para a criação de um modelo de machine learning. Os dados disponíveis informam o tipo de problema que você pode resolver. Qual a quantidade de dados que você tem disponível? Seus dados são relevantes para as perguntas que você está tentando responder? Ao coletar seus dados, lembre-se das considerações a seguir.
Selecionar atributos relevantes
Um atributo é uma entrada usada no treinamento do modelo. Os atributos são os elementos usados pelo modelo para identificar padrões para fazer previsões. Portanto, eles precisam ser relevantes para o problema. Por exemplo, para criar um modelo que prevê se uma transação com cartão de crédito é fraudulenta ou não, será necessário criar um conjunto de dados que contenha detalhes da transação, como comprador, vendedor, valor, itens comprados, data e hora. Outros atributos possivelmente úteis são as informações históricas sobre o comprador e o vendedor e com que frequência houve fraudes na compra do item em questão. Que outros atributos talvez sejam relevantes?
Considere o caso de uso de e-mail marketing do varejista da introdução. estas são algumas colunas de atributo que provavelmente serão necessárias:
- Lista de itens comprados (incluindo marcas, categorias, preços e descontos)
- Número de itens comprados (último dia, semana, mês e ano)
- Soma do valor gasto (último dia, semana, mês e ano)
- Para cada item, número total vendido por dia
- Para cada item, total em estoque a cada dia
- Se você está fazendo uma promoção por um dia específico
- Perfil demográfico conhecido do comprador
Incluir dados suficientes
Em geral, quanto mais exemplos de treinamento houver, melhor serão os resultados. A quantidade necessária de dados de exemplo também aumenta ou diminui conforme a complexidade do problema que você quer solucionar. Não é necessário reunir muitos dados para ter um modelo de classificação binária preciso, em comparação à quantidade exigida por um modelo multiclasses, porque é menos complicado prever uma classe entre duas do que entre várias.
Não há uma fórmula perfeita. No entanto, há valores mínimos recomendados para os dados de exemplo:
- Problema de classificação: 50 linhas x o número de recursos
- Problema de previsão:
- 5.000 linhas x o número de atributos
- 10 valores exclusivos na coluna de identificador de série temporal x o número de atributos
- Problema de regressão: 200 x o número de atributos
Capturar variações
É necessário que o conjunto de dados capture a diversidade do espaço do problema. Quanto mais exemplos diversos um modelo vê durante o treinamento, mais rápido ele pode generalizar para exemplos novos ou menos comuns. Imagine se o modelo de varejo fosse treinado usando apenas dados de compras no período de inverno. Ele seria capaz de prever satisfatoriamente as preferências de vestuário ou os comportamentos de consumo no verão?
Preparar os dados
Depois de identificar os dados disponíveis, é necessário ter certeza de que eles estão prontos para o treinamento. Se os dados estiverem com viés ou tiverem valores ausentes ou incorretos, isso afetará a qualidade do modelo. Pense nos pontos abaixo antes de começar a treinar um modelo. Saiba mais
Evitar vazamento de dados e distorção entre treinamento e exibição
O vazamento de dados ocorre quando são usados atributos de entrada durante o treinamento que “vazam” informações sobre o objetivo que você quer prever, que não fica disponível quando o modelo é exibido. É possível detectar esse tipo de ocorrência quando um atributo altamente correlacionado com a coluna de objetivo é incluso como um dos atributos de entrada. Por exemplo, imagine que você esteja criando um modelo para prever se um cliente adquirirá uma assinatura no próximo mês e um dos atributos de entrada é um pagamento futuro pela assinatura realizado por esse cliente. Isso pode resultar em um forte desempenho do modelo durante o teste, mas não quando ele for implantado na produção, já que as informações futuras de pagamentos pela assinatura não estarão disponíveis no momento da exibição.
A distorção entre treinamento e exibição ocorre quando os atributos de entrada usados durante o treinamento são diferentes daqueles fornecidos ao modelo durante a exibição, resultando na má qualidade do modelo quando em produção. Por exemplo, criar um modelo para prever as temperaturas a cada hora, mas treiná-lo com dados que contêm apenas temperaturas por semana. Outro exemplo seria sempre fornecer as notas de um aluno nos dados de treinamento ao prever a evasão escolar, mas não fornecer essas informações no momento de exibição.
Entender os dados de treinamento é importante para evitar o vazamento de dados e a distorção entre treinamento e exibição:
- Antes de usar qualquer dado, verifique se você sabe o que eles significam e se eles servem ou não como atributo.
- Verifique a correlação na guia "Treinar". Correlações altas precisam ser sinalizadas para revisão.
- Quanto à distorção entre treinamento e exibição, verifique se foram fornecidos ao modelo apenas atributos de entrada que estão disponíveis exatamente no mesmo formato no momento da exibição.
Limpar dados ausentes, incompletos e inconsistentes
É comum que os dados de exemplo incluam valores ausentes e imprecisos. Reserve um tempo para revisar e, se possível, melhorar a qualidade dos dados antes de usá-los no treinamento. Quanto mais valores ausentes, menos úteis serão os dados para treinar um modelo de machine learning.
- Verifique seus dados quanto a valores ausentes e corrija-os, se possível, ou deixe o valor em branco se a coluna estiver definida como anulável. A Vertex AI pode cuidar de valores ausentes, mas há mais chances de você conseguir melhores resultados se todos os valores estiverem disponíveis.
- Para previsão, verifique se o intervalo entre as linhas de treinamento é consistente. A Vertex AI pode cuidar de valores ausentes, mas há mais chances de você conseguir melhores resultados se todas as linhas estiverem disponíveis.
- Corrija ou exclua erros ou ruídos para limpar os dados. Garanta que os dados sejam consistentes: revise a ortografia, as abreviações e a formatação.
Analisar os dados após a importação
A Vertex AI oferece uma visão geral do conjunto de dados após a importação. Revise o conjunto de dados importado para garantir que cada coluna tenha o tipo de variável correto. A Vertex AI detectará automaticamente o tipo de variável com base nos valores das colunas, mas o melhor é analisar cada uma delas. Além disso, analise em cada coluna a nulidade, que determina se uma coluna pode ter valores ausentes ou NULL.
Treinar modelo
Após importar o conjunto de dados, a próxima etapa é treinar um modelo. A Vertex AI gerará um modelo de machine learning confiável com os padrões de treinamento. No entanto, talvez você queira ajustar alguns dos parâmetros de acordo com seu caso de uso.
Selecione o máximo possível de colunas de atributos para o treinamento, mas analise cada uma para garantir que sejam apropriadas. Lembre-se do seguinte ao selecionar os atributos:
- Não selecione colunas de atributos que vão causar ruídos, como colunas de identificador atribuídas aleatoriamente com um valor exclusivo para cada linha.
- Certifique-se de entender cada coluna de recursos e os valores correspondentes.
- Se você pretende criar vários modelos usando um único conjunto de dados, remova as colunas de objetivo que não fazem parte do problema de previsão atual.
- Lembre-se dos princípios de imparcialidade: você está treinando o modelo com um atributo que poderia resultar em decisões enviesadas ou injustas com relação a grupos marginalizados?
Como a Vertex AI usa o conjunto de dados
O conjunto de dados é dividido em conjuntos de treinamento, validação e teste. A divisão padrão que o Vertex AI aplica depende do tipo de modelo que você está treinando. Também é possível especificar as divisões (as divisões manuais), se necessário. Para mais informações, consulte Sobre divisões de dados para modelos do AutoML.
Conjunto de treinamento
A maior parte dos dados deve estar no conjunto de treinamento. São esses os dados que seu modelo "vê" durante o treinamento e que são usados para aprender os parâmetros do modelo, ou seja, os pesos das conexões entre os nós da rede neural.
Conjunto de validação
O conjunto de validação, às vezes chamado de conjunto "dev", também é usado durante o processo de treinamento. Depois que os dados são incorporados pelo framework de aprendizado do modelo em cada iteração do processo de treinamento, o framework utiliza o desempenho do modelo no conjunto de validação para ajustar os hiperparâmetros do modelo, que são variáveis que especificam a estrutura dele. Se você tentar usar o conjunto de treinamento para ajustar os hiperparâmetros, o modelo provavelmente enfatizará os dados de treinamento de maneira excessiva e terá dificuldade para generalizar exemplos que não correspondam exatamente a eles. O modelo terá melhor capacidade de generalização se você usar um conjunto de dados relativamente novo para ajustar a estrutura do modelo.
Conjunto de teste
O conjunto de teste não faz parte do processo de treinamento. Depois que o treinamento do modelo for totalmente concluído, a Vertex AI usará o conjunto de teste como um desafio completamente novo para o modelo. O desempenho do modelo no conjunto de teste serve para que você tenha uma boa ideia de como ele vai lidar com dados reais.
Avaliar, testar e implantar seu modelo
Avaliar o modelo
Após o treinamento do modelo, você receberá um resumo do desempenho dele. As métricas de avaliação são baseadas no desempenho do modelo em relação a uma parte do conjunto de dados (o conjunto de dados de teste). Há algumas métricas e conceitos importantes a serem considerados ao determinar se o modelo está pronto para ser usado em dados reais.
Métricas de classificação
Limite de pontuação
Imagine um modelo de machine learning que prevê se um cliente comprará uma jaqueta no próximo
ano. Qual nível de certeza o modelo precisa ter para prever que um determinado cliente comprará uma
jaqueta? Nos modelos de classificação, é atribuída a cada previsão uma pontuação de confiança, que é uma avaliação
numérica da certeza do modelo de que a classe prevista está correta. O limite de pontuação é
o número que determina quando uma determinada pontuação é convertida em uma decisão de “sim” ou “não”, isto é,
o valor em que o modelo diz “sim, essa pontuação de confiança é alta o suficiente
para concluir que
esse cliente comprará um casaco no próximo ano”.
Se o limite de pontuação for baixo, o modelo correrá o risco de fazer classificações errôneas. Por isso, o limite de pontuação precisa ser baseado em um caso de uso específico.
Resultados da predição
Depois de aplicar o limite de pontuação, as previsões feitas pelo modelo são classificadas em uma de quatro categorias. Para entender essas categorias, imagine novamente o modelo de classificação binária da jaqueta. Nesse exemplo, a classe positiva (o que a modelo está tentando prever) é que o cliente comprará uma jaqueta no próximo ano.
- Verdadeiro positivo: o modelo prevê corretamente a classe positiva. O modelo previu corretamente que o cliente comprou uma jaqueta.
- Falso positivo: o modelo prevê incorretamente a classe positiva. O modelo previu que o cliente compraria uma jaqueta, mas isso não ocorreu.
- Verdadeiro negativo: o modelo prevê corretamente a classe negativa. O modelo previu corretamente que o cliente não comprou uma jaqueta.
- Falso negativo: o modelo prevê incorretamente uma classe negativa. O modelo previu que o cliente não comprou uma jaqueta, mas o cliente comprou.
Precisão e recall
Com as métricas de precisão e recall, é possível entender o desempenho do modelo na captura de informações e o que ele está deixando de fora. Saiba mais sobre precisão e recall.
- A precisão é a fração das predições positivas que estava correta. De todas as previsões de que um cliente faria uma compra, qual é a fração de compras de fato realizadas?
- Recall é a fração de linhas com esse rótulo que o modelo previu corretamente. De todas as compras feitas por clientes que poderiam ter sido identificadas, qual a fração das que foram identificadas de fato?
Dependendo do caso de uso, talvez seja necessário otimizar a precisão ou o recall.
Outras métricas de classificação
- AUC PR: área sob curva de precisão-recall (PR, na sigla em inglês). Ela varia de zero a um. Um valor maior indica um modelo de melhor qualidade.
- AUC ROC: área sob a curva de característica de operação do receptor (ROC, na sigla em inglês). Ela varia de zero a um. Um valor maior indica um modelo de melhor qualidade.
- Precisão: fração de previsões de classificação produzidas pelo modelo que estavam corretas.
- Perda de registro: entropia cruzada entre as previsões do modelo e os valores desejados. Ela varia de zero a infinito. Um valor menor indica um modelo de melhor qualidade.
- Pontuação F1: média harmônica de precisão e recall. F1 é uma métrica útil quando você está procurando um equilíbrio entre precisão e recall e a distribuição de classes é desigual.
Métricas de previsão e regressão
Após a criação do modelo, o Vertex AI fornece uma variedade de métricas padrão para análise. Não há uma resposta perfeita sobre como avaliar seu modelo. Considere as métricas de avaliação de acordo com seu tipo de problema e o que você quer alcançar com o modelo. A lista a seguir apresenta uma visão geral de algumas métricas que a AIte AI pode fornecer.
Erro médio absoluto (MAE)
O erro médio absoluto (MAE, na sigla em inglês) é a diferença média absoluta entre os valores de objetivo e previstos. Essa métrica mede a magnitude média dos erros (a diferença entre um valor de objetivo e um valor previsto) em um conjunto de predições. Como essa métrica usa valores absolutos, o MAE não considera a direção da relação nem indica o desempenho abaixo ou acima do esperado. Ao avaliar o MAE, um valor menor indica um modelo de maior qualidade (0 representa um preditor perfeito).
Raiz do erro médio quadrático (REMQ)
A raiz do erro médio quadrático (REMQ) é a raiz quadrada da diferença média ao quadrado entre os valores de objetivo e previstos. A REMQ é mais sensível a outliers do que o MAE. Portanto, se houver a preocupação com erros grandes, talvez seja mais útil avaliar a REMQ. Assim como no caso do MAE, um valor menor indica um modelo de maior qualidade (0 representa um preditor perfeito).
Raiz do erro médio quadrático e logarítmico (RMSLE)
A raiz do erro quadrático e logarítmico (RMSLE, na sigla em inglês) é a REMQ em escala logarítmica. A RMSLE é mais sensível a erros relativos do que erros absolutos e enfoca mais o desempenho insatisfatório do que o desempenho acima do esperado.
Quantil observado (somente previsão)
Para um quantil de destino determinado, o quantil observado mostra o número real de valores observados abaixo dos valores de previsão de quantil especificados. O quantil observado mostra a distância entre o modelo e o quantil desejado. Uma diferença menor entre os dois valores indica um modelo de qualidade superior.
Perda de pinball em escala (somente previsão)
Mede a qualidade de um modelo em um determinado quantil de destino. Um número menor indica um modelo de qualidade superior. É possível comparar a métrica da perda de pinball em vários quantis para determinar a precisão relativa do seu modelo entre esses quantis diferentes.
Testar o modelo
Avaliar as métricas do modelo significa, antes de mais nada, determinar se o modelo está pronto para ser implantado. No entanto, também é possível testá-lo com dados novos. Faça o upload de novos dados para ver se as previsões do modelo correspondem às suas expectativas. Com base nas métricas de avaliação ou nos testes com dados novos, talvez seja necessário aprimorar mais o desempenho do modelo.
Implantar seu modelo
Quando o desempenho for satisfatório para você, será hora de usar o modelo. Isso pode significar o uso em escala de produção ou talvez em uma única solicitação de previsão. Dependendo do caso de uso, o modelo poderá ser usado de maneiras diferentes.
Previsão em lote
A previsão em lote é útil para fazer muitas solicitações de previsão de uma só vez. A previsão em lote é assíncrona, o que significa que o modelo aguardará o processamento de todas as solicitações de previsão antes de gerar resultados em um arquivo CSV ou uma Tabela do BigQuery com os valores de previsão.
Previsão on-line
Implante seu modelo para disponibilizá-lo para pedidos de previsão com uma API REST. A previsão on-line é síncrona (em tempo real), o que significa que ela retornará rapidamente uma previsão. No entanto, ela aceita apenas uma solicitação de previsão por chamada de API. A previsão on-line será útil quando o modelo fizer parte de um aplicativo e houver elementos do sistema que dependam do retorno rápido das previsões.
Limpeza
Para evitar cobranças indesejadas, remova a implantação do modelo quando ele não estiver em uso.
Quando terminar de usar o modelo, exclua os recursos criados para evitar cobranças indesejadas na conta.
- Dados de imagem do Hello: limpar seu projeto
- Dados tabulares do Hello: limpar seu projeto
- Dados tabulares do Hello: limpar seu projeto
- Dados de vídeo do Hello: limpar seu projeto