Accedi a oltre 700 lab e corsi

Prevedi gli acquisti dei visitatori con BigQuery ML

Lab 1 ora universal_currency_alt 5 crediti show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

Panoramica

BigQuery Machine Learning (BigQuery ML) consente agli utenti di creare ed eseguire modelli di machine learning in BigQuery utilizzando query SQL. L'obiettivo è democratizzare il machine learning consentendo a chi utilizza SQL di creare modelli con i propri strumenti esistenti e aumentare la velocità di sviluppo attraverso l'eliminazione della necessità di spostare i dati.

In BigQuery è stato caricato un nuovo set di dati e-commerce con milioni di record Google Analytics per Google Merchandise Store. In questo lab utilizzerai questi dati per creare un modello che prevede se un visitatore effettuerà una transazione.

Cosa imparerai a fare

Come creare, valutare e utilizzare modelli di machine learning in BigQuery

Che cosa ti serve

  • Un browser, ad esempio Chrome o Firefox
  • Conoscenza di base di SQL o BigQuery

Configurazione e requisiti

Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.

  1. Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.

  2. Tieni presente la durata dell'accesso al lab (ad esempio, 1:15:00) e assicurati di finire entro quell'intervallo di tempo.
    Non è disponibile una funzionalità di pausa. Se necessario, puoi riavviare il lab ma dovrai ricominciare dall'inizio.

  3. Quando è tutto pronto, fai clic su Inizia lab.

  4. Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.

  5. Fai clic su Apri console Google.

  6. Fai clic su Utilizza un altro account e copia/incolla le credenziali per questo lab nei prompt.
    Se utilizzi altre credenziali, compariranno errori oppure ti verranno addebitati dei costi.

  7. Accetta i termini e salta la pagina di ripristino delle risorse.

Apri la console di BigQuery

  1. Nella console Google Cloud, seleziona Menu di navigazione > BigQuery.

Si aprirà la finestra con il messaggio Ti diamo il benvenuto in BigQuery nella console Cloud. Questa finestra fornisce un link alla guida rapida ed elenca gli aggiornamenti dell'interfaccia utente.

  1. Fai clic su Fine.

Attività 1: esplora i dati

In questa attività esplorerai e preparerai un set di dati pubblico per un modello di machine learning. Eseguirai una query SQL per ispezionare un campione di dati di Google Analytics e salverai il risultato come training_data.

I dati che utilizzeremo in questo lab si trovano nel progetto bigquery-public-data, che è disponibile a tutti. Diamo un'occhiata a un campione di questi dati.

  1. Per verificare che il set di dati bqml_lab sia presente, fai clic sulla freccia a sinistra del tuo ID progetto che inizia con qwiklabs-gcp-00-XXXXXXXXXX. Il set di dati bqml_lab dovrebbe essere elencato di seguito.

  2. Fai clic su + per creare una nuova query SQL. In BigQuery Studio viene visualizzata una nuova scheda.

Spiega la query

  1. Aggiungi la query nella casella Query senza titolo.
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. Seleziona la query.

  2. Fai clic sul pulsante Gemini Gemini Code Assist immediatamente a sinistra della query.

  3. Fai clic su Spiega questa query.

  4. A destra di BigQuery Studio viene visualizzata la finestra di dialogo Gemini.

  5. Nel riquadro Gemini viene visualizzato il messaggio Ti diamo il benvenuto in Gemini per la console Cloud. Fai clic su Inizia a chattare. Nella finestra della chat puoi visualizzare una spiegazione della query come quella riportata di seguito.

Nota: se non viene visualizzata alcuna spiegazione nella finestra della chat, fai di nuovo clic su Spiega questa query dopo aver selezionato l'intera query.
  1. Esamina la spiegazione.
