Como gerar previsões de machine learning sem programação de código

GUIA DE CONCEITOS BÁSICOS

Visão geral

Neste tutorial, você aprenderá a usar o Amazon SageMaker Canvas para criar modelos de machine learning (ML) e gerar previsões precisas sem a necessidade de programar uma única linha de código.
 
O Amazon SageMaker é uma interface visual de apontar e clicar que expande o uso de ML para analistas de negócios, ao auxiliar pessoas sem qualquer experiência em ML na tomada de decisões de negócios. Com o SageMaker Canvas, os analistas de negócios podem criar modelos de ML e gerar previsões por conta própria. Como usuário do SageMaker Canvas, você pode importar dados de diferentes fontes, escolher as variáveis de destino necessárias para as previsões, e preparar e analisar dados. Usando os recursos integrados do AutoML, você pode criar um modelo de ML e gerar previsões precisas individuais ou em massa com apenas alguns cliques, além de tomar decisões de negócios eficazes.

O que você aprenderá

Neste guia, você vai:

  • Importar conjuntos de dados
  • Selecionar a variável de destino para classificação
  • Inspecionar visualmente os conjuntos de dados
  • Criar um modelo de ML com o recurso Quick Build do SageMaker Canvas
  • Entender os recursos e métricas do modelo
  • Gerar e entender previsões em massa e individuais

Pré-requisitos

Antes de iniciar este guia, você precisará de:

  • Uma conta da AWS: caso ainda não tenha uma conta, siga o guia de conceitos básicos Como configurar o seu ambiente para obter uma breve visão geral.

 Experiência com a AWS

Iniciante

 Tempo para a conclusão

20 minutos

 Custo para a conclusão

Consulte os preços do SageMaker Canvas para estimar o custo deste tutorial.

 Requisitos

Você deve estar conectado a uma conta da AWS.

 Serviços usados

Amazon SageMaker Canvas

 Data da última atualização

28 de junho de 2022

Caso de uso

Neste tutorial, você criará um modelo de ML que pode prever o tempo estimado de chegada (ETA) das remessas (medido em dias). Você usará um conjunto de dados que contém dados de envio completos para produtos entregues, incluindo tempo estimado, envio, prioridade, transportadora e origem.

 

Etapa 1: configure o domínio do Amazon SageMaker Studio

Uma conta da AWS pode ter apenas um domínio do SageMaker Studio por região da AWS. Caso você já tenha um domínio do SageMaker Studio na região Leste dos EUA (Norte da Virgínia), siga o Guia de configuração do SageMaker Studio para anexar as políticas do AWS IAM necessárias à sua conta do SageMaker Studio, ignore a Etapa 1 e vá diretamente para a Etapa 2. 

Caso você não tenha um domínio SageMaker Studio, continue com os passos da Etapa 1 para executar um modelo do AWS CloudFormation que cria um domínio do SageMaker Studio e adiciona as permissões necessárias para finalizar este tutorial.

Escolha o link da pilha do AWS CloudFormation. Esse link abre o console do AWS CloudFormation e cria seu domínio do SageMaker Studio e um usuário chamado studio-user. Ele também adiciona as permissões necessárias à sua conta do SageMaker Studio. No console do CloudFormation, confirme se US East (N. Virginia) (Leste dos EUA [Norte da Virgínia]) é a Region (Região) exibida no canto superior direito. O Stack name (Nome da pilha) deve ser CFN-SM-IM-Lambda-Catalog e não deve ser alterado. Essa pilha levará cerca de dez minutos para criar todos os recursos.

A pilha pressupõe que você já tem uma VPC pública configurada em sua conta. Se você não tiver uma VPC pública, consulte VPC com uma única sub-rede pública para aprender como criar uma VPC pública.

Selecione I acknowledge that AWS CloudFormation might create IAM resources (Eu reconheço que o AWS CloudFormation pode criar recursos do IAM) e, em seguida, escolha Create stack (Criar pilha).

Etapa 1: configure o domínio do Amazon SageMaker Studio

