Zugriff auf über 700 Labs und Kurse nutzen

Kaufverhalten von Websitebesuchern mit BigQuery ML vorhersagen

Lab 1 Stunde universal_currency_alt 5 Guthabenpunkte show_chart Einsteiger
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Zugriff auf über 700 Labs und Kurse nutzen

Übersicht

Mit BigQuery Machine Learning (BigQuery ML) können Nutzer mithilfe von SQL-Abfragen Machine-Learning-Modelle in BigQuery erstellen und ausführen. Dadurch, dass SQL-Experten Modelle mit bereits vorhandenen Tools erstellen können, ohne sich neues Wissen aneignen zu müssen, soll das Machine Learning demokratisiert werden. BigQuery ML erhöht die Entwicklungsgeschwindigkeit, da Daten nicht mehr verschoben werden müssen.

In BigQuery gibt es ein E‑Commerce-Dataset mit Millionen von Google Analytics-Datensätzen für den Google Merchandise Store. In diesem Lab erstellen Sie mithilfe dieser Daten ein Modell, das vorhersagt, ob ein Besucher eine Transaktion vornehmen wird.

Lerninhalte

Modelle für maschinelles Lernen in BigQuery erstellen, bewerten und verwenden

Voraussetzungen

Einrichtung und Anforderungen

Für jedes Lab werden Ihnen ein neues Google Cloud-Projekt und die entsprechenden Ressourcen für eine bestimmte Zeit kostenlos zur Verfügung gestellt.

  1. Melden Sie sich über ein Inkognitofenster in Qwiklabs an.

  2. Beachten Sie die Zugriffszeit (z. B. 1:15:00). Das Lab muss in dieser Zeit abgeschlossen werden.
    Es gibt keine Pausenfunktion. Sie können bei Bedarf neu starten, müssen dann aber von vorn beginnen.

  3. Wenn Sie bereit sind, klicken Sie auf Lab starten.

  4. Notieren Sie sich Ihre Anmeldedaten (Nutzername und Passwort). Mit diesen Daten melden Sie sich in der Google Cloud Console an.

  5. Klicken Sie auf Google Console öffnen.

  6. Klicken Sie auf Anderes Konto verwenden. Kopieren Sie den Nutzernamen und das Passwort für dieses Lab und fügen Sie beides in die entsprechenden Felder ein.
    Wenn Sie andere Anmeldedaten verwenden, tritt ein Fehler auf oder es fallen Kosten an.

  7. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen.

BigQuery-Konsole öffnen

  1. Klicken Sie in der Google Cloud Console im Navigationsmenü auf BigQuery.

Zuerst wird das Fenster Willkommen bei BigQuery in der Cloud Console geöffnet, das einen Link zur Kurzanleitung und Informationen zu Aktualisierungen der Benutzeroberfläche enthält.

  1. Klicken Sie auf Fertig.

Aufgabe 1: Öffentliche Daten durchsuchen

In dieser Aufgabe durchsuchen Sie ein öffentliches Dataset und bereiten es für ein ML-Modell vor. Sie führen eine SQL-Abfrage aus, um eine Stichprobe von Google Analytics-Daten zu prüfen, und speichern das Ergebnis als training_data.

In diesem Lab verwenden wir Daten aus dem frei verfügbaren Projekt bigquery-public-data. Sehen wir uns einen Ausschnitt dieser Daten an.

  1. Klicken Sie auf den Pfeil links neben der Projekt-ID, die mit „qwiklabs-gcp-00-XXXXXXXXXX“ beginnt, um zu prüfen, ob das Dataset bqml_lab vorhanden ist. Das Dataset bqml_lab sollte unter der Projekt-ID aufgeführt sein.

  2. Klicken Sie auf das Symbol +, um eine neue SQL-Abfrage zu erstellen. In BigQuery Studio wird ein neuer Tab geöffnet.

Abfrage erklären lassen

  1. Geben Sie die Abfrage in das Feld Unbenannte Abfrage ein.
SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20160801' AND '20170631' LIMIT 10000;
  1. Markieren Sie die Abfrage.

  2. Klicken Sie links neben der Abfrage auf die Schaltfläche Gemini Gemini Code Assist.

  3. Klicken Sie auf Diese Abfrage erklären.

  4. Rechts neben BigQuery Studio wird das Gemini-Dialogfeld geöffnet.

  5. Die Nachricht „Willkommen bei Gemini in der Cloud Console“ wird im Gemini-Bereich angezeigt. Klicken Sie auf Chat starten. Im Chatfenster sehen Sie eine Erklärung der Abfrage ähnlich der folgenden.

Hinweis: Wenn im Chatfenster keine Erklärung angezeigt wird, klicken Sie nach der Auswahl der gesamten Abfrage noch einmal auf Diese Abfrage erklären.
  1. Lesen Sie die Erklärung.
Hinweis: Da Gemini Code Assist ein generatives Tool ist, fällt die Antwort jedes Mal etwas anders aus, aber die wichtigsten Punkte sollten ähnlich sein.
  1. Gemini gibt eine Antwort aus, die ungefähr so aussieht:

    This GoogleSQL query is designed to extract a sample of Google Analytics session data and transform it into a format suitable for machine learning or analytical purposes.
  2. Klicken Sie auf Ausführen.

  3. Klicken Sie auf Speichern und wählen Sie dann Ansicht speichern aus.

  4. Klicken Sie im Dialogfeld „Ansicht speichern“ auf Dataset und wählen Sie bqml_lab aus.

  5. Geben Sie für „Tabelle“ training_data ein und klicken Sie auf Speichern.

Klicken Sie auf Fortschritt prüfen. Ansichtstabelle erstellen

Aufgabe 2: Modell erstellen

In dieser Aufgabe erstellen Sie ein neues ML-Modell, um Besuchertransaktionen vorherzusagen. Dazu generieren Sie mit einem Prompt in natürlicher Sprache eine SQL-Abfrage in BigQuery. Als Modelltyp geben Sie logistische Regression an und Sie trainieren das Modell mit den in training_data vorhandenen Daten.

  1. Klicken Sie auf das Symbol +, um eine neue SQL-Abfrage zu erstellen. In BigQuery Studio wird ein neuer Tab geöffnet.

  2. Klicken Sie auf das Symbol SQL-Generierungstool, um das SQL-Generierungstool aufzurufen. Das Dialogfeld „SQL mit Gemini generieren“ wird angezeigt. In diesem Fenster können Sie einen Prompt in natürlicher Sprache eingeben, um eine neue SQL-Anweisung zu erstellen.

  3. Kopieren Sie den folgenden Prompt und fügen Sie ihn ein:

    Create a model name sample_model, type logistic_reg to predict whether a visitor will make a transaction using the training_data view table.
  4. Klicken Sie auf Generieren. Gemini schlägt eine SQL-Abfrage vor, die in etwa wie die unten stehende aussieht.

    CREATE MODEL `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`sample_model` OPTIONS ( model_type = 'LOGISTIC_REG', input_label_cols = ['label']) AS SELECT label, os, is_mobile, country, pageviews FROM `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`training_data`;
Hinweis: Wenn die generierte Abfrage eine Fehlermeldung auslöst, passen Sie die Abfragesyntax an oder ersetzen Sie die gesamte Abfrage durch das Beispiel oben.
  1. Klicken Sie auf Einfügen.

  2. Klicken Sie auf Ausführen.

In diesem Fall ist bqml_lab der Name des Datasets und sample_model der Name des Modells. training_data enthält die Transaktionsdaten, die wir uns in der vorherigen Aufgabe angesehen haben. Der angegebene Modelltyp ist binäre logistische Regression.

Durch Ausführen des Befehls CREATE MODEL wird ein Abfragejob erstellt, der asynchron ausgeführt wird, sodass Sie beispielsweise das BigQuery-Fenster schließen oder aktualisieren können.

Klicken Sie auf Fortschritt prüfen. Modell erstellen

[Optional] Modellinformationen und Trainingsstatistiken

