Aniversário
Alura '2025

20% OFF

Falta pouco!

00

DIAS

00

HORAS

00

MIN

00

SEG

Alura > Cursos de Data Science > Cursos de Machine Learning > Conteúdos de Machine Learning > Primeiras aulas do curso BigQuery ML: criando modelos de regressão

BigQuery ML: criando modelos de regressão

Primeiros passos - Apresentação

Boas-vindas ao Curso de Modelagem Preditiva

Olá! Sejam muito bem-vindos a este curso de modelagem preditiva, no qual vamos criar modelos de regressão utilizando SQL na poderosa ferramenta BigQuery. Neste curso, transformaremos dados em insights, o que será incrível. Estamos ansiosos para começar, mas antes disso, vamos nos apresentar.

Apresentação da Instrutora

Meu nome é Valkyria.

Audiodescrição: Valkyria é uma mulher branca, de olhos castanhos, cabelos loiros e ondulados na altura abaixo dos ombros. Ela veste uma blusa marrom e está em um dos estúdios da Alura.

Conteúdo do Curso

Neste curso, aprenderemos a utilizar o BigQuery para criar modelos de regressão. Começaremos carregando os dados, explorando as informações disponíveis e extraindo insights a partir disso. Também aprenderemos a criar novas colunas e preparar um arquivo final enriquecido para, posteriormente, criar os modelos de machine learning (aprendizado de máquina).

Algoritmos e Validação de Modelos

Vamos começar testando algoritmos de regressão linear e, posteriormente, algoritmos baseados em árvores de decisão. Teremos esse processo completo e, ao final, aprenderemos como validar nosso modelo e realizar predições em dados de teste, simulando o mundo real.

Aplicação na Área de Logística

Tudo isso será voltado para a área de logística, onde entenderemos como fazer previsões no tempo de entrega para otimizar operações da empresa e melhorar a experiência dos clientes. No final, conseguiremos construir um relatório usando o Looker Studio para apresentar o resultado final das previsões e mostrar todos os insights obtidos em relação às variáveis que afetam o tempo de entrega. Será interessante construir todo esse processo.

Pré-requisitos

Para que possamos realizar isso, é importante que já tenhamos conhecimentos em SQL. Vamos começar?

Primeiros passos - Importando o dataset

Introdução ao Projeto de Ciência de Dados

Vamos dar início ao nosso projeto. Atuaremos como cientistas de dados para uma empresa de logística que realiza entregas de pedidos no mesmo dia em que a compra é efetuada. O objetivo é melhorar os processos operacionais e a experiência do cliente.

Imaginemos que uma pessoa faz uma compra e recebe uma estimativa do tempo de entrega. O ideal é que não haja atrasos e que o prazo seja cumprido. Neste curso, criaremos um modelo capaz de prever o tempo de entrega, permitindo que a empresa utilize essas previsões para fornecer estimativas precisas. Além disso, a empresa deseja entender quais fatores influenciam o tempo de entrega. Para isso, elaboraremos um relatório e analisaremos várias variáveis envolvidas no processo, possibilitando insights para melhorias.

Preparação dos Dados

Recebemos um arquivo CSV contendo informações de entregas passadas. A ideia é carregar esse arquivo, compreender as variáveis, realizar uma exploração e, posteriormente, construir um modelo.

Utilização do Google Cloud

Utilizaremos o Google Cloud, uma ferramenta eficaz para esse processo. Já estamos com o Google Cloud aberto. Para utilizar essa ferramenta, é necessário criar uma conta no Google. Já estamos logados. Utilizaremos uma parte do Google Cloud chamada Big Query, onde podemos carregar um arquivo em um banco de dados, analisar os dados e, em seguida, usá-los para modelagem e criação do modelo. É uma ferramenta completa para todo o processo.

Criação do Projeto no Google Cloud

Vamos começar. Na parte superior da página inicial do Google Cloud, à direita, encontramos o console. Clicamos nele, e ele está carregando. Pronto, carregou. Estamos logados com o nome Valkyrie Alencar. A conta já foi ativada e temos alguns créditos disponíveis. É importante destacar que o Google Cloud é uma ferramenta paga, mas ao criar uma conta pela primeira vez, são oferecidos créditos em reais para uso. Esses créditos são suficientes para desenvolver o projeto.

Para carregar os dados, precisamos criar um projeto. Na parte superior esquerda, há um projeto inicial chamado "My First Project". Clicamos nessa opção e criamos um novo projeto no canto superior direito. Ao clicar em "Novo projeto", podemos nomeá-lo. Vamos digitar projeto-BQ-ML-logística. Após isso, clicamos na opção de criar. O novo projeto está sendo criado. Pronto, já foi criado e está tudo certo.

Carregamento dos Dados no BigQuery

