Dateninformationen aus einem Modell zur Beitragsanalyse mit einem summierbaren Verhältnis-Messwert abrufen

In dieser Anleitung verwenden Sie ein Modell zur Beitragsanalyse, um den Beitrag des Umsatzkostenverhältnisses im Dataset zu den Spirituosenverkäufen in Iowa zu analysieren. In dieser Anleitung werden Sie durch die folgenden Aufgaben geführt:

  • Erstellen einer Eingabetabelle auf der Grundlage öffentlich verfügbarer Daten zu Spirituosen in Iowa
  • Erstellen eines Modells zur Beitragsanalyse, das einen summierenbaren Verhältnis-Messwert verwendet. Bei dieser Art von Modell werden die Werte von zwei numerischen Spalten zusammengefasst und die Unterschiede im Verhältnis zwischen dem Kontroll- und dem Test-Dataset für jedes Datensegment ermittelt.
  • Abrufen der Messwertinformationen aus dem Modell mit der ML.GET_INSIGHTS Funktion

Bevor Sie mit dieser Anleitung beginnen, sollten Sie mit dem Anwendungsfall der Beitragsanalyse vertraut sein.

Erforderliche Berechtigungen

  • Zum Erstellen des Datasets benötigen Sie die IAM-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. Verwenden Sie den Preisrechner.

Neuen Google Cloud Nutzern vonsteht möglicherweise eine kostenlose Testversion zur Verfügung.

Weitere Informationen zu den Preisen von BigQuery finden Sie unter BigQuery: Preise in der BigQuery-Dokumentation.

Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Projekt vonaus oder erstellen Sie eines Google Cloud .

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die resourcemanager.projects.create Berechtigung enthält. Informationen zum Zuweisen von Rollen.

    Zur Projektauswahl

  2. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  3. Aktivieren Sie die BigQuery API.

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen.

    API aktivieren

Dataset erstellen

Erstellen Sie ein BigQuery-Dataset, um Ihr ML-Modell zu speichern.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    Zur Seite „BigQuery“

  2. Klicken Sie im Bereich Explorer auf den Namen Ihres Projekts.

  3. Klicken Sie auf Aktionen ansehen > Dataset erstellen

  4. 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 Multiregional und dann USA aus.

    • Übernehmen Sie die verbleibenden Standardeinstellungen unverändert und klicken Sie auf Dataset erstellen.

bq

Verwenden Sie den bq mk --dataset Befehl, um ein neues Dataset zu erstellen.

  1. Erstellen Sie ein Dataset mit dem Namen bqml_tutorial und legen Sie den Datenstandort auf US fest.

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. Prüfen Sie, ob das Dataset erstellt wurde:

    bq ls

API

Rufen Sie die datasets.insert Methode mit einer definierten Dataset-Ressource auf.

{
  "datasetReference": {
     "datasetId": "bqml_tutorial"
  }
}

Tabelle mit Eingabedaten erstellen

Erstellen Sie eine Tabelle mit Test- und Kontrolldaten, die Sie analysieren möchten. Mit der folgenden Abfrage werden zwei Zwischentabellen erstellt: eine Testtabelle mit Daten zu Spirituosen aus dem Jahr 2021 und eine Kontrolltabelle mit Daten zu Spirituosen aus dem Jahr 2020. Anschließend werden die Zwischentabellen mit dem Operator `UNION ALL` zusammengeführt, um eine Tabelle mit Test- und Kontrollzeilen und derselben Spaltenmenge zu erstellen.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Führen Sie im Abfrageeditor folgende Abfrage aus:

    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);

Modell erstellen

Erstellen Sie ein Modell zur Beitragsanalyse:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Führen Sie im Abfrageeditor folgende Abfrage aus:

    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;

Die Abfrage dauert ungefähr 35 Sekunden. Anschließend wird das Modell liquor_sales_model im Dataset bqml_tutorial angezeigt. Da die Abfrage eine CREATE MODEL-Anweisung zum Erstellen eines Modells verwendet, gibt es keine Abfrageergebnisse.

Informationen aus dem Modell abrufen

Rufen Sie mit der Funktion ML.GET_INSIGHTS Informationen ab, die vom Modell zur Beitragsanalyse generiert wurden.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Führen Sie im Abfrageeditor die folgende Anweisung aus, um Spalten aus der Ausgabe für ein Modell zur Beitragsanalyse mit einem summierbaren Verhältnis-Messwert auszuwählen:

    SELECT
    contributors,
    metric_test,
    metric_control,
    metric_test_over_metric_control,
    metric_test_over_complement,
    metric_control_over_complement,
    aumann_shapley_attribution,
    apriori_support
    contribution
    FROM
      ML.GET_INSIGHTS(
        MODEL `bqml_tutorial.liquor_sales_model`)
    ORDER BY aumann_shapley_attribution DESC;

Die ersten Zeilen der Ausgabe sollten in etwa so aussehen: Die Werte werden abgeschnitten, um die Lesbarkeit zu verbessern.

contributors metric_test metric_control metric_test_over_metric_control metric_test_over_complement metric_control_over_complement aumann_shapley_attribution apriori_support contribution
Alle 0.069 0.071 0.969 null null -0.00219 1,0 0.00219
city=DES MOINES 0,048 0,054 0,88 0,67 0,747 -0,00108 0,08 0,00108
vendor_name=DIAGEO AMERICAS 0,064 0,068 0,937 0,917 0,956 -0,0009 0,184 0,0009
vendor_name=BACARDI USA INC 0,071 0,082 0,857 1,025 1,167 -0,00054 0,057 0,00054
vendor_name=PERNOD RICARD USA 0,068 0,077 0,89 0,988 1,082 -0,0005 0,061 0,0005

In der Ausgabe sehen Sie, dass das Datensegment city=DES MOINES den größten Beitrag zur Änderung des Umsatzverhältnisses hat. Dieser Unterschied ist auch in den Spalten metric_test und metric_control zu sehen, die zeigen, dass das Verhältnis in den Testdaten im Vergleich zu den Kontrolldaten gesunken ist. Andere Messwerte wie metric_test_over_metric_control, metric_test_over_complement und metric_control_over_complement berechnen zusätzliche Statistiken, die die Beziehung zwischen den Kontroll- und Testverhältnissen und ihre Beziehung zur Gesamtpopulation beschreiben. Weitere Informationen finden Sie unter Ausgabe für Modelle zur Beitragsanalyse mit einem summierbaren Verhältnis-Messwert.

Bereinigen

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.