arrow_back

Estimar tarifas de táxi com um modelo de previsão do BigQuery ML

Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

Estimar tarifas de táxi com um modelo de previsão do BigQuery ML

Laboratório 1 hora universal_currency_alt 1 crédito show_chart Intermediário
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

GSP246

Laboratórios autoguiados do Google Cloud

Visão geral

O BigQuery é um banco de dados de análise NoOps, totalmente gerenciado e de baixo custo desenvolvido pelo Google. Ele permite consultar muitos terabytes de dados sem ter que gerenciar uma infraestrutura nem precisar de um administrador de banco de dados.

Com o BigQuery ML, os analistas de dados podem usar modelos de machine learning com o mínimo de programação para criar, treinar, avaliar e fazer previsões.

Neste laboratório, você vai analisar milhões de corridas dos táxis amarelos de Nova York, disponibilizadas em um conjunto de dados público do BigQuery. Esses dados serão usados para criar um modelo de machine learning dentro do BigQuery que estima as tarifas cobradas com base nas entradas, avaliar o desempenho e fazer previsões com o modelo.

Conteúdo

Neste laboratório, você vai aprender a realizar estas tarefas:

  • Usar o BigQuery para encontrar conjuntos de dados públicos
  • Consultar e analisar o conjunto de dados público sobre os táxis
  • Criar um conjunto de dados de treinamento e avaliação para usar na predição em lote
  • Criar um modelo de previsão (regressão linear) no BigQuery ML
  • Avaliar o desempenho do seu modelo de machine learning

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o 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, 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 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.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para 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
  2. 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.
  3. Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.

    {{{user_0.username | "Nome de usuário"}}}

    Você também encontra o Nome de usuário no painel Detalhes do laboratório.

  4. Clique em Seguinte.

  5. Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.

    {{{user_0.password | "Senha"}}}

    Você também encontra a Senha no painel Detalhes do laboratório.

  6. Clique em Seguinte.

    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.
  7. 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: clique em Menu de navegação no canto superior esquerdo para acessar uma lista de produtos e serviços do Google Cloud. Ícone do menu de navegação

Abrir o console do BigQuery

  1. 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.

  1. Clique em OK.

O console do BigQuery vai abrir.

Tarefa 1: analisar os dados sobre corridas de táxi em Nova York

Pergunta: Quantas corridas os táxis amarelos fizeram por mês em 2015?

  1. Copie e cole o código SQL abaixo no EDITOR de consultas:
#standardSQL SELECT TIMESTAMP_TRUNC(pickup_datetime, MONTH) month, COUNT(*) trips FROM `bigquery-public-data.new_york.tlc_yellow_trips_2015` GROUP BY 1 ORDER BY 1
  1. Depois, clique em Executar.

Este é o resultado:

Várias linhas de dados entre os dois cabeçalhos das colunas: mês e viagens

Notamos que cada mês de 2015 teve mais de 10 milhões de corridas de táxi em Nova York, uma quantidade nada modesta.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa corretamente, receberá uma pontuação de avaliação.

Calcular as corridas dos táxis amarelos em cada mês de 2015

Pergunta: qual foi a velocidade média das corridas dos táxis amarelos em 2015?

  • Substitua a consulta anterior pelas informações abaixo e clique em Executar:
#standardSQL SELECT EXTRACT(HOUR FROM pickup_datetime) hour, ROUND(AVG(trip_distance / TIMESTAMP_DIFF(dropoff_datetime, pickup_datetime, SECOND))*3600, 1) speed FROM `bigquery-public-data.new_york.tlc_yellow_trips_2015` WHERE trip_distance > 0 AND fare_amount/trip_distance BETWEEN 2 AND 10 AND dropoff_datetime > pickup_datetime GROUP BY 1 ORDER BY 1

Este é o resultado:

Várias linhas de dados entre os dois cabeçalhos das colunas: hora e velocidade

Durante o dia, a velocidade média é de aproximadamente 18 a 19 km/h, mas ela quase dobra para 34 km/h às 5h da manhã. Isso faz sentido, já que provavelmente há menos tráfego nesse horário.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa corretamente, receberá uma pontuação de avaliação.

Calcular a velocidade média das corridas dos táxis amarelos em 2015

Tarefa 2: identificar um objetivo

