Criar um modelo de previsão do AutoML com a Vertex AI

Criar um modelo de previsão do AutoML com a Vertex AI

Sobre este codelab

subjectÚltimo jun. 25, 2021 atualizado
account_circleEscrito por Karl Weinmeister

1. Visão geral

Neste laboratório, você vai:

  • Crie um conjunto de dados gerenciado
  • Importar dados de um bucket do Google Cloud Storage
  • Atualizar os metadados da coluna para uso adequado com o AutoML
  • Treinar um modelo usando opções como um orçamento e um objetivo de otimização
  • Fazer previsões em lote on-line

2. Analisar dados

Este laboratório usa dados do conjunto de dados de vendas de bebidas alcoólicas de Iowa dos conjuntos de dados públicos do BigQuery. Esse conjunto de dados consiste em compras de bebidas alcoólicas no atacado no estado de Iowa, nos EUA, desde 2012.

Para conferir os dados brutos originais, selecione Ver conjunto de dados. Para acessar a tabela, navegue na barra de navegação à esquerda até o projeto bigquery-public-datasets, depois o conjunto de dados iowa_liquor_sales e a tabela sales. Selecione Visualizar para ver uma seleção de linhas do conjunto de dados.

f07c88368e7445c6.png

Para este laboratório, já fizemos um pré-processamento básico de dados para agrupar as compras por dia. Vamos usar uma extração CSV da tabela do BigQuery. As colunas no arquivo CSV são:

  • ds: a data
  • y: a soma de todas as compras naquele dia em dólares
  • holiday: um booleano que indica se a data é um feriado nos EUA
  • id: um identificador de série temporal (para oferecer suporte a várias séries temporais, por exemplo, por loja ou por produto). Nesse caso, vamos apenas prever as compras gerais em uma série temporal. Portanto, o ID é definido como 0 para cada linha.

3. Importar dados

Etapa 1: navegar até os conjuntos de dados da Vertex AI

Acesse Conjuntos de dados no menu Vertex AI na barra de navegação à esquerda do console do Cloud.

d8f26bfce50bfdb5.png

Etapa 2: criar um conjunto de dados

Crie um conjunto de dados, selecionando Dados tabulares e, em seguida, o tipo de problema Previsão. Escolha o nome iowa_daily ou outro que você preferir.

4efeaebfd7845b9c.png

Etapa 3: importar dados

A próxima etapa é importar dados para o conjunto. Escolha a opção "Selecionar um CSV do Cloud Storage". Em seguida, navegue até o arquivo CSV no bucket da demonstração Alfa do AutoML e cole automl-demo-240614-lcm/iowa_liquor/iowa_daily.csv.

4. Treinar modelo

Etapa 1: configurar recursos do modelo

Depois de alguns minutos, o AutoML vai notificar você de que a importação foi concluída. Nesse ponto, você pode configurar os recursos do modelo.

  • Selecione a coluna de identificador de série temporal como id. Temos apenas uma série temporal no nosso conjunto de dados, então isso é uma formalidade.
  • Selecione a coluna de tempo como ds.

Em seguida, selecione Gerar estatísticas. Depois que o processo for concluído, você vai ver as estatísticas %de valores ausentes e Valores distintos. Esse processo pode levar alguns minutos. Se quiser, você pode passar para a próxima etapa.

Etapa 2: treinar o modelo

Selecione Treinar o modelo para iniciar o processo de treinamento. Verifique se o AutoML está selecionado e clique em Continuar.

5028ec6f242dfa6a.png

Etapa 3: definir o modelo

  • Selecione a Coluna de destino como y. Esse é o valor que estamos prevendo.
  • Se ainda não tiver sido definido, defina a coluna Identificador de série como id e a Coluna de carimbo de data/hora como ds.
  • Defina a Granularidade dos dados como Dias e o Horizonte de previsão como 7. Esse campo especifica o número de períodos que o modelo pode prever no futuro.
  • Defina a Janela de contexto como 7 dias. O modelo usa dados dos últimos 30 dias para fazer uma previsão. Há compensações entre janelas mais curtas e mais longas, e geralmente é recomendável selecionar um valor entre 1 e 10 vezes o horizonte de previsão.
  • Marque a caixa Exportar conjunto de dados de teste para o BigQuery. Você pode deixar em branco, e ele vai criar automaticamente um conjunto de dados e uma tabela no seu projeto (ou especificar um local de sua escolha).
  • Selecione Continuar.