Como vamos carregar os dados para este projeto? Primeiramente, na parte superior esquerda, selecionamos o projeto que acabamos de criar. Clicamos em projeto, BQML logística. No menu lateral esquerdo, que possui três traços na parte superior, clicamos e, ao descer, encontramos a opção BigQuery. Clicamos nela.

Agora, temos um ambiente onde podemos subir nosso arquivo CSV, realizar consultas e análises. Como faremos isso? No lado esquerdo, vemos nosso projeto criado e, ao lado direito, há três pontos. Clicamos nesses três pontos e escolhemos a opção criar conjunto de dados. Ao clicar, surge uma nova janela para criar o conjunto, e precisamos nomeá-lo. Podemos chamá-lo de BQML, com "Dados" e "Logística" em maiúsculas.

Precisamos definir o tipo de local. Escolhemos a opção de região para usar a nuvem do Google Cloud. Entre as várias opções, escolhemos a mais barata: US-central1 (IOA). Clicamos nela. Em seguida, na opção em azul, criamos o conjunto de dados. Após o processo, fechamos a mensagem que aparece.

Criação e Carregamento da Tabela

Com o conjunto de dados criado, podemos carregar uma tabela. Nos três pontos do lado direito, clicamos na opção criar tabela. Surge uma janela para carregar nossos dados. Na parte de origem, escolhemos a opção de upload para carregar nosso arquivo.

Selecionamos o arquivo. Caso se pergunte onde está o arquivo, haverá uma atividade de preparação de ambiente antes deste vídeo para fazer o download no computador e carregá-lo. Selecionamos o arquivo clicando em procurar, escolhemos o arquivo baixado e clicamos em abrir.

O arquivo está no formato CSV. O projeto e o conjunto de dados estão corretos. Precisamos nomear a tabela. Chamaremos a tabela de entregas. Definimos a opção do esquema para detectar automaticamente o nome e tipo das colunas. Clicamos em detectar automaticamente.

Na parte final, clicamos em criar tabela, em azul, no lado esquerdo inferior. A tabela está sendo carregada. Após o carregamento, a tabela aparece. Dentro do BQML dados logística, temos agora uma tabela chamada entrega. Ao clicar, vemos a tabela carregada.

Conclusão e Próximos Passos

Conseguimos carregar a tabela. Está tudo pronto para começarmos. No próximo vídeo, entenderemos quais colunas temos e os tipos de dados para iniciar o projeto. Até lá!

Primeiros passos - Verificando a estrutura do dataset

Introdução à Análise de Dados

Carregamos nossa tabela, mas ainda não temos informações sobre esses dados, como quais colunas estão presentes e quais são os tipos de dados. Também não sabemos se há informações duplicadas ou dados ausentes. Portanto, é o momento de entender o arquivo que a empresa nos forneceu, para que possamos utilizá-lo posteriormente no processo de modelagem e na criação do nosso modelo para prever o tempo de entrega.

Visualização e Estrutura da Tabela

Para ampliar nossa janela e visualizar melhor a tabela criada, vamos ao menu Explorer, no lado esquerdo, e clicamos na seta na parte superior. Agora, conseguimos ampliar a visualização. Vamos à tabela entregas, na parte de visualização, no centro da tela. Ao clicar em visualização, podemos ver cada coluna e as primeiras linhas.

Descrição das Colunas

Vamos verificar essas informações. Temos, inicialmente, o ID de pedido, um código único para cada pedido. A segunda coluna contém anos de experiência, que representa o tempo de experiência, em anos, da pessoa que fez a entrega. Em seguida, temos a classificação do agente, que é a nota dada à pessoa que fez a entrega, provavelmente variando de 0 a 5. Também há colunas com coordenadas geográficas, como latitude e longitude da loja, ou seja, o local de origem da entrega, e latitude e longitude do local de entrega, ou seja, o endereço do cliente.

Além disso, temos dados temporais, como a data do pedido, contendo ano, mês e dia, e a hora em que o pedido foi feito. Há também a hora de retirada, indicando quando o pedido saiu do local de trabalho dos entregadores para a entrega. Outras informações incluem clima, tráfego, veículo usado, área da entrega, categoria do produto entregue e nosso alvo, que é o tempo de entrega que queremos prever no modelo de Machine Learning.

Análise de Dados Ausentes e Nulos

Podemos descobrir quantas informações temos observando no final da página, no canto inferior direito, que estamos visualizando de 1 até 200, mas o total é de 43.508. Há uma quantidade significativa de informações coletadas pela empresa. Notamos que, na hora do pedido, várias linhas estão com NAN, indicando dados ausentes. A sigla NAN significa Not a Number (não é um número), ou seja, falta esse valor. Em clima e tráfego, várias linhas estão com NU, indicando dados nulos. Isso é importante para análise futura e verificação de quantas informações estão nulas.

