Receber insights de dados de um modelo de análise de contribuição usando uma métrica somável
Neste tutorial, você vai usar um modelo de análise de contribuição para analisar as mudanças nas tarifas de táxis entre 2011 e 2012 na cidade de Nova York. Este tutorial vai orientar você a realizar as seguintes tarefas:
- Criação de uma tabela de entrada com base em dados de táxis disponíveis publicamente.
- Crie um modelo de análise de contribuição que use uma métrica com somável. Esse tipo de modelo resume uma determinada métrica para uma combinação de uma ou mais dimensões nos dados, para determinar como essas dimensões contribuem para o valor da métrica.
- Receba os insights de métricas do modelo usando a
função
ML.GET_INSIGHTS
.
Antes de iniciar este tutorial, você precisa conhecer o caso de uso da análise de contribuição.
Permissões necessárias
Para criar o conjunto de dados, você precisa da permissão
bigquery.datasets.create
do Identity and Access Management (IAM).Para criar o modelo, você precisa das seguintes permissões:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Para executar a inferência, você precisa das seguintes permissões:
bigquery.models.getData
bigquery.jobs.create
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Para mais informações, consulte Preços do BigQuery na documentação do BigQuery.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery API.
Criar um conjunto de dados
Crie um conjunto de dados do BigQuery para armazenar o modelo de ML:
No console do Google Cloud, acesse a página do BigQuery.
No painel Explorer, clique no nome do seu projeto.
Clique em
Conferir ações > Criar conjunto de dados.Na página Criar conjunto de dados, faça o seguinte:
Para o código do conjunto de dados, insira
bqml_tutorial
.Em Tipo de local, selecione Multirregião e EUA (várias regiões nos Estados Unidos).
Os conjuntos de dados públicos são armazenados na multirregião
US
. Para simplificar, armazene seus conjuntos de dados no mesmo local.Mantenha as configurações padrão restantes e clique em Criar conjunto de dados.
Criar uma tabela de dados de entrada
Crie uma tabela com dados de teste e controle para analisar. A consulta a seguir cria duas tabelas intermediárias, uma de teste com dados de táxis de 2012 e uma de controle com dados de táxis de 2011, e realiza uma união das tabelas intermediárias para criar uma tabela com linhas de teste e de controle e o mesmo conjunto de colunas.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
CREATE OR REPLACE TABLE bqml_tutorial.taxi_control_and_test AS ( SELECT vendor_id, passenger_count, payment_type, pickup_location_id, EXTRACT(MONTH FROM pickup_datetime) AS month, AVG(total_amount) AS avg_total_fare, FALSE AS is_test FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2011` WHERE total_amount > 0 GROUP BY vendor_id, passenger_count, payment_type, pickup_location_id, month, is_test ) UNION ALL ( SELECT vendor_id, passenger_count, payment_type, pickup_location_id, EXTRACT(MONTH FROM pickup_datetime) AS month, AVG(total_amount) AS avg_total_fare, TRUE AS is_test FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2012` WHERE total_amount > 0 GROUP BY vendor_id, passenger_count, payment_type, pickup_location_id, month, is_test );
Criar o modelo
Crie um modelo de análise de contribuição:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
CREATE OR REPLACE MODEL `bqml_tutorial.taxi_contribution_analysis_model` OPTIONS ( MODEL_TYPE = 'CONTRIBUTION_ANALYSIS', CONTRIBUTION_METRIC = 'SUM(avg_total_fare)', DIMENSION_ID_COLS = ['vendor_id', 'passenger_count', 'pickup_location_id', 'payment_type', 'month'], IS_TEST_COL = 'is_test', MIN_APRIORI_SUPPORT = 0.05) AS SELECT * FROM bqml_tutorial.taxi_control_and_test;
A consulta leva cerca de 20 segundos para ser concluída. Depois disso, o modelo
taxi_contribution_analysis_model
aparece no conjunto de dados bqml_tutorial
no
painel Explorer. Como a consulta usa uma instrução CREATE MODEL
para
criar um modelo, não há resultados de consulta.
Receber insights do modelo
Receba insights gerados pelo modelo de análise de contribuição usando a
função ML.GET_INSIGHTS
.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
SELECT * FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.taxi_contribution_analysis_model`) ORDER BY unexpected_difference DESC;
As primeiras linhas da saída vão ser parecidas com esta:
+----------------------------------+-----------+-----------------+--------------+--------------------+-------+-------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | contributors | vendor_id | passenger_count | payment_type | pickup_location_id | month | metric_test | metric_control | difference | relative_difference | unexpected_difference | relative_unexpected_difference | apriori_support | +----------------------------------+-----------+-----------------+--------------+--------------------+-------+-------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | ["all"] | NULL | NULL | NULL | NULL | NULL | 1305121.630946658 | 983978.603443601 | 321143.027503057 | 0.326371962 | 321143.027503057 | 0.326371962 | 1 | | ["payment_type=5","vendor_id=2"] | 2 | NULL | 5 | NULL | NULL | 82996.99307095 | 0 | 82996.99307095 | NULL | 82996.99307095 | NULL | 0.063593301 | | ["payment_type=5"] | NULL | NULL | 5 | NULL | NULL | 82996.99307095 | 138.26 | 82858.73307095 | 599.296492629 | 82825.246757081 | 482.253417818 | 0.063593301 | | ["payment_type=3","vendor_id=1"] | 1 | NULL | 3 | NULL | NULL | 82167.169133767 | 0 | 82167.169133767 | NULL | 82167.169133767 | NULL | 0.06295748 | | ["payment_type=3"] | NULL | NULL | 3 | NULL | NULL | 82167.169133767 | 0 | 82167.169133767 | NULL | 82167.169133767 | NULL | 0.06295748 | | ["payment_type=4","vendor_id=1"] | 1 | NULL | 4 | NULL | NULL | 67418.589902631 | 0 | 67418.589902631 | NULL | 67418.589902631 | NULL | 0.05165694 | +----------------------------------+-----------+-----------------+--------------+--------------------+-------+-------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+
Como você realizou a análise de contribuição em uma métrica somável, os resultados contêm as colunas de saída de métricas somáveis.
Limpar
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.