Sie können bei Interesse Informationen zum Modell abrufen. Klicken Sie dazu auf das Dataset bqml_lab im Menü auf der linken Seite und klicken Sie dann in der Benutzeroberfläche auf das Dataset sample_model. Unter Details finden Sie einige grundlegende Modellinformationen und Trainingsoptionen, mit denen das Modell erstellt wird. Unter Training sollte eine Tabelle ähnlich der folgenden angezeigt werden:

Eine sechsspaltige Tabelle mit 11 Datenzeilen zu Iteration, Datenverlust, Lernrate und Fertigstellungszeit

Aufgabe 3: Modell bewerten

In dieser Aufgabe bewerten Sie die Leistung Ihres ML-Modells mit der Funktion ML.EVALUATE. Die resultierenden Messwerte zeigen, wie gut das Modell Besuchertransaktionen vorhersagt.

  1. Klicken Sie auf das Symbol +, um eine neue SQL-Abfrage zu erstellen. In BigQuery Studio wird ein neuer Tab geöffnet.

  2. Klicken Sie auf das Symbol SQL-Generierungstool, um das SQL-Generierungstool aufzurufen. Das Dialogfeld „SQL mit Gemini generieren“ wird angezeigt. In diesem Fenster können Sie einen Prompt in natürlicher Sprache eingeben, um eine neue SQL-Anweisung zu erstellen.

  3. Kopieren Sie den folgenden Prompt und fügen Sie ihn ein:

    Write a query to evaluate the performance of the model `bqml_lab.sample_model` using the `ml.EVALUATE` function.
  4. Klicken Sie auf Generieren. Gemini schlägt eine SQL-Abfrage vor, die in etwa wie die unten stehende aussieht.

    SELECT * FROM ML.EVALUATE( MODEL `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`sample_model`, TABLE `{{{project_0.project_id|set at lab start}}}`.`bqml_lab`.`training_data`);
Hinweis: Wenn die generierte Abfrage eine Fehlermeldung auslöst, passen Sie die Abfragesyntax an oder ersetzen Sie die gesamte Abfrage durch das Beispiel oben.
  1. Klicken Sie auf Einfügen.

  2. Klicken Sie auf Ausführen.

Die Tabelle sollte etwa so aussehen:

Ergebnistabelle

Aufgabe 4: Modell verwenden

In dieser Aufgabe lernen Sie, wie Sie mit der Funktion ML.PREDICT von BigQuery Vorhersagen treffen. Zuerst müssen Sie jedoch eine Abfrage debuggen, die eine falsche Funktion verwendet. Sie verwenden Gemini, um den Syntaxfehler zu finden und zu korrigieren, bevor Sie die Abfrage ausführen, um die zehn Länder mit den meisten Käufen vorherzusagen.

  1. Klicken Sie auf das Symbol +, um eine neue SQL-Abfrage zu erstellen, und führen Sie die folgende Abfrage aus:
SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews, fullVisitorId FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801';

Sie werden sehen, dass die Abschnitte SELECT und FROM der Abfrage sehr den Abschnitten ähneln, die zum Erzeugen der Trainingsdaten verwendet wurden. Es gibt eine weitere Spalte fullVisitorId, die Sie für Vorhersagen zu Transaktionen nach individuellen Nutzern verwenden. Der Abschnitt WHERE enthält die Änderungen des Zeitraums (1. Juli bis 1. August 2017).

  1. Speichern wir diese Daten für Juli, damit wir sie in den nächsten Schritten für Vorhersagen mit unserem Modell verwenden können.

  2. Klicken Sie auf Speichern und wählen Sie dann Ansicht speichern aus.

  3. Klicken Sie im Dialogfeld „Ansicht speichern“ auf Dataset und wählen Sie bqml_lab aus.

  4. Geben Sie für „Tabelle“ july_data ein und klicken Sie auf Speichern.

Käufe nach Land/Region vorhersagen

Mit dieser Abfrage versuchen Sie, die Anzahl der von Besuchern jedes Landes bzw. jeder Region vorgenommenen Transaktionen vorherzusagen, die Ergebnisse zu sortieren und die ersten zehn Länder bzw. Regionen nach Käufen zurückzugeben:

  1. Klicken Sie auf das Symbol +, um eine neue SQL-Abfrage zu erstellen.

  2. Kopieren Sie die folgende Abfrage und fügen Sie sie ein:

SELECT country, TOTAL(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10;
  1. Klicken Sie auf Ausführen. Sie stellen fest, dass die Abfrage fehlschlägt, und erhalten die folgende Fehlermeldung:

    Function not found: TOTAL at [3:3]

Code mit Gemini debuggen und Fehler beheben

  1. Klicken Sie in BigQuery auf das Gemini-Chatfenster.

  2. Kopieren Sie die folgende Frage und fügen Sie sie in das Chatfenster ein:

    Why am I getting "Function not found: TOTAL at [3:3]" when I run this query?
  3. Drücken Sie <UMSCHALTTASTE><EINGABETASTE> oder <UMSCHALTTASTE><Zeilenschalter> auf einem Mac, um im Chatfenster einen Zeilenumbruch einzugeben.

  4. Markieren Sie die Abfrage und kopieren Sie sie.

  5. Fügen Sie sie direkt nach Ihrer Frage ein.

  6. Drücken Sie <UMSCHALTTASTE><EINGABETASTE> oder <UMSCHALTTASTE><Zeilenschalter> auf einem Mac, um im Chatfenster einen Zeilenumbruch einzugeben.

  7. Kopieren Sie den folgenden Satz und fügen Sie ihn ein:

    Please suggest new code to resolve any issues.
  8. Klicken Sie auf Prompt senden Prompt senden. Sie erhalten eine Antwort von Gemini.

  9. Sehen Sie sich die Vorschläge in der Antwort an. Daran lässt sich ablesen, dass TOTAL() keine gültige SQL-Aggregationsfunktion in BigQuery ist.

Die Vorschläge enthalten eine optimierte Abfrage mit einer möglichen Lösung ähnlich der folgenden:

SELECT country, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10;
  1. Kopieren Sie die optimierte Abfrage.

  2. Klicken Sie auf das Symbol +, um eine neue SQL-Abfrage zu erstellen.

  3. Fügen Sie die optimierte Abfrage in den neuen Abfrage-Tab ein.

  4. Klicken Sie auf Ausführen.

Sie verwenden in dieser Abfrage ml.PREDICT und der BigQuery ML-Abschnitt der Abfrage ist mit Standard-SQL-Befehlen umschlossen. Da Sie sich für das Land und die Summe der Käufe für jedes Land interessieren, werden SELECT, GROUP BY und ORDER BY verwendet. Durch LIMIT werden nur die ersten zehn Ergebnisse zurückgegeben.

Die Tabelle sollte etwa so aussehen:

Eine dreispaltige Tabelle mit 10 Datenzeilen zu den prognostizierten Gesamtkäufen pro Land

Klicken Sie auf Fortschritt prüfen. Fehler beheben und die zehn Länder mit den meisten Käufen abrufen

Herausforderung

Käufe pro Nutzer vorhersagen

Dieses Mal versuchen Sie, die Anzahl der Transaktionen jedes Besuchers vorherzusagen, die Ergebnisse zu sortieren und die zehn Besucher mit den meisten Transaktionen zurückzugeben:

Lab beenden

Wenn Sie das Lab abgeschlossen haben, klicken Sie auf Lab beenden. Google Cloud Skills Boost entfernt daraufhin die von Ihnen genutzten Ressourcen und bereinigt das Konto.

Anschließend erhalten Sie die Möglichkeit, das Lab zu bewerten. Wählen Sie die entsprechende Anzahl von Sternen aus, schreiben Sie einen Kommentar und klicken Sie anschließend auf Senden.

Die Anzahl der Sterne hat folgende Bedeutung:

  • 1 Stern = Sehr unzufrieden
  • 2 Sterne = Unzufrieden
  • 3 Sterne = Neutral
  • 4 Sterne = Zufrieden
  • 5 Sterne = Sehr zufrieden

Wenn Sie kein Feedback geben möchten, können Sie das Dialogfeld einfach schließen.

Verwenden Sie für Feedback, Vorschläge oder Korrekturen den Tab Support.

© 2021 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.