Nota: in quanto strumento generativo, la risposta di Gemini Code Assist sarà leggermente diversa ogni volta, ma i punti chiave dovrebbero essere simili.
  1. Gemini restituisce una risposta simile alla seguente:

    Questa query GoogleSQL è progettata per estrarre un campione di dati di sessione di Google Analytics e trasformarlo in un formato adatto a scopi analitici o che riguardano il machine learning.
  2. Fai clic su Esegui.

  3. Fai clic su Salva e poi seleziona Salva vista.

  4. Nella finestra di dialogo Salva vista, fai clic su Set di dati e seleziona bqml_lab.

  5. Per Tabella, digita training_data e poi fai clic su Salva.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea una tabella della vista.

Attività 2: crea un modello

In questa attività genererai un nuovo modello di machine learning per prevedere le transazioni dei visitatori utilizzando un prompt in linguaggio naturale per una query SQL in BigQuery. Specificherai un tipo di modello di regressione logistica e lo addestrerai utilizzando i dati training_data esistenti.

  1. Fai clic su + per creare una nuova query SQL. In BigQuery Studio viene visualizzata una nuova scheda.

  2. Fai clic su Strumento di generazione SQL per accedere allo strumento di generazione SQL. Viene visualizzata la finestra di dialogo Genera SQL con Gemini. In questa finestra puoi inserire un prompt in linguaggio naturale per generare una nuova istruzione SQL.

  3. Copia e incolla il prompt riportato di seguito.

    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. Fai clic su Genera. Gemini suggerisce una query SQL simile a quella riportata di seguito.

    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`;
Nota: se la query generata restituisce il messaggio di errore, valuta la possibilità di modificare la sintassi della query o di sostituire l'intera query in modo che corrisponda all'esempio fornito.
  1. Fai clic su Inserisci.

  2. Fai clic su Esegui.

In questo caso, bqml_lab è il nome del set di dati, sample_model è il nome del modello, training_data sono i dati delle transazioni che abbiamo esaminato nell'attività precedente. Il tipo di modello specificato è la regressione logistica binaria.

L'esecuzione del comando CREATE MODEL crea un job di query che verrà eseguito in modo asincrono in modo da poter, ad esempio, chiudere o aggiornare la finestra della UI di BigQuery.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea un modello.

[Facoltativo] Informazioni sul modello e statistiche di addestramento

Se ti interessa, puoi ottenere informazioni sul modello cliccando sul set di dati bqml_lab nel menu di sinistra e quindi sul modello sample_model nella UI. In Dettagli, dovresti trovare alcune informazioni di base sul modello e opzioni di addestramento utilizzate per produrre il modello. In Addestramento, dovresti vedere una tabella simile a questa:

Tabella a sei colonne con 11 righe di dati relativi a iterazione, perdita di dati, tasso di apprendimento, tempo di completamento

Attività 3: valuta il modello

In questa attività valuterai le prestazioni del modello di machine learning utilizzando la funzione ML.EVALUATE, che fornisce metriche chiave che mostrano l'accuratezza con cui il modello prevede le transazioni dei visitatori.

  1. Fai clic su + per creare una nuova query SQL. In BigQuery Studio viene visualizzata una nuova scheda.

  2. Fai clic su Strumento di generazione SQL per accedere allo strumento di generazione SQL. Viene visualizzata la finestra di dialogo Genera SQL con Gemini. In questa finestra puoi inserire un prompt in linguaggio naturale per generare una nuova istruzione SQL.

  3. Copia e incolla il prompt riportato di seguito.

    Write a query to evaluate the performance of the model `bqml_lab.sample_model` using the `ml.EVALUATE` function.
  4. Fai clic su Genera. Gemini suggerisce una query SQL simile a quella riportata di seguito.

    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`);
Nota: se la query generata restituisce il messaggio di errore, valuta la possibilità di modificare la sintassi della query o di sostituire l'intera query in modo che corrisponda all'esempio fornito.
  1. Fai clic su Inserisci.

  2. Fai clic su Esegui.

Dovresti vedere una tabella simile alla seguente:

Tabella dei risultati

Attività 4: usa il modello

In questa attività imparerai a utilizzare la funzione ML.PREDICT di BigQuery per fare previsioni, ma prima dovrai eseguire il debug di una query che utilizza una funzione errata. Utilizzerai Gemini per identificare e correggere l'errore di sintassi prima di eseguire la query per prevedere i primi 10 paesi di acquisto.

  1. Fai clic su + per creare una nuova query SQL ed esegui la query riportata di seguito:
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';

