Etapa 5: Usar o modelo de ML para gerar previsões - Amazon Machine Learning

Não estamos mais atualizando o serviço Amazon Machine Learning nem aceitando novos usuários para ele. Essa documentação está disponível para usuários existentes, mas não estamos mais atualizando-a. Para obter mais informações, consulte O que é o Amazon Machine Learning.

Etapa 5: Usar o modelo de ML para gerar previsões

O Amazon Machine Learning (Amazon ML) pode gerar dois tipos de previsões: em lotes e em tempo real.

Uma previsão em tempo real é uma previsão para uma única observação que gera o Amazon ML sob demanda. As previsões em tempo real são ideais para aplicativos móveis, sites e outros aplicativos que precisam usar resultados interativamente.

Uma previsão em lote é um conjunto de previsões para um grupo de observações. O Amazon ML processa os registros em uma previsão em lote, o que pode levar algum tempo. Use previsões em lotes para aplicativos que exigem previsões para o conjunto de observações ou previsões que não usam os resultados de forma interativa.

Para este tutorial, você gerará uma previsão em tempo real que prevê se um cliente em potencial se inscreverá no novo produto. Você também gerará previsões para um grande lote de clientes potenciais. Para a previsão em lotes, você usará o arquivo banking-batch.csv que carregou na Etapa 1: Preparar os dados.

Vamos começar com uma previsão em tempo real.

nota

Para aplicativos que exigem previsões em tempo real, você precisa criar um endpoint em tempo real para o modelo de ML. Você acumula cobranças enquanto um endpoint em tempo real está disponível. Antes de confirmar o uso de previsões em tempo real e começar a incorrer no custo associado a elas, tente usar o recurso de previsão em tempo real no navegador da web, sem a criação de um endpoint em tempo real. É o que faremos neste tutorial.

Para tentar uma previsão em tempo real
  1. No painel de navegação ML model report (Relatório do modelo de ML), escolha Try real-time predictions (Tentar previsões em tempo real).

  2. Escolha Paste a record (Colar um registro).

  3. Na caixa de diálogo Paste a record (Colar um registro), cole a seguinte observação:

    32,services,divorced,basic.9y,no,unknown,yes,cellular,dec,mon,110,1,11,0,nonexistent,-1.8,94.465,-36.1,0.883,5228.1
  4. Na caixa de diálogo Colar um registro, escolha Enviar para confirmar que você deseja gerar uma previsão para essa observação. O Amazon ML preenche os valores no formulário de previsão em tempo real.

    nota

    Você também pode preencher os campos Value (Valor) digitando valores individuais. Independentemente do método escolhido, você deve fornecer uma observação que não foi usada para treinar o modelo.

  5. Na parte inferior da página, escolha Create prediction (Criar previsão).

    A previsão aparece no painel Prediction results (Resultados da previsão) à direita. Essa previsão tem um Predicted label (Rótulo previsto) igual a 0, o que significa que esse cliente potencial dificilmente responderá à campanha. Um Predicted label (Rótulo previsto) igual a 1 significa que o cliente provavelmente responderá à campanha.

Agora crie uma previsão em lote. Você fornecerá ao Amazon ML o nome do modelo de ML que está usando, o local do Amazon Simple Storage Service (Amazon S3) dos dados de entrada para os quais deseja gerar previsões (o Amazon ML criará uma fonte de dados de previsão em lotes a partir desses dados) e o local do Amazon S3 para armazenar os resultados.