8d2f34779ba49bb1.png

Etapa 4: definir opções de treinamento

Nesta etapa, você pode especificar mais detalhes sobre como quer treinar o modelo.

  • Defina a coluna holiday como Available na previsão, porque sabemos se uma determinada data é um feriado com antecedência.
  • Mude o Objetivo de otimização para MAE. O MAE, ou erro médio absoluto, é mais resiliente a outliers do que o erro quadrático médio. Como estamos trabalhando com dados de compras diárias que podem ter grandes variações, o MAE é uma métrica adequada para uso.
  • Selecione Continuar.

9557c92be32a1987.png

Etapa 5: iniciar o treinamento

Defina um orçamento de sua escolha. Nesse caso, uma hora de uso do nó é suficiente para treinar o modelo. Em seguida, inicie o processo de treinamento.

Etapa 6: avaliar o modelo

O processo de treinamento pode levar de uma a duas horas para ser concluído, incluindo o tempo de configuração adicional. Você vai receber um e-mail quando o treinamento for concluído. Quando estiver pronto, você poderá conferir a acurácia do modelo criado.

5. Prever

Etapa 1: analisar as previsões nos dados de teste

Navegue até o console do BigQuery para conferir as previsões nos dados de teste. No seu projeto, um novo conjunto de dados é criado automaticamente com o esquema de nomenclatura: export_evaluated_data_items + <nome do modelo> + <carimbo de data/hora>. Dentro desse conjunto de dados, você encontra a tabela evaluated_data_items para analisar as previsões.

Essa tabela tem algumas colunas novas:

  • predicted_on_[coluna de data]: a data em que a previsão foi feita. Por exemplo, se predicted_on_ds for 04/11 e ds for 08/11, a previsão será feita para quatro dias depois.
  • predicted_[target column].tables.value: o valor previsto

9800c7c67d93db03.png

Etapa 2: fazer previsões em lote

Por fim, use o modelo para fazer previsões.

O arquivo de entrada contém valores vazios para as datas a serem previstas, além de dados históricos:

ds

feriado

id

y

15/05/20

0

0

1751315.43

16/05/20

0

0

0

17/05/20

0

0

0

18/05/20

0

0

1612066.43

19/05/20

0

0

1773885.17

20/05/20

0

0

1487270,92

21/05/20

0

0

1024051.76

22/05/20

0

0

1471736.31

23/05/2020

0

0

<empty>

24/05/20

0

0

<empty>

25/05/20

1

0

<empty>

26/05/20

0

0

<empty>

27/05/20

0

0

<empty>

28/5/20

0

0

<empty>

29/05/20

0

0

<empty>

No item Previsões em lote na barra de navegação à esquerda do AI Platform (Unified), é possível criar uma previsão em lote.

Um exemplo de arquivo de entrada é criado para você aqui em um bucket de armazenamento: automl-demo-240614-lcm/iowa_liquor/iowa_daily_automl_predict.csv

Você pode fornecer esse local do arquivo de origem. Em seguida, você pode exportar as previsões para um local de armazenamento em nuvem como um CSV ou para o BigQuery. Para este laboratório, selecione BigQuery e escolha o ID do seu projeto do Google Cloud.

22e808dd5cbd4224.png

O processo de previsão em lote vai levar vários minutos. Depois que ele for concluído, clique no job de previsão em lote para conferir os detalhes, incluindo o Local de exportação. No BigQuery, navegue até o projeto / conjunto de dados / tabela na barra de navegação à esquerda para acessar as previsões.

O job vai criar duas tabelas diferentes no BigQuery. Uma vai conter as linhas com erros, e a outra, as previsões. Confira um exemplo da saída da tabela "Previsões":

9ead59dcc9ad1521.png

Etapa 3: conclusão

Parabéns! Você criou e treinou um modelo de previsão com o AutoML. Neste laboratório, abordamos a importação de dados, a criação de modelos e a geração de previsões.

Agora você pode criar seu próprio modelo de previsão.