No painel CloudFormation, escolha Stacks (Pilhas). A pilha levará cerca de dez minutos para ser criada. Quando a pilha for criada, o status dela deve mudar de CREATE_IN_PROGRESS para CREATE_COMPLETE.

Etapa 1: configure o domínio do Amazon SageMaker Studio

Etapa 2: realize login no SageMaker Canvas e faça upload do conjunto de dados para o bucket do Amazon S3

Insira SageMaker Canvas na barra de pesquisa no Console da AWS e acesse o SageMaker Canvas.

Escolha Canvas no painel de controle no painel esquerdo e, em seguida, clique em US East (N. Virginia) (Leste dos EUA [Norte da Virgínia]) na lista suspensa Region (Região) no canto superior direito.

  • Na página do SageMaker Canvas, escolha Launch SageMaker Canvas (Iniciar o SageMaker Canvas).
  • Na página Control Panel (Painel de controle), selecione Canvas na lista suspensa Launch app (Iniciar aplicação) ao lado do studio-user.
  • A tela Creating application (Criando aplicação) do SageMaker Canvas será exibida. A aplicação levará alguns minutos para carregar.
 
Observação: para acessar facilmente o Console da AWS durante o restante do tutorial, você pode abrir uma nova guia para iniciar o Canvas ao clicar com o botão direito do mouse em Canvas na lista suspensa Launch app (Iniciar aplicação).

Se esta for a primeira vez que você estiver utilizando o SageMaker na região US-East 1, o SageMaker Canvas criará um bucket do Amazon S3 com um nome que usa o seguinte padrão: sagemaker-<your-Region>-<your-account-id>. Antes de prosseguir com o restante do tutorial, faça o download dos conjuntos de dados abaixo e salve-os em seu computador local. Em seguida, você fará upload dos conjuntos de dados para o bucket padrão do S3 que o SageMaker Canvas criou para você.

Faça download do log de envio e dos conjuntos de dados de produtos sintéticos.

Na barra de pesquisa do Console da AWS, insira S3 e, em seguida, selecione S3.

 

Etapa 2: fa&ccedil;a upload do conjunto de dados para o bucket do Amazon S3

Quando o console do S3 for aberto, você poderá encontrar o bucket padrão que o SageMaker Canvas criou para você na seção Buckets. Escolha o bucket chamado sagemaker-<your-Region>-<your-account-id> e, na página seguinte, escolha Upload (Fazer upload).

Etapa 2: fa&ccedil;a upload do conjunto de dados para o bucket do Amazon S3

Na página Upload (Fazer upload), escolha Add files (Adicionar arquivos) e selecione os dois conjuntos de dados de que você fez o download na etapa anterior. Role até a parte inferior da página e escolha Upload (Fazer upload). O SageMaker Canvas acessará esses arquivos antes de criar o modelo.

Etapa 2: fa&ccedil;a upload do conjunto de dados para o bucket do Amazon S3
Etapa 2: fa&ccedil;a upload do conjunto de dados para o bucket do Amazon S3

Etapa 3: configure o SageMaker Canvas para criação automática de modelos

Importe dados para o SageMaker Canvas para inspeção visual e criação de modelos.

Importe o conjunto de dados para o SageMaker Canvas.

  • Na interface do SageMaker Canvas, escolha Datasets (Conjuntos de dados) no painel esquerdo e escolha + Import (+ Importar).
  • Selecione o bucket do Amazon S3 chamado sagemaker-<your-Region>-<your-account-id> no qual você fez o upload dos conjuntos de dados na etapa anterior. Selecione os conjuntos de dados shipping_logs.csv e product_descriptions.csv marcando as caixas de seleção à esquerda. Dois novos botões aparecerão na parte inferior da sua página: Preview all (Pré-visualizar tudo) e Import data (Importar dados). Escolha Preview all (Pré-visualizar tudo). Isso permite que você tenha acesso a uma pré-visualização de 100 linhas dos conjuntos de dados.
  • Depois de verificar os conjuntos de dados, escolha Import data (Importar dados) para importá-los para o SageMaker Canvas.
