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: Dataset erstellen
Erstellen Sie ein neues Dataset in Ihrem Projekt. Klicken Sie dazu auf die drei Punkte neben der Projekt-ID im Abschnitt Explorer und klicken Sie dann auf Dataset erstellen.
Das Dialogfeld Dataset erstellen wird geöffnet.
Geben Sie als Dataset-ID den Wert bqml_lab ein und klicken Sie auf DATASET ERSTELLEN (belassen Sie alle anderen Standardwerte wie sie sind).
Aufgabe 2: Öffentliche Daten durchsuchen
In diesem Lab verwenden wir Daten aus dem frei verfügbaren Projekt bigquery-public-data. Sehen wir uns einen Ausschnitt dieser Daten an.
Geben Sie die Abfrage in das Feld Unbenannte Abfrage ein und klicken Sie auf die Schaltfläche Ausführen.
#standardSQL
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 '20170630'
LIMIT 10000;
Die Datentabellen haben viele Spalten, aber nur wenige davon sind für uns von Interesse und werden zur Erstellung des ML-Modells verwendet. Hierbei werden das Betriebssystem vom Gerät des Besuchers, ob es sich um ein mobiles Gerät handelt, das Land oder die Region des Besuchers sowie die Anzahl der Seitenaufrufe als Kriterien dafür verwendet, ob eine Transaktion vorgenommen wurde. In diesem Fall ist label das, was Sie zu treffen bzw. vorherzusagen versuchen.
Diese Daten dienen als Trainingsdaten für das von Ihnen erstellte ML-Modell. Die Trainingsdaten sind auf Daten beschränkt, die vom 1. August 2016 bis zum 30. Juni 2017 gesammelt wurden. Dies geschieht, um den letzten Monat der Daten für eine „Vorhersage“ zu nehmen. Sie sind außerdem auf 10.000 Datenpunkte begrenzt, um Zeit zu sparen.
Speichern wir diese Daten als Trainingsdaten ab. Klicken Sie auf Speichern und wählen Sie dann Ansicht speichern aus dem Drop-down-Menü aus, um die Abfrage als Ansicht zu speichern. Wählen Sie im Pop-up für Dataset den Wert bqml_lab aus, geben Sie als Tabellennamen den Wert training_data an und klicken Sie auf Speichern.
Aufgabe 3: Modell erstellen
Ersetzen Sie nun die Abfrage durch die folgende, um ein Modell zu erstellen, das vorhersagt, ob ein Besucher eine Transaktion machen wird:
#standardSQL
CREATE OR REPLACE MODEL `bqml_lab.sample_model`
OPTIONS(model_type='logistic_reg') AS
SELECT * from `bqml_lab.training_data`;
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.
[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 Trainingsstatistiken sollte eine Tabelle ähnlich der folgenden angezeigt werden:
Aufgabe 4: Modell bewerten
Ersetzen Sie die vorherige durch folgende Abfrage:
#standardSQL
SELECT
*
FROM
ml.EVALUATE(MODEL `bqml_lab.sample_model`);
Bei dieser Abfrage verwenden Sie die Funktion ml.EVALUATE, um die vorhergesagten Werte im Vergleich zu den tatsächlichen Daten zu bewerten, und erhalten so Messwerte zur Leistung des Modells. Die Tabelle sollte etwa so aussehen:
Aufgabe 5: Modell verwenden
Klicken Sie jetzt auf SQL-Abfrage und führen Sie diese Abfrage aus:
#standardSQL
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, mit der Sie Vorhersagen zu bestimmten Nutzern treffen können. 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 beiden Schritten für Vorhersagen mit unserem Modell verwenden können. Klicken Sie auf Speichern und wählen Sie dann Ansicht speichern aus dem Drop-down-Menü aus, um die Abfrage als Ansicht zu speichern. Wählen Sie im Pop-up für Dataset den Wert bqml_lab aus, geben Sie als Tabellennamen den Wert july_data an 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:
#standardSQL
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;
Sie verwenden in dieser Abfrage ml.PREDICT und der Abschnitt „BigQuery ML“ 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:
Käufe pro Nutzer vorhersagen
Hier ist ein weiteres Beispiel. 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:
#standardSQL
SELECT
fullVisitorId,
SUM(predicted_label) as total_predicted_purchases
FROM
ml.PREDICT(MODEL `bqml_lab.sample_model`, (
SELECT * FROM `bqml_lab.july_data`))
GROUP BY fullVisitorId
ORDER BY total_predicted_purchases DESC
LIMIT 10;
Die Tabelle sollte etwa so aussehen:
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.