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 vendas entre 2020 e 2021 no conjunto de dados de vendas de bebidas alcoólicas de Iowa. Este tutorial orienta você nas seguintes tarefas:
- Crie uma tabela de entrada com base nos dados de bebidas alcoólicas de Iowa disponíveis publicamente.
- Crie um modelo de análise de contribuição que use uma métrica somável. Esse tipo de modelo resume uma métrica específica para uma combinação de uma ou mais dimensões nos dados, determinando 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 começar este tutorial, familiarize-se com 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ê vai 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.
crie um conjunto de dados
Crie um conjunto de dados do BigQuery para armazenar seu modelo de ML.
Console
No console Google Cloud , acesse a página 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).
Mantenha as configurações padrão restantes e clique em Criar conjunto de dados.
bq
Para criar um novo conjunto de dados, utilize o
comando bq mk
com a sinalização --location
. Para obter uma lista completa de parâmetros, consulte a
referência
comando bq mk --dataset
.
Crie um conjunto de dados chamado
bqml_tutorial
com o local dos dados definido comoUS
e uma descrição deBigQuery ML tutorial dataset
:bq --location=US mk -d \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Em vez de usar a flag
--dataset
, o comando usa o atalho-d
. Se você omitir-d
e--dataset
, o comando vai criar um conjunto de dados por padrão.Confirme se o conjunto de dados foi criado:
bq ls
API
Chame o método datasets.insert
com um recurso de conjunto de dados definido.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
BigQuery DataFrames
Antes de testar esta amostra, siga as instruções de configuração dos BigQuery DataFrames no Guia de início rápido do BigQuery: como usar os BigQuery DataFrames. Para mais informações, consulte a documentação de referência do BigQuery DataFrames.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local.
Criar uma tabela de dados de entrada
Crie uma tabela com dados de teste e controle para analisar. A tabela de teste contém dados de bebidas alcoólicas de 2021, e a tabela de controle contém dados de 2020. A consulta a seguir combina os dados de teste e controle em uma única tabela de entrada:
No console Google Cloud , acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
CREATE OR REPLACE TABLE bqml_tutorial.iowa_liquor_sales_sum_data AS ( (SELECT store_name, city, vendor_name, category_name, item_description, SUM(sale_dollars) AS total_sales, FALSE AS is_test FROM `bigquery-public-data.iowa_liquor_sales.sales` WHERE EXTRACT(YEAR from date) = 2020 GROUP BY store_name, city, vendor_name, category_name, item_description, is_test) UNION ALL (SELECT store_name, city, vendor_name, category_name, item_description, SUM(sale_dollars) AS total_sales, TRUE AS is_test FROM `bigquery-public-data.iowa_liquor_sales.sales` WHERE EXTRACT (YEAR FROM date) = 2021 GROUP BY store_name, city, vendor_name, category_name, item_description, is_test) );
Criar o modelo
Crie um modelo de análise de contribuição:
No console Google Cloud , acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução:
CREATE OR REPLACE MODEL bqml_tutorial.iowa_liquor_sales_sum_model OPTIONS( model_type='CONTRIBUTION_ANALYSIS', contribution_metric = 'sum(total_sales)', dimension_id_cols = ['store_name', 'city', 'vendor_name', 'category_name', 'item_description'], is_test_col = 'is_test', min_apriori_support=0.05 ) AS SELECT * FROM bqml_tutorial.iowa_liquor_sales_sum_data;
A consulta leva cerca de 60 segundos para ser concluída. Depois disso, o modelo
iowa_liquor_sales_sum_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 Google Cloud , acesse a página BigQuery.
No editor de consultas, execute a seguinte instrução para selecionar colunas da saída de um modelo de análise de contribuição de métrica somável:
SELECT contributors, metric_test, metric_control, difference, relative_difference, unexpected_difference, relative_unexpected_difference, apriori_support, contribution FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.iowa_liquor_sales_sum_model`);
As primeiras linhas da saída serão parecidas com esta: Os valores são truncados para melhorar a legibilidade.
russo. | metric_test | metric_control | diferença | relative_difference | unexpected_difference | relative_unexpected_difference | apriori_support | contribuição |
---|---|---|---|---|---|---|---|---|
todas | 428068179 | 396472956 | 31595222 | 0,079 | 31595222 | 0,079 | 1,0 | 31595222 |
vendor_name=SAZERAC COMPANY INC | 52327307 | 38864734 | 13462573 | 0.346 | 11491923 | 0,281 | 0,122 | 13462573 |
city=DES MOINES | 49521322 | 41746773 | 7774549 | 0.186 | 4971158 | 0,111 | 0,115 | 7774549 |
vendor_name=DIAGEO AMERICAS | 84681073 | 77259259 | 7421814 | 0,096 | 1571126 | 0,018 | 0.197 | 7421814 |
category_name=100% AGAVE TEQUILA | 23915100 | 17252174 | 6662926 | 0.386 | 5528662 | 0,3 | 0,055 | 6662926 |
A saída é classificada automaticamente por contribuição, ou ABS(difference)
, em ordem decrescente. Na linha all
, a coluna difference
mostra que houve um aumento de US$ 31.595.222 no total de vendas de 2020 para 2021,um aumento de 7,9%, conforme indicado pela coluna relative_difference
. Na segunda linha, com vendor_name=SAZERAC COMPANY INC
, houve um unexpected_difference
de US$ 11.491.923. Isso significa que esse segmento de dados cresceu 28% mais do que a taxa de crescimento dos dados como um todo, conforme mostrado na coluna relative_unexpected_difference
.
Para mais informações, consulte 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.