GSP247

Informações gerais
Com o BigQuery ML, é possível 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 vai fazer uma transação.
Conteúdo
Você vai aprender a:
- Criar conjuntos de dados do BigQuery
- Criar, avaliar e usar modelos de machine learning no BigQuery
Pré-requisitos
Para maximizar seu aprendizado, é necessário ter um conhecimento básico sobre SQL ou BigQuery.
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, e não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:
- O botão Abrir Console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
-
Clique em Próxima.
-
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
-
Clique em Próxima.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
Abrir o console do BigQuery
- No Console do Google Cloud, selecione o menu de navegação > BigQuery:
Você 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 as notas de versão.
- Clique em OK.
O console do BigQuery vai abrir.
Tarefa 1: crie um conjunto de dados
- Para criar um conjunto de dados, clique no ícone Exibir ações ao lado do ID do projeto e selecione Criar conjunto de dados.

- Nomeie o ID do conjunto de dados como
bqml_lab
e clique em Criar conjunto de dados.
Testar a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.
Crie um conjunto de dados do BigQuery
Tarefa 2: crie um modelo
É hora de começar a tarefa.
- Acesse o EDITOR do BigQuery e digite ou cole a consulta a seguir 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
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 100000;
- Clique em EXECUTAR.
Aqui, os critérios usados para saber se uma transação foi feita são o sistema operacional do dispositivo do visitante, se esse é um dispositivo móvel, qual o país do visitante e qual foi o número de visualizações da página.
Neste caso, bqml_lab
é o nome do conjunto de dados, e sample_model
é o nome do modelo. O tipo de modelo especificado é o de regressão logística binária. label
é o que você está tentando encaixar.
Observação: quando você só tem interesse em uma coluna, essa é uma maneira alternativa de configurar input_label_cols
.
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 100.000 pontos de dados ajuda a economizar tempo.
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.
Testar a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.
Crie um modelo para prever a transação do visitante
Informações do modelo e estatísticas de treinamento (opcional)
Se tiver interesse, é possível receber informações sobre o modelo expandindo o conjunto de dados bqml_lab
e clicando no modelo sample_model
na interface. Na guia 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ê vai encontrar uma tabela ou gráficos, dependendo de como você configurou a opção Visualizar como:


Tarefa 3: avalie o modelo
- Substitua a consulta anterior pelas informações abaixo e clique em Executar:
#standardSQL
SELECT
*
FROM
ml.EVALUATE(MODEL `bqml_lab.sample_model`, (
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 '20170701' AND '20170801'));
Se a consulta acima for usada com um modelo de regressão linear, ela vai retornar as seguintes colunas:
-
mean_absolute_error
, mean_squared_error
, mean_squared_log_error
,
-
median_absolute_error
, r2_score
, explained_variance
.
Se for usada com um modelo de regressão logística, ela retornará as seguintes colunas:
-
precision
, recall
-
accuracy
, f1_score
-
log_loss
, roc_auc
Consulte o glossário de machine learning ou faça uma pesquisa no Google para entender como todas essas métricas são calculadas e o que elas significam.
Você vai notar que as partes SELECT
e FROM
da consulta são idênticas às que foram utilizadas no treinamento. A parte WHERE
representa a mudança no período e a parte FROM
mostra que você está chamando ml.EVALUATE
.
Você vai encontrar uma tabela semelhante a esta:

Testar a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.
Avalie o modelo
Tarefa 4: use o modelo
Fazer previsões de compras por país
Com esta consulta, você tentará prever o número de transações feitas por visitantes de cada país, classificará os resultados e selecionará os 10 principais países por número de compras:
- Substitua a consulta anterior pelas informações abaixo e clique em Executar:
#standardSQL
SELECT
country,
SUM(predicted_label) as total_predicted_purchases
FROM
ml.PREDICT(MODEL `bqml_lab.sample_model`, (
SELECT
IFNULL(device.operatingSystem, "") AS os,
device.isMobile AS is_mobile,
IFNULL(totals.pageviews, 0) AS pageviews,
IFNULL(geoNetwork.country, "") AS country
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170701' AND '20170801'))
GROUP BY country
ORDER BY total_predicted_purchases DESC
LIMIT 10;
Essa consulta é muito semelhante à consulta de avaliação demonstrada na seção anterior. Em vez de ml.EVALUATE
, 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:

Testar a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.
Faça previsões de compras por país
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:
- Substitua a consulta anterior pelas informações abaixo e clique em Executar:
#standardSQL
SELECT
fullVisitorId,
SUM(predicted_label) as total_predicted_purchases
FROM
ml.PREDICT(MODEL `bqml_lab.sample_model`, (
SELECT
IFNULL(device.operatingSystem, "") AS os,
device.isMobile AS is_mobile,
IFNULL(totals.pageviews, 0) AS pageviews,
IFNULL(geoNetwork.country, "") AS country,
fullVisitorId
FROM
`bigquery-public-data.google_analytics_sample.ga_sessions_*`
WHERE
_TABLE_SUFFIX BETWEEN '20170701' AND '20170801'))
GROUP BY fullVisitorId
ORDER BY total_predicted_purchases DESC
LIMIT 10;
Você vai encontrar uma tabela semelhante a esta:

Testar a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.
Faça previsões de compras por usuário
Tarefa 5: testar seu conhecimento
Responda às perguntas de múltipla escolha abaixo para reforçar sua compreensão dos conceitos abordados neste laboratório. Use tudo o que você aprendeu até aqui.
Parabéns!
Você usou o BigQuery ML para criar um modelo de regressão logística binário. Depois, você avaliou e usou esse modelo para fazer previsões.
Próximas etapas / Saiba mais
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 22 de fevereiro de 2024
Laboratório testado em 22 de fevereiro de 2024
Copyright 2025 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.