Obtenir des insights sur les données à partir d'un modèle d'analyse des contributions à l'aide d'une métrique en pourcentage
Dans ce tutoriel, vous allez utiliser un modèle d'analyse des contributions pour analyser la contribution du ratio coût de revient dans l'ensemble de données sur les ventes d'alcool dans l'Iowa. Ce tutoriel vous guide à travers les tâches suivantes:
- Création d'une table d'entrée basée sur des données sur les alcools de l'Iowa accessibles au public.
- Créer un modèle d'analyse des contributions qui utilise une métrique de ratio sommable. Ce type de modèle résume les valeurs de deux colonnes numériques et détermine les différences de ratio entre l'ensemble de données de contrôle et l'ensemble de données de test pour chaque segment de données.
- Obtenez les insights sur les métriques du modèle à l'aide de la fonction
ML.GET_INSIGHTS
.
Avant de commencer ce tutoriel, vous devez connaître le cas d'utilisation de l'analyse des contributions.
Autorisations requises
Pour créer l'ensemble de données, vous devez disposer de l'autorisation Identity and Access Management (IAM)
bigquery.datasets.create
.Pour créer le modèle, vous avez besoin des autorisations suivantes :
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Pour exécuter une inférence, vous devez disposer des autorisations suivantes :
bigquery.models.getData
bigquery.jobs.create
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
- BigQuery ML: You incur costs for the data that you process in BigQuery.
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Pour en savoir plus sur les tarifs de BigQuery, consultez la page Tarifs de BigQuery dans la documentation BigQuery.
Avant de commencer
-
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.
Créer un ensemble de données
Vous allez créer un ensemble de données BigQuery pour stocker votre modèle de ML :
Dans la console Google Cloud, accédez à la page "BigQuery".
Dans le volet Explorateur, cliquez sur le nom de votre projet.
Cliquez sur
Afficher les actions > Créer un ensemble de données.Sur la page Créer un ensemble de données, procédez comme suit :
Dans le champ ID de l'ensemble de données, saisissez
bqml_tutorial
.Pour Type d'emplacement, sélectionnez Multirégional, puis sélectionnez US (plusieurs régions aux États-Unis).
Les ensembles de données publics sont stockés dans l'emplacement multirégional
US
. Par souci de simplicité, stockez votre ensemble de données dans le même emplacement.Conservez les autres paramètres par défaut, puis cliquez sur Créer un ensemble de données.
Créer une table de données d'entrée
Créez une table contenant les données de test et de contrôle à analyser. La requête suivante crée deux tables intermédiaires, une table de test pour les données sur les alcools de 2021 et une table de contrôle avec les données sur les alcools de 2020, puis effectue une union des tables intermédiaires pour créer une table avec des lignes de test et de contrôle, ainsi que le même ensemble de colonnes.
Dans la console Google Cloud, accédez à la page BigQuery.
Dans l'éditeur de requête, exécutez l'instruction suivante :
CREATE OR REPLACE TABLE bqml_tutorial.iowa_liquor_sales_data AS (SELECT store_name, city, vendor_name, category_name, item_description, SUM(sale_dollars) AS total_sales, SUM(state_bottle_cost) AS total_bottle_cost, 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, SUM(state_bottle_cost) AS total_bottle_cost, 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);
Créer le modèle
Créez un modèle d'analyse des contributions:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans l'éditeur de requête, exécutez l'instruction suivante :
CREATE OR REPLACE MODEL bqml_tutorial.liquor_sales_model OPTIONS( model_type = 'CONTRIBUTION_ANALYSIS', contribution_metric = 'sum(total_bottle_cost)/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_data;
L'exécution de la requête prend environ 35 secondes, après quoi le modèle liquor_sales_model
apparaît dans l'ensemble de données bqml_tutorial
dans le volet Explorateur. Étant donné que la requête utilise une instruction CREATE MODEL
pour créer un modèle, il n'y a aucun résultat de requête.
Obtenir des insights à partir du modèle
Obtenez les insights générés par le modèle d'analyse des contributions à l'aide de la fonction ML.GET_INSIGHTS
.
Dans la console Google Cloud, accédez à la page BigQuery.
Dans l'éditeur de requête, exécutez l'instruction suivante :
SELECT * FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.liquor_sales_model`) ORDER BY aumann_shapley_attribution DESC;
Les premières lignes de la sortie devraient se présenter comme suit:
+---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+ | contributors | store_name | city | vendor_name | category_name | item_description | ratio_test | ratio_control | regional_relative_ratio | ambient_relative_ratio_test | ambient_relative_ratio_control | aumann_shapley_attribution | apriori_support | +---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+ | ["vendor_name=HEAVEN HILL BRANDS"] | NULL | NULL | HEAVEN HILL BRANDS | NULL | NULL | 0.06082442061831622 | 0.05884218073008315 | 1.0336873967558387 | 0.8698365450783194 | 0.811596664491199 | 1.5104196544869235E-4 | 0.055361944752340866 | | ["category_name=CANADIAN WHISKIES"] | NULL | NULL | NULL | CANADIAN WHISKIES | NULL | 0.05660065322101707 | 0.05527494446064277 | 1.0239839003604652 | 0.7978770326280865 | 0.7503324937642422 | 9.208157188656863E-5 | 0.09035117733470034 | | ["category_name=STRAIGHT BOURBON WHISKIES"] | NULL | NULL | NULL | STRAIGHT BOURBON WHISKIES | NULL | 0.0780561336687973 | 0.07963402619292285 | 0.9801856995111244 | 1.1380300531561078 | 1.123518997118609 | -3.521056388489075E-5 | 0.09069759353047172 | | ["vendor_name=JIM BEAM BRANDS"] | NULL | NULL | JIM BEAM BRANDS | NULL | NULL | 0.07626103548689916 | 0.07922409994920188 | 0.9625989507712601 | 1.1085644148611702 | 1.1170286930895665 | -1.7964572365978545E-4 | 0.08232281614374977 | | ["city=CEDAR RAPIDS"] | NULL | CEDAR RAPIDS | NULL | NULL | NULL | 0.06564795345695407 | 0.06914461951551351 | 0.9494296724306232 | 0.9431496213564421 | 0.964181423999566 | -2.369897107336527E-4 | 0.060593459713451064 | | ["vendor_name=SAZERAC COMPANY INC"] | NULL | NULL | SAZERAC COMPANY INC | NULL | NULL | 0.06564824170155907 | 0.06728069733579875 | 0.9757366421740239 | 0.939610729279885 | 0.9343443980070573 | -3.1033262381369034E-4 | 0.11571276474865996 | +---------------------------------------------+------------+--------------+----------------------+---------------------------+------------------+---------------------+---------------------+-------------------------+-----------------------------+--------------------------------+----------------------------+----------------------+
Dans la sortie, vous pouvez voir que le segment de données
vendor_name=HEAVEN HILL BRANDS
a l'attribution aumann shapley la plus élevée, ce qui indique la plus grande contribution à la variation du ratio des ventes. Cette différence est également visible dans les colonnesratio_test
etratio_control
, qui montrent que le ratio a augmenté dans les données de test par rapport aux données de contrôle. D'autres métriques telles queregional_relative_ratio
,ambient_relative_ratio_test
etambient_relative_ratio_control
calculent des statistiques supplémentaires qui décrivent la relation entre les ratios de contrôle et de test, et leur lien avec la population globale. Pour en savoir plus, consultez les colonnes de sortie de la métrique de ratio cumulable.
Effectuer un nettoyage
- 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.