Etapa 3: configure o SageMaker Canvas para cria&ccedil;&atilde;o autom&aacute;tica de modelos
Etapa 3: configure o SageMaker Canvas para cria&ccedil;&atilde;o autom&aacute;tica de modelos
Etapa 3: configure o SageMaker Canvas para cria&ccedil;&atilde;o autom&aacute;tica de modelos

Na página SageMaker Canvas, na seção Datasets (Conjuntos de Dados), você encontrará os dois conjuntos de dados que importou. Escolha Join data (Associar dados).

Etapa 3: configure o SageMaker Canvas para cria&ccedil;&atilde;o autom&aacute;tica de modelos

Na página Join Datasets (Associar conjuntos de dados), arraste os dois conjuntos de dados do painel esquerdo para o painel direito. Selecione o ícone de associação entre os dois conjuntos de dados. Uma mensagem pop-up mostrando os detalhes sobre a associação aparecerá. Certifique-se de que o tipo de junção seja Inner (Interna) e a coluna de junção seja ProductId. Escolha Save & close (Salvar e fechar) e, em seguida, selecione Import data (Importar dados).

  • Na caixa de diálogo Import data (Importar dados), insira o nome ConsolidatedShippingData no campo de nome Import dataset (Importar conjunto de dados) e escolha Import data (Importar dados).


Etapa 3: configure o SageMaker Canvas para cria&ccedil;&atilde;o autom&aacute;tica de modelos
Etapa 3: configure o SageMaker Canvas para cria&ccedil;&atilde;o autom&aacute;tica de modelos
Etapa 3: configure o SageMaker Canvas para cria&ccedil;&atilde;o autom&aacute;tica de modelos

Etapa 4: crie, treine e analise um modelo de ML

Configure a variável de destino, inspecione visualmente as propriedades dos dados e inicie o processo de criação do modelo.

Na interface do usuário do SageMaker Canvas, escolha Models (Modelos) e selecione + New model (+ Novo modelo). Na caixa de diálogo Create new model (Criar novo modelo), insira ShippingForecast no campo de nome do modelo e escolha Create (Criar).

Etapa 4: crie, treine e analise um modelo de ML
Etapa 4: crie, treine e analise um modelo de ML

A página de visualização do modelo consiste em quatro guias que representam as etapas envolvidas na criação de um modelo e na obtenção de previsões. As guias são:

  • Select (Selecionar): configure os dados de entrada.
  • Build (Criar): crie o modelo de ML.
  • Analyze (Analisar): analise o resultado e os recursos do modelo.
  • Predict (Prever): realize previsões em massa ou em uma amostra individual.

Na guia Select (Selecionar), escolha o botão de opção para o conjunto de dados ConsolidatedShippingData que você criou na etapa anterior. Este conjunto de dados contém 16 colunas e 10 mil linhas. Ele também contém uma descrição de alto nível da forma e do tamanho do conjunto de dados. Escolha Select dataset (Selecionar conjunto de dados).

Etapa 4: crie, treine e analise um modelo de ML
Etapa 4: crie, treine e analise um modelo de ML

Depois de selecionar o conjunto de dados, o SageMaker Canvas desloca-se automaticamente para a fase Build (Criar). Nesta guia, escolha a coluna de destino, que é ActualShippingDays para este exemplo. Como esta coluna contém o histórico de dias necessários para a chegada das mercadorias, ela é adequada para ser usada como coluna de destino.

  • Depois que a coluna de destino é selecionada, o SageMaker Canvas tenta inferir o tipo de problema de forma automática. Como você deseja saber quantos dias levará para que as mercadorias cheguem ao cliente, esse é um problema de regressão ou de previsão numérica. A regressão estima os valores de uma variável de destino dependente com base em uma ou mais variáveis ou atributos correlacionados a ela. Nesse caso, o SageMaker Canvas inicialmente pode prever esse caso de uso como um problema Time series forecasting type (tipo Previsão de séries temporais) porque detectou uma coluna com datas no conjunto de dados. No entanto, você pode alterar o tipo de problema para Numeric model type (tipo Modelo numérico), selecionando-o manualmente com o link Change type (Alterar tipo) no centro da página.
