Ottenere insight sui dati da un modello di analisi del contributo
In questo tutorial utilizzi una di analisi del contributo per analizzare le tariffe dei taxi cambiano tra il 2011 e il 2012 a New York. Questo tutorial guida svolgendo le seguenti attività:
- Creazione di una tabella di input basata sui dati dei taxi disponibili pubblicamente.
- La creazione di un modello di analisi del contributo, che utilizza un metrica sommabile. Questo tipo di modello riassume una determinata metrica per una combinazione di uno o più dimensioni nei dati, per stabilire in che modo contribuiscono al valore della metrica.
- Ottieni gli insight sulle metriche dal modello utilizzando
Funzione
ML.GET_INSIGHTS
.
Prima di iniziare questo tutorial, è necessario acquisire familiarità con il caso d'uso di analisi dei contributi.
Autorizzazioni obbligatorie
Per creare il set di dati, devi disporre dell'autorizzazione
bigquery.datasets.create
Identity and Access Management (IAM).Per creare il modello, devi disporre delle seguenti autorizzazioni:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Per eseguire l'inferenza, devi disporre delle seguenti autorizzazioni:
bigquery.models.getData
bigquery.jobs.create
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
Per generare una stima dei costi basata sull'utilizzo previsto,
utilizza il Calcolatore prezzi.
Per ulteriori informazioni sui prezzi di BigQuery, consulta Prezzi di BigQuery in documentazione di BigQuery.
Prima di iniziare
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery API.
Crea un set di dati
Crea un set di dati BigQuery per archiviare il tuo modello ML:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, fai clic sul nome del tuo progetto.
Fai clic su
Visualizza azioni > Crea il set di dati.Nella pagina Crea set di dati:
In ID set di dati, inserisci
bqml_tutorial
.Per Tipo di località, seleziona Più regioni e poi Stati Uniti (più regioni negli Stati Uniti).
I set di dati pubblici vengono archiviati nell'
US
più regioni. Per semplicità, per archiviare il set di dati nella stessa posizione.Lascia invariate le restanti impostazioni predefinite e fai clic su Crea il set di dati.
Crea una tabella di dati di input
Crea una tabella contenente i dati di test e controllo da analizzare. Le seguenti la query crea due tabelle intermedie, una tabella di prova con i dati sui taxi del 2012 e una tabella di controllo con i dati sui taxi del 2011, per poi unire le tabelle intermedie per creare una tabella con righe di test e di controllo e lo stesso insieme di colonne.
Nella console Google Cloud, vai alla pagina BigQuery.
Esegui la seguente istruzione nell'editor query:
CREATE OR REPLACE TABLE bqml_tutorial.taxi_control_and_test AS ( SELECT vendor_id, passenger_count, payment_type, pickup_location_id, EXTRACT(MONTH FROM pickup_datetime) AS month, AVG(total_amount) AS avg_total_fare, FALSE AS is_test FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2011` WHERE total_amount > 0 GROUP BY vendor_id, passenger_count, payment_type, pickup_location_id, month, is_test ) UNION ALL ( SELECT vendor_id, passenger_count, payment_type, pickup_location_id, EXTRACT(MONTH FROM pickup_datetime) AS month, AVG(total_amount) AS avg_total_fare, TRUE AS is_test FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2012` WHERE total_amount > 0 GROUP BY vendor_id, passenger_count, payment_type, pickup_location_id, month, is_test );
crea il modello
Crea un modello di analisi dei contributi:
Nella console Google Cloud, vai alla pagina BigQuery.
Esegui la seguente istruzione nell'editor query:
CREATE OR REPLACE MODEL `bqml_tutorial.taxi_contribution_analysis_model` OPTIONS ( MODEL_TYPE = 'CONTRIBUTION_ANALYSIS', CONTRIBUTION_METRIC = 'SUM(avg_total_fare)', DIMENSION_ID_COLS = ['vendor_id', 'passenger_count', 'pickup_location_id', 'payment_type', 'month'], IS_TEST_COL = 'is_test', MIN_APRIORI_SUPPORT = 0.05) AS SELECT * FROM bqml_tutorial.taxi_control_and_test;
Il completamento della query richiede circa 20 secondi, dopodiché il modello
taxi_contribution_analysis_model
compare nel set di dati bqml_tutorial
in
nel riquadro Explorer. Poiché la query utilizza un'istruzione CREATE MODEL
per creare un modello, non ci sono risultati della query.
Ottenere approfondimenti dal modello
Ricevi gli insight generati dal modello di analisi del contributo utilizzando il
Funzione ML.GET_INSIGHTS
.
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, esegui la seguente istruzione:
SELECT contributors, metric_test, metric_control, difference, relative_difference, unexpected_difference, relative_unexpected_difference, apriori_support FROM ML.GET_INSIGHTS( MODEL `bqml_tutorial.taxi_contribution_analysis_model`) WHERE relative_difference IS NOT NULL ORDER BY unexpected_difference DESC;
La clausola
WHERE
esclude i risultati per i collaboratori presenti nel set di test, ma non in quello di controllo.Se avessi utilizzato
SELECT *
anziché specificare le colonne nell'istruzioneSELECT
per la funzione, l'output includerebbe anche le colonne delle dimensioni specificate nell'opzioneDIMENSION_ID_COLS
dell'istruzioneCREATE MODEL
.Le prime righe dell'output dovrebbero essere simili alla seguente:
+-------------------------------------------------------------+------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | contributors | metric_test | metric_control | difference | relative_difference | unexpected_difference | relative_unexpected_difference | apriori_support | +-------------------------------------------------------------+------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | ["payment_type=5"] | 82996.99307095 | 138.26 | 82858.73307095 | 599.296492629 | 82825.246757081 | 482.253417818 | 0.063593301 | +-------------------------------------------------------------+------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | ["vendor_id=1"] | 651674.026105812 | 475749.798118647 | 175924.227987165 | 0.369783085 | 39985.82041025 | 0.065369611 | 0.499320531 | +-------------------------------------------------------------+------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | ["passenger_count=1"] | 304615.252142054 | 214839.058249037 | 89776.193893017 | 0.417876501 | 25149.907437652 | 0.08999294 | 0.233399895 | +-------------------------------------------------------------+------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | ["passenger_count=6"] | 106980.236314059 | 64751.247894565 | 42228.988419494 | 0.65217258 | 22582.018639759 | 0.267565108 | 0.081969553 | +-------------------------------------------------------------+------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+ | ["vendor_id=1","passenger_count=1"] | 169184.64374 | 114583.997774386 | 54600.645965614 | 0.476511965 | 19471.037967023 | 0.130055237 | 0.129631323 | +-------------------------------------------------------------+------------------+------------------+------------------+---------------------+-----------------------+--------------------------------+-----------------+
Poiché hai eseguito l'analisi del contributo su una metrica sommabile, i risultati contengono colonne di output delle metriche sommabili.
Esegui la pulizia
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.