Para criar uma previsão em lote
  1. Escolha Amazon Machine Learning e, em seguida, escolha Batch Predictions (Previsões em lotes).

  2. Escolha Create new batch prediction (Criar nova previsão em lotes).

  3. Na página ML model for batch predictions (Modelo de ML para previsões em lotes), escolha ML model: Banking Data 1 (Modelo de ML: dados bancários 1).

    O Amazon ML exibe o nome do modelo de ML, o ID, a hora de criação e o ID da fonte de dados associada.

  4. Escolha Continue (Continuar).

  5. Para gerar previsões, você precisa fornecer ao Amazon ML os dados para os quais precisa gerar previsões. Eles são chamados de dados de entrada. Em primeiro lugar, coloque os dados de entrada em uma fonte de dados para que o Amazon ML possa acessá-los.

    Em Locate the input data (Localizar os dados de entrada), escolha My data is in S3, and I need to create a datasource (Meus dados estão no S3, e eu preciso criar uma fonte de dados).

  6. Em Datasource Name (Nome da fonte de dados), digite Banking Data 2.

  7. Em S3 Location (Local do S3), digite o local completo do arquivo banking-batch.csv: seu-bucket/banking-batch.csv.

  8. Em Does the first line in your CSV contain the column names? (A primeira linha de seu CSV contém os nomes das colunas?), escolha Yes (Sim).

  9. Escolha Verify (Verificar).

    O Amazon ML validará o local dos dados.

  10. Escolha Continue (Continuar).

  11. Em Destino do S3, digite o nome do local do Amazon S3 em que você carregou os arquivos na "Etapa 1: preparar os dados". O Amazon ML carrega os resultados das previsões nesse local.

  12. Em Nome de previsão em lote, aceite o padrão, Batch prediction: ML model: Banking Data 1. O Amazon ML escolhe o nome padrão com base no modelo que ele usará para criar previsões. Neste tutorial, o modelo e as previsões recebem o mesmo nome da fonte de dados de treinamento: Banking Data 1.

  13. Escolha Review (Revisar).

  14. Na caixa de diálogo S3 permissions (Permissões do S3), escolha Yes (Sim).

  15. Na página Review (Rever), escolha Finish (Concluir).

    A solicitação de previsão em lote é enviada ao Amazon ML e inserida em uma fila. O tempo que o Amazon ML leva para processar uma previsão em lote depende do tamanho da fonte de dados e da complexidade do modelo de ML. Embora o Amazon ML processe a solicitação, ele informa o status Em andamento. Após a conclusão da previsão em lotes, o status da solicitação é alterado para Completed (Concluído). Agora você pode exibir os resultados.

Para exibir as previsões
  1. Escolha Amazon Machine Learning e, em seguida, escolha Batch Predictions (Previsões em lotes).

  2. Na lista de previsões, escolha Batch prediction: ML model: Banking Data 1 (Previsão em lotes: modelo de ML: dados bancários 1). A página Batch prediction info (Informações da previsão em lotes) é exibida.

  3. Para visualizar os resultados da previsão em lote, acesse o console do Amazon S3 em https://console.aws.amazon.com/s3/ e navegue até a localização do Amazon S3 mencionada no campo URL de saída do S3. Nesse local, navegue até a pasta de resultados, que terá um nome semelhante a s3://aml-data/batch-prediction/result.

    A previsão é armazenada em um arquivo .gzip compactado com a extensão .gz.

  4. Faça download do arquivo de previsão para sua área de trabalho, descompacte-o e abra-o.

    O arquivo tem duas colunas, bestAnswer e score (pontuação), e uma linha para cada observação na fonte de dados. Os resultados na coluna bestAnswer são baseados no limite de pontuação de 0,77 que você definiu na Etapa 4: Analisar o desempenho preditivo do modelo de ML e definir um limite de pontuação. Uma score (pontuação) superior a 0,77 resultará em uma bestAnswer igual a 1, que é uma previsão ou resposta positiva, e uma score (pontuação) inferior a 0,77 resultará em uma bestAnswer igual a 0, que é uma previsão ou resposta negativa.

    Os exemplos a seguir mostram previsões positivas e negativas com base no limite de pontuação 0,77.

Previsão positiva:

Neste exemplo, o valor de bestAnswer é 1, e o valor de score (pontuação) é 0,8228876. O valor de bestAnswer é 1 porque a score (pontuação) é maior que o limite de pontuação de 0,77. Uma bestAnswer igual a 1 indica que o cliente provavelmente comprará seu produto e é, portanto, considerada uma previsão positiva.

Previsão negativa:

Neste exemplo, o valor de bestAnswer é 0 porque o valor de score (pontuação) é 0,7695356, que é inferior ao limite de pontuação de 0,77. A bestAnswer igual a 0 indica que o cliente provavelmente não comprará seu produto e é, portanto, considerada uma previsão negativa.

Cada linha do resultado do lote corresponde a uma linha em sua entrada de lote (uma observação em sua fonte de dados).

Após analisar as previsões, você pode executar a campanha de marketing segmentada; por exemplo, enviando folhetos a todas as pessoas com uma pontuação prevista igual a 1.

Agora que você criou, analisou e usou seu modelo, limpe os dados e os recursos da AWS que você criou para evitar cobranças desnecessárias e manter seu espaço de trabalho organizado.