arrow_back

Faça a predição das compras de visitantes com o BigQuery ML

Acesse mais de 700 laboratórios e cursos

Faça a predição das compras de visitantes com o BigQuery ML

Laboratório 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Visão geral

Com o Machine Learning do BigQuery (BigQuery ML), os usuários podem criar e executar modelos de machine learning no BigQuery usando consultas SQL. O objetivo é democratizar o machine learning, de modo que os especialistas em SQL criem modelos usando as respectivas ferramentas e aumentem a velocidade de desenvolvimento ao eliminar a necessidade de movimentar os dados.

O BigQuery inclui um conjunto de dados de e-commerce com milhões de registros do Google Analytics referentes à Google Merchandise Store. Neste laboratório, você vai usar esses dados para criar um modelo que prevê se um visitante fará uma transação.

O que você aprenderá

Como criar, avaliar e usar modelos de machine learning no BigQuery

Pré-requisitos

  • Um navegador, como o Chrome ou o Firefox
  • Conhecimento básico de SQL ou BigQuery

Configuração e requisitos

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Abrir o BigQuery no Console do Cloud

  1. No Console do Google Cloud, selecione o menu de navegação > BigQuery:

Você vai ver a caixa de mensagem Olá! Este é o BigQuery no Console do Cloud. Ela tem um link para o guia de início rápido e lista as atualizações da IU.

  1. Clique em Concluído.

Tarefa 1: crie um conjunto de dados

  1. Crie um novo conjunto de dados no seu projeto clicando nos três pontos ao lado do ID correspondente na seção Explorador e depois em Criar conjunto de dados.

A caixa de diálogo Criar conjunto de dados será aberta.

  1. Informe bqml_lab como o ID do conjunto de dados e clique em CRIAR CONJUNTO DE DADOS (aceite os outros valores padrão).

Tarefa 2: explore os dados

Os dados que usaremos neste laboratório estão no projeto bigquery-public-data, que está disponível para todos. Vamos analisar uma amostra desses dados.

  1. Adicione a consulta à caixa Consulta sem título e clique no botão Executar.
#standardSQL SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20160801' AND '20170631' LIMIT 10000;

As tabelas de dados têm muitas colunas, mas há poucas interessantes para nós e que usaremos para criar nosso modelo de ML. Aqui os critérios usados para saber se uma transação foi feita serão o sistema operacional do dispositivo do visitante, se esse é um dispositivo móvel, qual o país ou região do visitante e qual foi o número de visualizações da página. Nesse caso, label é o que você está tentando encaixar (ou prever).

Esses dados serão os dados de treinamento para o modelo de ML que você criar. Os dados para treinamento estão limitados àqueles coletados entre 1º de agosto de 2016 e 30 de junho de 2017. O objetivo é separar os dados do último mês para a "previsão". A limitação de 10.000 pontos de dados ajuda a economizar tempo.

  1. Vamos salvá-los como dados de treinamento. Clique em Salvar e selecione Salvar visualização no menu suspenso para salvar essa consulta como uma visualização. No pop-up, selecione o Conjunto de dados como bqml_lab, digite training_data como Nome da tabela e clique em Salvar.

Tarefa 3: crie um modelo

  • Substitua a consulta pelo seguinte para criar um modelo que prevê se um visitante vai fazer uma transação:
#standardSQL CREATE OR REPLACE MODEL `bqml_lab.sample_model` OPTIONS(model_type='logistic_reg') AS SELECT * from `bqml_lab.training_data`;

Nesse caso, bqml_lab é o nome do conjunto de dados, sample_model é o nome do modelo, training_data são os dados de transações que vimos na tarefa anterior. O tipo de modelo especificado é o de regressão logística binária.

A execução do comando CREATE MODEL cria um job de consulta que será executado de forma assíncrona. Assim, você pode fechar ou atualizar a janela da interface do BigQuery, por exemplo.

Informações do modelo e estatísticas de treinamento [opcional]

Se tiver interesse, é possível receber informações sobre o modelo clicando no conjunto de dados bqml_lab no menu à esquerda e depois no modelo sample_model na interface. Em Detalhes, você encontra algumas informações sobre o modelo básico e as opções de treinamento utilizadas na produção desse modelo. Em Treinamento, você encontra uma tabela semelhante a esta:

Uma tabela de seis colunas com 11 linhas de dados relacionados a iteração, perda de dados, taxa de aprendizado, tempo de conclusão

Tarefa 4: avalie o modelo

  • Substitua a consulta pelo seguinte:
#standardSQL SELECT * FROM ml.EVALUATE(MODEL `bqml_lab.sample_model`);

Nessa consulta, você usa a função ml.EVALUATE para avaliar os valores previstos em relação aos dados reais e compartilha algumas métricas sobre o desempenho do modelo. Você vai encontrar uma tabela semelhante a esta:

Tabela de resultados

Tarefa 5: use o modelo

  1. Clique em Consulta SQL e execute a consulta abaixo:
#standardSQL SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews, fullVisitorId FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801';

Você vai notar que as partes SELECT e FROM da consulta são semelhantes às que foram utilizadas para gerar os dados do treinamento. A coluna adicional fullVisitorId será usada para prever transações de usuários individuais. A parte WHERE reflete a mudança no período (1º de julho a 1º de agosto de 2017).

  1. Vamos salvar esses dados de julho para que possamos usá-los nas próximas duas etapas para fazer previsões usando nosso modelo. Clique em Salvar e selecione Salvar visualização no menu suspenso para salvar essa consulta como uma visualização. No pop-up, selecione o Conjunto de dados como bqml_lab e digite july_data como o Nome da tabela e clique em Salvar.

  2. Fazer previsões de compras por país/região

Com esta consulta, você tentará prever o número de transações feitas por visitantes de cada país ou região, classificar os resultados e selecionar os 10 principais por número de compras:

#standardSQL SELECT country, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10;

Nesta consulta, você está usando ml.PREDICT e a parte da consulta do BigQuery ML está vinculada a comandos SQL padrão. Para este laboratório, o que interessa a você é o país e o total de compras de cada um deles. Por isso usamos SELECT, GROUP BY e ORDER BY. LIMIT é utilizado para garantir que você receba apenas os 10 resultados principais.

Você vai encontrar uma tabela semelhante a esta:

Uma tabela de três colunas com 10 linhas de dados relacionados ao total de compras previstas por país

  1. Fazer previsões de compras por usuário

Veja outro exemplo. Desta vez, você tentará prever o número de transações feitas por cada visitante, classificar os resultados e selecionar os 10 principais visitantes por número de transações:

#standardSQL SELECT fullVisitorId, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY fullVisitorId ORDER BY total_predicted_purchases DESC LIMIT 10;

Você vai encontrar uma tabela semelhante a esta:

Uma tabela de três colunas com 10 linhas de dados relacionados ao total de compras previstas por ID de visitante completo

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.