Etapa 4: crie, treine e analise um modelo de ML
Etapa 4: crie, treine e analise um modelo de ML
Você notará que o SageMaker Canvas fornece estatísticas de conjunto de dados, incluindo valores ausentes e incompatíveis, valores exclusivos e valores médios e medianos para cada uma das colunas no conjunto de dados. Você pode usar essas estatísticas para remover algumas das colunas. Se você não quiser usar uma coluna específica para previsão, pode removê-la (desmarcá-la) na caixa de seleção à esquerda.
  • Observe que a correlação das colunas XShippingDistance e YShippingDistance com o destino é insignificante.
  • Como os recursos com correlação insignificante com o destino não são informativos o suficiente para a tarefa de previsão disponível, você pode remover as colunas XShippingDistance,YShippingDistance, ProductID e OrderID porque são chaves primárias e não se espera que contenham informações valiosas. Você pode desmarcar as caixas de seleção.
  • Você pode selecionar o ícone de barras verticais para inspecionar as distribuições das colunas. Isso é muito útil para destacar desequilíbrios e possíveis desvios nos dados.
Etapa 4: crie, treine e analise um modelo de ML
Etapa 4: crie, treine e analise um modelo de ML
Etapa 4: crie, treine e analise um modelo de ML
Depois de concluir a exploração de dados, você pode treinar um modelo. No SageMaker Canvas, há dois métodos de treinamento:  Quick build e Standard build. O Quick build geralmente leva de 2 a 15 minutos para criar o modelo, enquanto o Standard build geralmente leva de 2 a 4 horas e normalmente tem maior precisão. O Quick build treina menos combinações de modelos e hiperparâmetros para priorizar a rapidez. Isso é aplicável sobretudo em casos como o deste tutorial, no qual o objetivo é desenvolver rapidamente um modelo de protótipo para o caso de uso escolhido.

Para os propósitos deste tutorial, escolha Quick build para iniciar a criação do modelo. Este processo leva menos de cinco minutos para ser concluído.

Etapa 4: crie, treine e analise um modelo de ML

Após a conclusão da criação do modelo, o SageMaker Canvas alterna automaticamente para a guia Analyze (Analisar) para mostrar os resultados rápidos do treinamento. O modelo SageMaker Canvas criado com o Quick build pode prever o número de dias de envio com margem de +/-1,2333 do valor real. O machine learning introduz alguma estocasticidade no processo de treinamento de modelos, o que pode levar a resultados diferentes para criações diferentes. Portanto, a performance exata em termos de métricas que você obtiver pode ser diferente.

Etapa 4: crie, treine e analise um modelo de ML

Na guia Overview (Visão geral), o SageMaker Canvas exibe o impacto da coluna ou a importância estimada de cada coluna de entrada na previsão da coluna de destino. Neste exemplo, a coluna ExpectedShippingDays tem o impacto mais significativo na previsão do número de dias de envio. No painel direito, você também pode ver a ordem do impacto de um recurso. Por exemplo, quanto maior o valor de ExpectedShippingDays, mais positivo será o impacto na previsão do número de dias de envio.

Etapa 4: crie, treine e analise um modelo de ML

