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
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.
Melden Sie sich über ein Inkognitofenster in Qwiklabs an.
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.
Wenn Sie bereit sind, klicken Sie auf Lab starten.
Notieren Sie sich Ihre Anmeldedaten (Nutzername und Passwort). Mit diesen Daten melden Sie sich in der Google Cloud Console an.
Klicken Sie auf Google Console öffnen.
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.
Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen.
BigQuery-Konsole öffnen
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.
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.
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.
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
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;
Markieren Sie die Abfrage.
Klicken Sie links neben der Abfrage auf die Schaltfläche Gemini Code Assist.
Klicken Sie auf Diese Abfrage erklären.
Rechts neben BigQuery Studio wird das Gemini-Dialogfeld geöffnet.
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.
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.
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.
Klicken Sie auf Ausführen.
Klicken Sie auf Speichern und wählen Sie dann Ansicht speichern aus.
Klicken Sie im Dialogfeld „Ansicht speichern“ auf Dataset und wählen Sie bqml_lab aus.
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.
Klicken Sie auf das Symbol , um eine neue SQL-Abfrage zu erstellen. In BigQuery Studio wird ein neuer Tab geöffnet.
Klicken Sie auf das Symbol , 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.
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.
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.
Klicken Sie auf Einfügen.
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:
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.
Klicken Sie auf das Symbol , um eine neue SQL-Abfrage zu erstellen. In BigQuery Studio wird ein neuer Tab geöffnet.
Klicken Sie auf das Symbol , 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.
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.
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.
Klicken Sie auf Einfügen.
Klicken Sie auf Ausführen.
Die Tabelle sollte etwa so aussehen:
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.
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).
Speichern wir diese Daten für Juli, damit wir sie in den nächsten Schritten für Vorhersagen mit unserem Modell verwenden können.
Klicken Sie auf Speichern und wählen Sie dann Ansicht speichern aus.
Klicken Sie im Dialogfeld „Ansicht speichern“ auf Dataset und wählen Sie bqml_lab aus.
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:
Klicken Sie auf das Symbol , um eine neue SQL-Abfrage zu erstellen.
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;
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
Klicken Sie in BigQuery auf das Gemini-Chatfenster.
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?
Drücken Sie <UMSCHALTTASTE><EINGABETASTE> oder <UMSCHALTTASTE><Zeilenschalter> auf einem Mac, um im Chatfenster einen Zeilenumbruch einzugeben.
Markieren Sie die Abfrage und kopieren Sie sie.
Fügen Sie sie direkt nach Ihrer Frage ein.
Drücken Sie <UMSCHALTTASTE><EINGABETASTE> oder <UMSCHALTTASTE><Zeilenschalter> auf einem Mac, um im Chatfenster einen Zeilenumbruch einzugeben.
Kopieren Sie den folgenden Satz und fügen Sie ihn ein:
Please suggest new code to resolve any issues.
Klicken Sie auf Prompt senden. Sie erhalten eine Antwort von Gemini.
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;
Kopieren Sie die optimierte Abfrage.
Klicken Sie auf das Symbol , um eine neue SQL-Abfrage zu erstellen.
Fügen Sie die optimierte Abfrage in den neuen Abfrage-Tab ein.
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:
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.
Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen
Privates Surfen verwenden
Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
Klicken Sie im privaten Modus auf Konsole öffnen
In der Konsole anmelden
Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
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.
In diesem Lab erstellen und bewerten Sie ein Machine-Learning-Modell mit BigQuery ML und verwenden das Modell zur Vorhersage des Kaufverhaltens.