Detalhes de Armazenamento e Esquema de Dados

Na parte de visualização, em detalhes, ao clicar, temos informações adicionais, como o ID da tabela, data de criação e última modificação. Descendo um pouco, vemos informações de armazenamento, já que trabalhamos em nuvem. Confirmamos que há 43.508 linhas e o total de bytes lógicos é 6,29 MB. Os bytes físicos atuais e totais estão zerados, pois ainda não fizemos consultas. Quando começarmos a fazer consultas, será exibido o uso em bytes.

Na parte de esquema, ao clicar, temos informações sobre o tipo de dado de cada coluna. Por exemplo, o ID do pedido é do tipo string, ou seja, texto. Anos de experiência do agente é do tipo inteiro, um número inteiro. A classificação do agente, latitude e longitude são do tipo float. A data é do tipo data, e o horário de retirada é do tipo time. Clima, tráfego, veículo, área e categoria do produto são strings, dados categóricos. O tempo de entrega é do tipo float.

Consulta SQL para Contagem de Colunas

Podemos pensar, por exemplo, em quantas colunas temos aqui. Como são poucas informações, seria possível contar manualmente, mas imagine se fosse um arquivo muito grande, com muitas colunas. Como faríamos isso? Vamos checar da seguinte forma: na parte superior, ao lado da tabela entregas, há um ícone de lupa para consultas. Ao clicar, podemos fazer consultas SQL e obter os resultados. Vamos começar a testar isso e fazer uma primeira consulta para verificar o número de colunas.

Inicialmente, é apresentada uma consulta como sugestão, mas não a utilizaremos. Vamos apagar tudo e digitar o seguinte: em caixa alta, SELECT.

SELECT

Vamos aumentar o zoom para visualizar melhor. Para contar algo, utilizamos COUNT. Abrimos parênteses e colocamos um asterisco para contar todas as colunas. Nomeamos isso como total_colunas.

SELECT COUNT(*) AS total_colunas

Na próxima linha, precisamos especificar de onde queremos fazer essa contagem. Colocamos FROM e, entre crases, inserimos o nome do nosso projeto. Para isso, voltamos ao Explorer, clicamos na seta, acessamos nosso projeto em "BKML dados logística", clicamos nos três pontos e copiamos o ID. Fechamos a visualização do Explorer e colamos o ID. Em seguida, adicionamos um ponto e utilizamos o information_schema do BigQuery, que nos permite coletar informações sobre as tabelas. Digitamos INFORMATION_SCHEMA.COLUMNS.

FROM `projeto-bqml-logistica-454114.bqmlDadosLogistica.INFORMATION_SCHEMA.COLUMNS`

Na próxima linha, especificamos a tabela na qual queremos contar o número de colunas. Colocamos WHERE e table_name = 'entregas'. Por fim, adicionamos um ponto e vírgula para executar a consulta.

WHERE table_name = 'entregas';

Selecionamos e executamos. O resultado mostra que o total de colunas é 16.

Verificação de Duplicações

Há algo mais que podemos fazer neste momento. Temos vários IDs de pedidos, e surge a dúvida: há algum pedido duplicado? Muitas vezes, é comum haver duplicações em datasets. Isso é importante, pois pode atrapalhar um modelo de machine learning futuramente, com informações repetidas. Podemos verificar se há duplicações.

Para isso, vamos fazer outra consulta. Digitamos SELECT em caixa alta.

SELECT

Vamos fazer uma contagem dos IDs de pedido. Colocamos COUNT em caixa alta, abrimos parênteses e, para contar números distintos, utilizamos DISTINCT. Especificamos a coluna id_pedido.

COUNT(DISTINCT ID_pedido)

A lógica é contar todos os IDs de pedido distintos. Se essa contagem for menor que a contagem total de IDs, significa que há duplicações. Nomeamos isso como tem_duplicados.

< COUNT(*) AS tem_duplicados

Precisamos também colocar FROM. Podemos copiar o FROM da consulta anterior, colar e adicionar o nome do projeto e a tabela entregas. Fechamos com crase e ponto e vírgula.

FROM `projeto-bqml-logistica-454114.bqmlDadosLogistica.entregas`;

Selecionamos e executamos. O resultado foi falso, indicando que não há duplicações. Portanto, não precisamos tratar dados duplicados.

Próximos Passos

No próximo vídeo, trabalharemos com colunas que contêm dados nulos. Faremos uma contagem desses dados e verificaremos se é necessário algum tratamento antes de prosseguir com as análises. Até lá!

Sobre o curso BigQuery ML: criando modelos de regressão

O curso BigQuery ML: criando modelos de regressão possui 184 minutos de vídeos, em um total de 46 atividades. Gostou? Conheça nossos outros cursos de Machine Learning em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Escolha a duração
do seu plano

Conheça os Planos para Empresas