Ti renderai conto che le parti di codice SELECT e FROM della query sono simili a quelle utilizzate per generare dati di addestramento. È presente la colonna aggiuntiva fullVisitorId che utilizzerai per prevedere le transazioni per singolo utente. La parte di codice WHERE riflette il cambiamento nell'intervallo di tempo (dal 1° luglio al 1° agosto 2017).

  1. Salviamo questi dati di luglio in modo da poterli utilizzare nei prossimi passaggi per fare previsioni mediante il nostro modello.

  2. Fai clic su Salva e poi seleziona Salva vista.

  3. Nella finestra di dialogo Salva vista, fai clic su Set di dati e seleziona bqml_lab.

  4. Per Tabella, digita july_data e poi fai clic su Salva.

Prevedi gli acquisti per paese/regione

Con questa query proverai a prevedere il numero di transazioni effettuate dai visitatori di ciascun paese o regione, ordinerai i risultati e selezionerai i primi 10 per acquisti:

  1. Fai clic su + per creare una nuova query SQL.

  2. Copia e incolla la query riportata di seguito.

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. Fai clic su Esegui. Come puoi osservare, l'esecuzione della query dà esito negativo e viene visualizzato il seguente errore:

    Function not found: TOTAL at [3:3]

Esegui il debug del codice con Gemini e con l'errore

  1. Fai clic sulla finestra Chat con Gemini in BigQuery.

  2. Nella finestra della chat, copia e incolla la seguente domanda.

    Why am I getting "Function not found: TOTAL at [3:3]" when I run this query?
  3. Premi <Maiusc><Invio>, o <Maiuscole><Invio> su Mac, per creare una nuova riga nella finestra della chat.

  4. Seleziona la query e copiala.

  5. Incollala subito dopo la domanda.

  6. Premi <Maiusc><Invio>, o <Maiuscole><Invio> su Mac, per creare una nuova riga nella finestra della chat.

  7. Copia e incolla la seguente frase:

    Please suggest new code to resolve any issues.
  8. Fai clic su Invia messaggio Invia messaggio. Ricevi una risposta da Gemini.

  9. Esamina i suggerimenti nella risposta. In base a questi suggerimenti, TOTAL() non è una funzione di aggregazione SQL valida in BigQuery.

Nei suggerimenti viene fornita una query perfezionata con una potenziale soluzione simile a quella riportata di seguito:

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. Copia la query perfezionata.

  2. Fai clic su + per creare una nuova query SQL.

  3. Incolla la query perfezionata nella nuova scheda della query senza titolo.

  4. Fai clic su Esegui.

In questa query utilizzerai ml.PREDICT, mentre la parte BigQuery ML della query è racchiusa con comandi SQL standard. Per questo lab ti interessano il paese e la somma degli acquisti per ciascun paese, ecco perché la query include SELECT, GROUP BY e ORDER BY. LIMIT viene utilizzato per assicurarti di ottenere solo i primi 10 risultati.

Dovresti vedere una tabella simile alla seguente:

Tabella a tre colonne con 10 righe di dati relativi agli acquisti totali previsti per paese

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Correggi l'errore e recupera i primi 10 acquisti per ogni paese.

La sfida

Prevedi gli acquisti per utente

Questa volta proverai a prevedere il numero di transazioni effettuate da ciascun visitatore, ordinerai i risultati e selezionerai i primi 10 visitatori in base alle transazioni.

Termina il lab

Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.

Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.

Il numero di stelle corrisponde alle seguenti valutazioni:

  • 1 stella = molto insoddisfatto
  • 2 stelle = insoddisfatto
  • 3 stelle = esperienza neutra
  • 4 stelle = soddisfatto
  • 5 stelle = molto soddisfatto

Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.

Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.

Copyright 2020 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

Questi contenuti non sono al momento disponibili

Ti invieremo una notifica via email quando sarà disponibile

Bene.

Ti contatteremo via email non appena sarà disponibile

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.