Agora você criará um modelo de machine learning no BigQuery para estimar o preço de uma corrida de táxi em Nova York, com base no conjunto de dados históricos das corridas e em dados sobre as corridas. Estimar a tarifa antes da corrida pode ajudar bastante ao planejar a viagem, tanto para o passageiro quanto para a empresa de táxi.

Tarefa 3: selecionar atributos e criar seu conjunto de dados de treinamento

O conjunto de dados público sobre os táxis amarelos de Nova York é fornecido pela cidade e foi carregado no BigQuery para você analisar.

Consulte a lista completa dos campos e depois visualize o conjunto de dados para encontrar atributos úteis que podem ajudar um modelo de machine learning a entender a relação entre os dados históricos das corridas de táxi e as tarifas cobradas.

Sua equipe decide testar se os campos abaixo serão úteis para o modelo de previsão de tarifas:

  • Valor dos pedágios
  • Valor da tarifa
  • Hora do dia
  • Endereço de partida
  • Endereço de destino
  • Número de passageiros
  1. Substitua a consulta pelo seguinte:
#standardSQL WITH params AS ( SELECT 1 AS TRAIN, 2 AS EVAL ), daynames AS (SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek), taxitrips AS ( SELECT (tolls_amount + fare_amount) AS total_fare, daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayofweek, EXTRACT(HOUR FROM pickup_datetime) AS hourofday, pickup_longitude AS pickuplon, pickup_latitude AS pickuplat, dropoff_longitude AS dropofflon, dropoff_latitude AS dropofflat, passenger_count AS passengers FROM `nyc-tlc.yellow.trips`, daynames, params WHERE trip_distance > 0 AND fare_amount > 0 AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000) = params.TRAIN ) SELECT * FROM taxitrips

Alguns detalhes sobre a consulta:

  • A parte principal da consulta está no final (SELECT * from taxitrips).
  • taxitrips faz a maior parte da extração para o conjunto de dados de Nova York, e SELECT contém o rótulo e os atributos do treinamento.
  • WHERE remove os dados que você não quer adicionar ao treinamento.
  • WHERE também inclui uma cláusula de amostra para coletar apenas 1/1.000 dos dados.
  • Defina uma variável chamada TRAIN para criar rapidamente um conjunto EVAL independente.
  1. Agora que você conhece a finalidade desta consulta, clique em Executar.

O resultado será parecido com este:

Tabela de resultados da consulta

Qual é o rótulo (resposta correta)?

total_fare é o rótulo (o que será estimado). Como você criou esse campo com base em tolls_amount e fare_amount, pode desconsiderar a inclusão das gorjetas dos clientes no modelo, porque elas são opcionais.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa corretamente, receberá uma pontuação de avaliação.

Testar se os campos são úteis para seu modelo de previsão de tarifas

Tarefa 4: criar um conjunto de dados do BigQuery para armazenar modelos

Nesta seção, você criará um novo conjunto de dados do BigQuery que armazenará seus modelos de ML.

  1. No painel Explorer à esquerda, clique no ícone Ver ações ao lado do ID do projeto, e depois clique em Criar conjunto de dados.

  2. Na caixa de diálogo "Criar conjunto de dados", digite as seguintes informações:

  • Em ID do conjunto de dados, digite taxi.
  • Selecione us(multiple regions in United States) como o Tipo de local.
  • Mantenha os outros valores padrão.
  1. Depois clique em Criar conjunto de dados.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa corretamente, receberá uma pontuação de avaliação.

Criar um conjunto de dados do BigQuery para armazenar modelos

Tarefa 5: selecionar um tipo de modelo do BigQuery ML e especificar as opções

Agora que você selecionou os atributos iniciais, já pode criar o primeiro modelo de ML no BigQuery.

Há diversos tipos de modelos à sua disposição:

  • Previsão de valores numéricos, como as vendas do mês seguinte com a regressão linear (linear_reg).
  • Classificação binária ou multiclasse, como e-mails de spam ou não, usando a regressão logística (logistic_reg).
  • Clustering k-means para você aprender a fazer análises por conta própria (kmeans).
Observação: vários outros tipos de modelos usados em machine learning, como redes neurais e árvores de decisão, estão disponíveis em bibliotecas como o TensorFlow. No momento, o BQML aceita os três tipos indicados acima. Siga o roteiro do BQML para mais informações.

  1. Insira a consulta a seguir para criar um modelo e especificar as opções correspondentes.