Na guia Scoring (Pontuação), você pode visualizar um gráfico que representa a linha de regressão mais adequada para ActualshippingDays. Em média, a previsão do modelo tem uma diferença de +/- 1,2333 do valor real de ActualShippingDays. Para previsão numérica, a seção Scoring (Pontuação) exibe uma linha para indicar o valor previsto do modelo em relação aos dados usados para fazer previsões. Os valores da previsão numérica são frequentemente +/- o valor de RMSE (raiz do erro quadrático médio). O valor que o modelo prevê geralmente está dentro do intervalo de RMSE. O intervalo de RMSE é indicado pela largura da faixa em roxo ao redor da linha. Os valores previstos normalmente estão dentro do intervalo. Para obter uma compreensão mais profunda da performance do modelo, selecione o link Advanced metrics (Métricas avançadas) à direita para exibir a página Advanced metrics (Métricas avançadas).

  • As diversas métricas mostradas na página Advanced metrics (Métricas Avançadas) são R2, Erro Médio Absoluto (MAE), Erro Percentual Médio Absoluto (MAPE) e Raiz do Erro Quadrático Médio (RMSE). A página Advanced metrics (Métricas avançadas) também exibe gráficos para inspeção visual da performance do modelo. Uma imagem mostra um gráfico dos resíduos ou erros. A linha horizontal indica um erro zerado ou uma previsão perfeita. Os pontos azuis indicam os erros. A distância entre eles e a linha horizontal indica a magnitude dos erros.
  • Ao rolar para baixo a página Advanced metrics (Métricas avançadas), você pode visualizar um gráfico de densidade de erros que mostra a distribuição dos erros e sua dispersão em relação ao MAE e à RMSE do modelo. Uma densidade de erro com formato semelhante a uma distribuição normal é indicativa de boa performance do modelo.
Etapa 4: crie, treine e analise um modelo de ML
Etapa 4: crie, treine e analise um modelo de ML
Etapa 4: crie, treine e analise um modelo de ML

Etapa 5: gere previsões de modelo

Agora que você tem um modelo de regressão, pode usá-lo para executar previsões ou criar uma nova versão desse modelo para treinar com o processo Standard Build. Nesta etapa, você usará o SageMaker Canvas para gerar previsões em conjuntos de dados individuais e em massa.

Para começar a gerar previsões, escolha a guia Predict (Prever).

  • Escolha o botão Predict (Prever) na parte inferior da página Analyze (Analisar) ou escolha a guia Predict (Prever). Na página Predict (Prever), a opção Batch prediction (Previsão em lote) já está selecionada. Escolha Select dataset (Selecionar conjunto de dados) e, em seguida, selecione o conjunto de dados ConsolidatedShippingData. Em fluxos de trabalho reais de ML, esse conjunto de dados deve ser separado do conjunto de dados de treinamento. No entanto, para simplificar, aqui você usa o mesmo conjunto de dados para demonstrar como o SageMaker Canvas gera previsões. Escolha Generate predictions (Gerar previsões).
  • Após alguns segundos, a previsão é gerada. Escolha o ícone de opções e selecione preview (pré-visualizar) para obter uma pré-visualização das previsões ao passar o mouse sobre o nome ou sobre o status do conjunto de dados de previsões. Você também pode escolher Download (Fazer download) para baixar um arquivo CSV contendo todos os resultados. O SageMaker Canvas fornece uma previsão para cada linha de dados. Neste tutorial, o recurso de maior importância é ExpectedShippingDays. Ele também é apresentado ao lado das previsões para que você tenha uma comparação visual.
  • Na página Predict (Prever), você pode gerar previsões para uma amostra individual selecionando Single prediction (Previsão individual). O SageMaker Canvas apresenta uma interface na qual você pode inserir manualmente os valores para cada uma das variáveis de entrada usadas no modelo. Esse tipo de análise é ideal para cenários hipotéticos nos quais você deseja saber como a previsão se altera quando uma ou mais variáveis aumentam ou diminuem de valor. Com a previsão do conjunto individual de valores de coluna, o SageMaker Canvas fornece a importância dos recursos de maneira individual. Isso indica quais são as colunas com maior influência na previsão da amostra atual.
Etapa 5: gere previs&otilde;es de modelo
Etapa 5: gere previs&otilde;es de modelo
Etapa 5: gere previs&otilde;es de modelo
Etapa 5: gere previs&otilde;es de modelo
Etapa 5: gere previs&otilde;es de modelo
Etapa 5: gere previs&otilde;es de modelo
Após o processo de criação do modelo, o SageMaker Canvas faz o upload de todos os artefatos, incluindo o modelo treinado que foi salvo como um arquivo pickle, as métricas, os conjuntos de dados e as previsões para seu bucket S3 padrão em um local chamado Canvas/studio-user. Você pode inspecionar o conteúdo e usá-lo, conforme necessário, para um desenvolvimento posterior.
Etapa 5: gere previs&otilde;es de modelo

