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
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.
Faça login no Qwiklabs em uma janela anônima.
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.
Quando tudo estiver pronto, clique em Começar o laboratório.
Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.
Clique em Abrir Console do Google.
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.
Aceite os termos e pule a página de recursos de recuperação.
Abra o BigQuery no Console do Cloud
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 interface.
Clique em Concluído.
Tarefa 1: Analisar os dados
Nesta tarefa, você vai analisar e preparar um conjunto de dados público para um modelo de machine learning. Você vai executar uma consulta SQL para inspecionar uma amostra de dados do Google Analytics e salvar o resultado como training_data.
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.
Para verificar se o conjunto de dados bqml_lab está presente, clique na seta à esquerda do Project_ID, que começa com qwiklabs-gcp-00-XXXXXXXXXX. O conjunto de dados bqml_lab aparece abaixo.
Clique em para criar uma nova consulta SQL. Uma nova guia aparece no BigQuery Studio.
Explicar a consulta
Adicione a consulta à caixa Consulta sem título.
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;
Selecione a consulta.
Clique no botão Gemini Code Assist à esquerda da consulta.
Clique em Explicar esta consulta.
A caixa de diálogo do Gemini estará aberta à direita do BigQuery Studio.
A mensagem de boas-vindas do Gemini no console do Cloud aparece no painel do Gemini. Clique em Iniciar a conversa. Confira uma explicação para a consulta, como a que aparece abaixo na janela de chat.
Observação: se nenhuma explicação aparecer na janela de chat, clique em Explicar esta consulta novamente depois de selecionar a consulta inteira.
Revise a explicação.
Observação: como é uma ferramenta generativa, cada resposta do Gemini Code Assist vai ser um pouco diferente, mas os pontos principais serão os mesmos.
O Gemini retorna uma resposta parecida com a seguinte:
Esta consulta do GoogleSQL foi criada para extrair uma amostra de dados de sessão do Google Analytics e transformá-la em um formato adequado para machine learning ou fins analíticos.
Clique em Executar.
Clique em Salvar e selecione Salvar visualização.
Na caixa de diálogo "Salvar visualização", clique em Conjunto de dados e selecione bqml_lab.
Em "Tabela", digite training_data e clique em Salvar.
Clique em Verificar meu progresso para conferir o objetivo.
Criar uma tabela de visualização.
Tarefa 2: Criar um modelo
Nesta tarefa, você vai gerar um novo modelo de machine learning para prever transações de visitantes com um comando de linguagem natural de consulta SQL no BigQuery. Você especifica um tipo de modelo de regressão logística e o treina usando os training_data atuais.
Clique em para criar uma nova consulta SQL. Uma nova guia aparece no BigQuery Studio.
Clique em para acessar a ferramenta de geração de SQL. A caixa de diálogo "Gerar SQL com o Gemini" vai aparecer. Você pode inserir um comando em linguagem natural nesta janela para gerar uma nova instrução SQL.
Copie e cole o comando abaixo
Crie um modelo chamado sample_model, do tipo logistic_reg, para prever se um visitante fará uma transação usando a tabela de visualização training_data.
Clique em Gerar. O Gemini sugere uma consulta SQL semelhante à abaixo.
CREATE MODEL
`{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`sample_model` OPTIONS ( model_type = 'LOGISTIC_REG',
input_label_cols = ['label']) AS
SELECT
label,
os,
is_mobile,
country,
pageviews
FROM
`{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`training_data`;
Observação: se a consulta gerada resultar em uma mensagem de erro, ajuste a sintaxe dela ou substitua a consulta inteira para corresponder ao exemplo fornecido acima.
Clique em Inserir.
Clique em Executar.
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.
Clique em Verificar meu progresso para conferir o objetivo.
Criar um modelo.
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:
Tarefa 3: Avaliar o modelo
Nesta tarefa, você vai avaliar o desempenho do seu modelo de machine learning usando a função ML.EVALUATE. Ela apresenta métricas importantes que mostram a acurácia do modelo ao prever as transações dos visitantes.
Clique em para criar uma nova consulta SQL. Uma nova guia aparece no BigQuery Studio.
Clique em para acessar a ferramenta de geração de SQL. A caixa de diálogo "Gerar SQL com o Gemini" vai aparecer. Você pode inserir um comando em linguagem natural nesta janela para gerar uma nova instrução SQL.
Copie e cole o comando abaixo.
Crie uma consulta para avaliar o desempenho do modelo "bqml_lab.sample_model" usando a função "ml.EVALUATE".
Clique em Gerar. O Gemini sugere uma consulta SQL semelhante à abaixo.
SELECT
*
FROM
ML.EVALUATE( MODEL `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`sample_model`,
TABLE `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`training_data`);
Observação: se a consulta gerada resultar em uma mensagem de erro, ajuste a sintaxe dela ou substitua a consulta inteira para corresponder ao exemplo fornecido acima.
Clique em Inserir.
Clique em Executar.
Você vai encontrar uma tabela semelhante a esta:
Tarefa 4: Usar o modelo
Nesta tarefa, você vai aprender a usar a função ML.PREDICT do BigQuery para fazer previsões. Primeiro, você precisa depurar uma consulta que usa uma função incorreta. Você vai usar o Gemini para identificar e corrigir o erro de sintaxe antes de executar a consulta para prever os dez principais países compradores.
Clique em para criar uma consulta SQL e execute a consulta abaixo:
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 usadas 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).
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.
Na caixa de diálogo "Salvar visualização", clique em Conjunto de dados e selecione bqml_lab.
Em "Tabela", digite july_data e clique em Salvar.
Fazer previsões de compras por país/região
Com esta consulta, você vai 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:
Clique em para criar uma nova consulta SQL.
Copie e cole a consulta abaixo.
SELECT
country,
TOTAL(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;
Clique em Executar. Você confirma que a consulta não pode ser executada e recebe o seguinte erro:
Função não encontrada: TOTAL em [3:3]
Depurar o código com o Gemini e corrigir o erro
Clique na janela de conversa no Gemini no BigQuery.
Na janela de conversa, copie e cole a pergunta abaixo.
Por que estou vendo a mensagem de erro "Função não encontrada: TOTAL em [3:3]" ao executar esta consulta?
Pressione <SHIFT><ENTER>, ou <SHIFT><return> no Mac, para criar uma nova linha na janela de conversa.
Selecione e copie a consulta.
Cole a consulta imediatamente após a pergunta.
Pressione <SHIFT><ENTER>, ou <SHIFT><return> no Mac, para criar uma nova linha na janela de conversa.
Copie e cole esta frase:
Sugira um novo código para resolver os problemas.
Clique em Enviar solicitação. Você recebe uma resposta do Gemini.
Revise as sugestões na resposta. Com base nas sugestões, indica que TOTAL() não é uma função de agregação SQL válida no BigQuery.
Entre as sugestões, está uma consulta refinada com uma possível solução semelhante à que segue:
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;
Copie a consulta refinada.
Clique em para criar uma nova consulta SQL.
Cole a consulta refinada na nova guia de consulta sem título.
Clique em Executar.
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:
Clique em Verificar meu progresso para conferir o objetivo.
Corrija o erro e recupere as dez principais compras por país.
Desafio
Fazer previsões de compras por usuário
Desta vez, você vai tentar prever o número de transações feitas por cada visitante, classificar os resultados e selecionar os dez principais visitantes por número de transações.
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.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
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.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
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.
Neste laboratório, você vai aprender a criar e avaliar um modelo de machine learning com o BigQuery ML e usar o modelo para prever o comportamento de compra.
Duração:
Configuração: 1 minutos
·
Tempo de acesso: 60 minutos
·
Tempo para conclusão: 60 minutos