Dateninformationen aus einem Modell zur Beitragsanalyse mit einem summierbaren Messwert abrufen
In dieser Anleitung verwenden Sie ein Beitragsanalyse-Modell, um Umsatzänderungen zwischen 2020 und 2021 im Dataset „Iowa Liquor Sales“ (Einzelhandelsverkauf von Spirituosen in Iowa) zu analysieren. In dieser Anleitung werden Sie durch die folgenden Aufgaben geführt:
- Erstellen Sie eine Eingabetabelle auf Grundlage öffentlich verfügbarer Daten zu Spirituosen in Iowa.
- Erstellen Sie ein Modell zur Beitragsanalyse, das einen summierbaren Messwert verwendet. Bei diesem Modelltyp wird ein bestimmter Messwert für eine Kombination aus einer oder mehreren Dimensionen in den Daten zusammengefasst, um zu ermitteln, wie sich diese Dimensionen auf den Messwert auswirken.
- Rufen Sie die Messwertstatistiken aus dem Modell mit der Funktion
ML.GET_INSIGHTS
ab.
Bevor Sie mit dieser Anleitung beginnen, sollten Sie mit dem Anwendungsfall Beitragsanalyse vertraut sein.
Erforderliche Berechtigungen
Zum Erstellen des Datasets benötigen Sie die IAM (Identity and Access Management)-Berechtigung
bigquery.datasets.create
.Zum Erstellen des Modells benötigen Sie die folgenden Berechtigungen:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Zum Ausführen von Inferenzen benötigen Sie die folgenden Berechtigungen:
bigquery.models.getData
bigquery.jobs.create
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Weitere Informationen zu den Preisen von BigQuery finden Sie unter BigQuery: Preise in der BigQuery-Dokumentation.
Hinweise
-
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.
Dataset erstellen
Erstellen Sie ein BigQuery-Dataset zum Speichern Ihres ML-Modells.
Console
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im Bereich Explorer auf den Namen Ihres Projekts.
Klicken Sie auf
Aktionen ansehen > Dataset erstellen.Führen Sie auf der Seite Dataset erstellen die folgenden Schritte aus:
Geben Sie unter Dataset-ID
bqml_tutorial
ein.Wählen Sie als Standorttyp die Option Mehrere Regionen und dann USA (mehrere Regionen in den USA) aus.
Übernehmen Sie die verbleibenden Standardeinstellungen unverändert und klicken Sie auf Dataset erstellen.
bq
Wenn Sie ein neues Dataset erstellen möchten, verwenden Sie den Befehl bq mk
mit dem Flag --location
. Eine vollständige Liste der möglichen Parameter finden Sie in der bq mk --dataset
-Befehlsreferenz.
Erstellen Sie ein Dataset mit dem Namen
bqml_tutorial
, wobei der Datenspeicherort aufUS
und die Beschreibung aufBigQuery ML tutorial dataset
festgelegt ist:bq --location=US mk -d \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Anstelle des Flags
--dataset
verwendet der Befehl die verkürzte Form-d
. Wenn Sie-d
und--dataset
auslassen, wird standardmäßig ein Dataset erstellt.Prüfen Sie, ob das Dataset erstellt wurde:
bq ls
API
Rufen Sie die Methode datasets.insert
mit einer definierten Dataset-Ressource auf.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
BigQuery DataFrames
Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von BigQuery DataFrames in der BigQuery-Kurzanleitung: BigQuery DataFrames verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu BigQuery DataFrames.
Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Tabelle mit Eingabedaten erstellen
Erstellen Sie eine Tabelle mit Test- und Kontrolldaten, die Sie analysieren möchten. Die Testtabelle enthält Daten zu Spirituosen aus dem Jahr 2021 und die Kontrolltabelle Daten zu Spirituosen aus dem Jahr 2020. In der folgenden Abfrage werden die Test- und Kontrolldaten in einer einzigen Eingabetabelle zusammengeführt:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Führen Sie im Abfrageeditor folgende Abfrage aus:
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) );
Modell erstellen
Beitragsanalysemodell erstellen:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Führen Sie im Abfrageeditor folgende Abfrage aus:
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;
Die Abfrage dauert ungefähr 60 Sekunden. Anschließend wird das Modell iowa_liquor_sales_sum_model
im bqml_tutorial
-Dataset des Bereichs Explorer angezeigt. Da die Abfrage eine CREATE MODEL
-Anweisung zum Erstellen eines Modells verwendet, gibt es keine Abfrageergebnisse.
Einblicke aus dem Modell gewinnen
Mit der Funktion ML.GET_INSIGHTS
können Sie Informationen abrufen, die vom Modell zur Beitragsanalyse generiert wurden.
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Führen Sie im Abfrageeditor die folgende Anweisung aus, um Spalten aus der Ausgabe für ein summierbares Modell zur Analyse von Messwertbeiträgen auszuwählen:
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`);
Die ersten Zeilen der Ausgabe sollten in etwa so aussehen: Die Werte werden zur besseren Lesbarkeit gekürzt.
mit den russischsprachigen Top-Beitragenden zu sprechen. | metric_test | metric_control | Unterschied | relative_difference | unexpected_difference | relative_unexpected_difference | apriori_support | Beitrag |
---|---|---|---|---|---|---|---|---|
Alle | 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 |
Die Ausgabe wird automatisch in absteigender Reihenfolge nach Beitrag oder ABS(difference)
sortiert. In der Zeile all
sehen Sie in der Spalte difference
, dass der Gesamtumsatz von 2020 bis 2021 um 31.595.222 $ gestiegen ist. Das entspricht einem Anstieg von 7,9 %, wie in der Spalte relative_difference
angegeben. In der zweiten Zeile mit vendor_name=SAZERAC COMPANY INC
betrug der unexpected_difference
11.491.923 $. Das bedeutet, dass dieses Datensegment um 28% mehr gewachsen ist als die Daten insgesamt, wie in der Spalte relative_unexpected_difference
zu sehen ist.
Weitere Informationen finden Sie unter Ausgabespalten für summierbare Messwerte.
Bereinigen
- 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.