Para o escopo deste tutorial, o Standard Model (Modelo padrão) não é abrangido. No entanto, o treinamento nesse modo é semelhante às etapas descritas neste tutorial.

Você pode começar dando um nome ao modelo, como ShippingForecastStandardModel. Além disso, na guia Build (Criar), você pode escolher Standard Model (Modelo padrão) em vez de Quick Model (Modelo rápido). A partir desse ponto, prossiga com as etapas restantes. O modo Standard build é vantajoso por fornecer a funcionalidade adicional de poder compartilhar o modelo treinado com cientistas de dados por meio do SageMaker Studio. Isso permite colaboração, aprimoramento rápido do modelo e iterações. A opção de compartilhamento estará disponível na guia Analyze (Analisar) quando o treinamento do modelo for concluído.

Etapa 5: gere previs&otilde;es de modelo
Etapa 5: gere previs&otilde;es de modelo

Etapa 6: limpe seus recursos da AWS

Para evitar cobranças não intencionais, é uma prática recomendada excluir recursos que você não esteja mais usando.

Navegue até o console do S3 e selecione a opção Buckets no menu.

Exclua o objeto de teste do seu bucket de teste. Selecione o nome do bucket com o qual você estava trabalhando neste tutorial. Marque a caixa de seleção à esquerda do nome do objeto de teste e selecione o botão Delete (Excluir). Na página Delete objects (Excluir objetos), verifique se você selecionou o objeto correto para excluir e digite permanently delete (excluir permanentemente) na caixa de confirmação Permanently delete objects (Excluir objetos permanentemente). Em seguida, selecione o botão Delete object (Excluir objeto) para continuar. Posteriormente, será apresentada uma faixa de notificação indicando se a exclusão foi bem-sucedida.

 

Etapa 6: limpe seus recursos da AWS
Etapa 6: limpe seus recursos da AWS

Na página principal do SageMaker Canvas, escolha Models (Modelos). No painel direito, o modelo que você criou é visível. Escolha as reticências verticais à direita da opção View (Exibir) e selecione Delete model (Excluir modelo).

Etapa 6: limpe seus recursos da AWS

No console do SageMaker Studio, selecione studio-user e, para cada aplicação listada em Apps (Aplicações), escolha Delete app (Excluir aplicação). Siga as instruções na tela para confirmar a operação de exclusão. Aguarde até que o status seja exibido como Deleted (Excluído).

Etapa 6: limpe seus recursos da AWS
Etapa 6: limpe seus recursos da AWS

Se você usou um domínio existente do SageMaker Studio na Etapa 1, ignore o restante da Etapa 6 e vá diretamente para a seção de conclusão. 

Se você executou o modelo do CloudFormation na Etapa 1 para criar um novo domínio do SageMaker Studio, prossiga com as etapas a seguir para excluir o domínio, o usuário e os recursos criados pelo modelo do CloudFormation.

Para abrir o console do CloudFormation, insira CloudFormation na barra de pesquisa do Console da AWS e escolha CloudFormation nos resultados da pesquisa.

Etapa 6: limpe seus recursos da AWS

No painel do CloudFormation, escolha Stacks (Pilhas). Na lista suspensa de status, selecione Active (Ativo). Em Stack name (Nome da pilha), escolha CFN-SM-IM-Lambda-Catalog para abrir a página de detalhes da pilha.

Etapa 6: limpe seus recursos da AWS

Na página de detalhes da pilha CFN-SM-IM-Lambda-Catalog, escolha Delete (Excluir) para excluir a pilha junto com os recursos que ela criou na Etapa 1.

Etapa 6: limpe seus recursos da AWS

Conclusão

Parabéns! Você finalizou o tutorial Como gerar previsões de machine learning sem programação de código.

Você usou com êxito o Amazon SageMaker Canvas para importar e preparar um conjunto de dados para o ML do Amazon S3, selecionar a variável de destino, criar um modelo de ML usando o modo Quick build, além de usar a interface visual.

Esta página foi útil para você?

Próximas etapas