CREATE or REPLACE MODEL taxi.taxifare_model OPTIONS (model_type='linear_reg', labels=['total_fare']) AS WITH params AS ( SELECT 1 AS TRAIN, 2 AS EVAL ), daynames AS (SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek), taxitrips AS ( SELECT (tolls_amount + fare_amount) AS total_fare, daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayofweek, EXTRACT(HOUR FROM pickup_datetime) AS hourofday, pickup_longitude AS pickuplon, pickup_latitude AS pickuplat, dropoff_longitude AS dropofflon, dropoff_latitude AS dropofflat, passenger_count AS passengers FROM `nyc-tlc.yellow.trips`, daynames, params WHERE trip_distance > 0 AND fare_amount > 0 AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000) = params.TRAIN ) SELECT * FROM taxitrips
  1. Depois, clique em Executar para treinar o modelo.

  2. Aguarde o modelo ser treinado (5 a 10 minutos).

Após treinar o modelo, aparecerá a mensagem "This statement will create a new model named qwiklabs-gcp-03-xxxxxxxx:taxi.taxifare_model.", o que indica que o modelo foi treinado com sucesso.

  1. Abra seu conjunto de dados sobre os táxis e confirme se taxifare_model aparece desta vez.

Em seguida, você avaliará o desempenho do modelo com novos dados de avaliação.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa corretamente, receberá uma pontuação de avaliação.

Criar um modelo de tarifas de táxi

Tarefa 6: avaliar o desempenho do modelo de classificação

Selecione os critérios de desempenho

Para modelos de regressão linear, é importante usar uma métrica de perda como a raiz do erro quadrático médio (REMQ) (página em inglês). Continue treinando e melhorando o modelo até ele atingir a menor REMQ.

No BQML, é possível consultar o campo mean_squared_error ao avaliar seu modelo de ML treinado. Adicione SQRT() para gerar a REMQ.

Agora que o treinamento terminou, você pode avaliar o desempenho do modelo com essa consulta usando ML.EVALUATE.

  1. Copie e cole as seguintes informações no EDITOR de consultas e clique em Executar:
#standardSQL SELECT SQRT(mean_squared_error) AS rmse FROM ML.EVALUATE(MODEL taxi.taxifare_model, ( WITH params AS ( SELECT 1 AS TRAIN, 2 AS EVAL ), daynames AS (SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek), taxitrips AS ( SELECT (tolls_amount + fare_amount) AS total_fare, daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayofweek, EXTRACT(HOUR FROM pickup_datetime) AS hourofday, pickup_longitude AS pickuplon, pickup_latitude AS pickuplat, dropoff_longitude AS dropofflon, dropoff_latitude AS dropofflat, passenger_count AS passengers FROM `nyc-tlc.yellow.trips`, daynames, params WHERE trip_distance > 0 AND fare_amount > 0 AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000) = params.EVAL ) SELECT * FROM taxitrips ))

Agora você está avaliando o modelo com outro conjunto de viagens de táxi usando seu filtro params.EVAL.

  1. Depois que o modelo for executado, revise os resultados (o valor da REMQ do modelo apresentará pequenas variações).

Linha

REMQ

1

9.477056435999074

Após avaliar o modelo, você receberá uma REMQ de 9,47. Como adotamos a raiz do erro quadrático médio (REMQ), o erro 9,47 pode ser avaliado nas mesmas unidades que total_fare. Portanto, cerca de US$ 9,47.

Saber se essa métrica de perda é aceitável ou não para a produção do seu modelo depende totalmente dos critérios de referência definidos antes do treinamento. A referência define um nível mínimo aceitável de desempenho e acurácia para o modelo.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa corretamente, receberá uma pontuação de avaliação.

Avaliar o desempenho do modelo de classificação

Tarefa 7: estimar o valor da tarifa de táxi

Agora, escreva uma consulta para fazer previsões com seu novo modelo.

  • Copie e cole as seguintes informações no EDITOR de consultas e clique em Executar:
#standardSQL SELECT * FROM ml.PREDICT(MODEL `taxi.taxifare_model`, ( WITH params AS ( SELECT 1 AS TRAIN, 2 AS EVAL ), daynames AS (SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek), taxitrips AS ( SELECT (tolls_amount + fare_amount) AS total_fare, daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayofweek, EXTRACT(HOUR FROM pickup_datetime) AS hourofday, pickup_longitude AS pickuplon, pickup_latitude AS pickuplat, dropoff_longitude AS dropofflon, dropoff_latitude AS dropofflat, passenger_count AS passengers FROM `nyc-tlc.yellow.trips`, daynames, params WHERE trip_distance > 0 AND fare_amount > 0 AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000) = params.EVAL ) SELECT * FROM taxitrips ));

Agora serão exibidas as previsões de tarifas de táxi do modelo, as tarifas reais e outras informações sobre as viagens. Os resultados serão parecidos com estes:

Previsões de corridas de táxi

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa corretamente, receberá uma pontuação de avaliação.

Estimar o valor da tarifa de táxi

Tarefa 8: melhorar o modelo com a engenharia de atributos

A criação de modelos de machine learning é um processo iterativo. Após avaliarmos o desempenho do modelo inicial, geralmente voltamos e removemos atributos e linhas para ver se conseguimos um modelo ainda melhor.

Como filtrar o conjunto de dados de treinamento

Vamos consultar as estatísticas comuns de tarifas de táxi.

  1. Copie e cole as seguintes informações no EDITOR de consultas e clique em Executar:
SELECT COUNT(fare_amount) AS num_fares, MIN(fare_amount) AS low_fare, MAX(fare_amount) AS high_fare, AVG(fare_amount) AS avg_fare, STDDEV(fare_amount) AS stddev FROM `nyc-tlc.yellow.trips` # 1,108,779,463 fares

O resultado é parecido com este:

Resultados da consulta

Você deve ter notado alguns valores atípicos no conjunto de dados (tarifas negativas ou acima de US$ 50.000). Aplique um pouco do que você sabe sobre o assunto para evitar que o modelo aprenda outliers atípicos.

Limite os dados a valores entre US$ 6 e US$ 200.

  1. Copie e cole as seguintes informações no EDITOR de consultas e clique em Executar:
SELECT COUNT(fare_amount) AS num_fares, MIN(fare_amount) AS low_fare, MAX(fare_amount) AS high_fare, AVG(fare_amount) AS avg_fare, STDDEV(fare_amount) AS stddev FROM `nyc-tlc.yellow.trips` WHERE trip_distance > 0 AND fare_amount BETWEEN 6 and 200 # 843,834,902 fares

O resultado é parecido com este:

Resultados da consulta

Ficou um pouco melhor. Aproveite que você já está aqui e limite a distância percorrida para se concentrar na cidade de Nova York.

  1. Copie e cole as seguintes informações no EDITOR de consultas e clique em Executar:
SELECT COUNT(fare_amount) AS num_fares, MIN(fare_amount) AS low_fare, MAX(fare_amount) AS high_fare, AVG(fare_amount) AS avg_fare, STDDEV(fare_amount) AS stddev FROM `nyc-tlc.yellow.trips` WHERE trip_distance > 0 AND fare_amount BETWEEN 6 and 200 AND pickup_longitude > -75 #limiting of the distance the taxis travel out AND pickup_longitude < -73 AND dropoff_longitude > -75 AND dropoff_longitude < -73 AND pickup_latitude > 40 AND pickup_latitude < 42 AND dropoff_latitude > 40 AND dropoff_latitude < 42 # 827,365,869 fares

O resultado é parecido com este:

Resultados da consulta

Você ainda tem um grande conjunto de dados com mais de 800 milhões de corridas para treinar o novo modelo. Repita o treinamento com essas novas restrições e analise o desempenho.

Treine o modelo novamente

Dê ao novo modelo o nome taxi.taxifare_model_2 e treine novamente o modelo de regressão linear para prever a tarifa total. Você também perceberá que foram adicionados alguns atributos calculados para a distância euclidiana (linha reta) entre os locais de partida e chegada.

  • Copie e cole as seguintes informações no EDITOR de consultas e clique em Executar:
CREATE OR REPLACE MODEL taxi.taxifare_model_2 OPTIONS (model_type='linear_reg', labels=['total_fare']) AS WITH params AS ( SELECT 1 AS TRAIN, 2 AS EVAL ), daynames AS (SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek), taxitrips AS ( SELECT (tolls_amount + fare_amount) AS total_fare, daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayofweek, EXTRACT(HOUR FROM pickup_datetime) AS hourofday, SQRT(POW((pickup_longitude - dropoff_longitude),2) + POW(( pickup_latitude - dropoff_latitude), 2)) as dist, #Euclidean distance between pickup and drop off SQRT(POW((pickup_longitude - dropoff_longitude),2)) as longitude, #Euclidean distance between pickup and drop off in longitude SQRT(POW((pickup_latitude - dropoff_latitude), 2)) as latitude, #Euclidean distance between pickup and drop off in latitude passenger_count AS passengers FROM `nyc-tlc.yellow.trips`, daynames, params WHERE trip_distance > 0 AND fare_amount BETWEEN 6 and 200 AND pickup_longitude > -75 #limiting of the distance the taxis travel out AND pickup_longitude < -73 AND dropoff_longitude > -75 AND dropoff_longitude < -73 AND pickup_latitude > 40 AND pickup_latitude < 42 AND dropoff_latitude > 40 AND dropoff_latitude < 42 AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000) = params.TRAIN ) SELECT * FROM taxitrips

Pode levar alguns minutos para treinar o modelo de novo. Já será possível avançar para a próxima etapa assim que receber esta mensagem no console:

Instrução do novo modelo

Avalie o novo modelo

Agora que otimizou o modelo de regressão linear, avalie o conjunto de dados que o usa e confira o desempenho.

  • Copie e cole as seguintes informações no EDITOR de consultas e clique em Executar:
SELECT SQRT(mean_squared_error) AS rmse FROM ML.EVALUATE(MODEL taxi.taxifare_model_2, ( WITH params AS ( SELECT 1 AS TRAIN, 2 AS EVAL ), daynames AS (SELECT ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'] AS daysofweek), taxitrips AS ( SELECT (tolls_amount + fare_amount) AS total_fare, daysofweek[ORDINAL(EXTRACT(DAYOFWEEK FROM pickup_datetime))] AS dayofweek, EXTRACT(HOUR FROM pickup_datetime) AS hourofday, SQRT(POW((pickup_longitude - dropoff_longitude),2) + POW(( pickup_latitude - dropoff_latitude), 2)) as dist, #Euclidean distance between pickup and drop off SQRT(POW((pickup_longitude - dropoff_longitude),2)) as longitude, #Euclidean distance between pickup and drop off in longitude SQRT(POW((pickup_latitude - dropoff_latitude), 2)) as latitude, #Euclidean distance between pickup and drop off in latitude passenger_count AS passengers FROM `nyc-tlc.yellow.trips`, daynames, params WHERE trip_distance > 0 AND fare_amount BETWEEN 6 and 200 AND pickup_longitude > -75 #limiting of the distance the taxis travel out AND pickup_longitude < -73 AND dropoff_longitude > -75 AND dropoff_longitude < -73 AND pickup_latitude > 40 AND pickup_latitude < 42 AND dropoff_latitude > 40 AND dropoff_latitude < 42 AND MOD(ABS(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING))),1000) = params.EVAL ) SELECT * FROM taxitrips ))

O resultado é parecido com este:

Resultados da consulta

A REMQ caiu para +- US$ 5,12, que é significativamente melhor do que o valor de cerca de US$ 9,47 do primeiro modelo.

Como a REQM define o desvio padrão dos erros de previsão, vemos que a regressão linear treinada novamente deixou nosso modelo muito mais preciso.

Tarefa 9: 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.

Tarefa 10: outros conjuntos de dados para analisar

Se quiser saber mais sobre a criação de modelos em outros conjuntos de dados, como na previsão de tarifas para corridas de táxi, use o projeto bigquery-public-data.

  1. Para abrir o conjunto de dados bigquery-public-data, clique em +Adicionar > Marcar um projeto com estrela por nome > Inserir o nome do projeto, depois insira bigquery-public-data.

  2. Clique em Marcar com estrela.

O projeto bigquery-public-data será listado na seção Explorer.

Parabéns!

Você criou um modelo de machine learning no BigQuery para prever o valor de uma corrida de táxi em Nova York.

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 7 de fevereiro de 2024

Laboratório testado em 24 de agosto de 2023

Copyright 2024 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.

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