Obtén acceso a más de 700 labs y cursos

Predice las compras de visitantes con BigQuery ML

Lab 1 hora universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

BigQuery Machine Learning (BigQuery ML) permite a los usuarios crear y ejecutar modelos de aprendizaje automático en BigQuery usando consultas en SQL. El objetivo es permitir que más personas tengan acceso al aprendizaje automático facultando a los profesionales de SQL para que creen modelos mediante sus herramientas existentes y quitando la necesidad de trasladar datos para aumentar la velocidad de desarrollo.

Tenemos un conjunto de datos de comercio electrónico con millones de registros de Google Analytics para Google Merchandise Store cargados en BigQuery. En este lab, utilizarás estos datos para crear un modelo que prediga si un visitante hará una transacción.

Aprendizaje esperado

Crear, evaluar y usar modelos de aprendizaje automático en BigQuery

Requisitos

  • Un navegador, como Chrome o Firefox
  • Conocimiento básico de SQL o BigQuery

Configuración y requisitos

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Abra BigQuery en Console

  1. En la consola de Google Cloud, seleccione elmenú de navegación > BigQuery.

Se abrirá el cuadro de mensaje Te damos la bienvenida a BigQuery en la consola de Cloud, Contiene un vínculo a la guía de inicio rápido y enumera las actualizaciones de la IU.

  1. Haga clic en Listo.

Tarea 1: Explora los datos

En esta tarea, explorarás y prepararás un conjunto de datos públicos para un modelo de aprendizaje automático. Ejecutarás una consulta en SQL para inspeccionar una muestra de datos de Google Analytics y guardar el resultado como training_data.

Los datos que usaremos en este lab se encuentran en el proyecto bigquery-public-data, que está disponible para todo el mundo. Veamos una muestra de ellos.

  1. Para verificar que el conjunto de datos bqml_lab esté presente, haz clic en la flecha que se encuentra a la izquierda de tu Project_ID, que comienza como qwiklabs-gcp-00-XXXXXXXXXX. El conjunto de datos bqml_lab debería aparecer debajo.

  2. Haz clic en + para crear una consulta en SQL nueva. Se mostrará una nueva pestaña en BigQuery Studio.

Explica la consulta

  1. Agrega la consulta al recuadro Consulta sin título.
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. Selecciona la consulta.

  2. Haz clic en el botón Gemini Gemini Code Assist que está inmediatamente a la izquierda de la consulta.

  3. Haz clic en Explicar esta consulta.

  4. Verás que se abre el diálogo de Gemini a la derecha de BigQuery Studio.

  5. Se muestra el mensaje Te damos la bienvenida a Gemini en la consola de Cloud en el panel de Gemini. Haz clic en Start chatting. Verás una explicación para la consulta como la que aparece a continuación en la ventana del chat.

Nota: Si no aparece ninguna explicación en la ventana de chat, vuelve a hacer clic en Explicar esta consulta después de seleccionar toda la consulta.
  1. Revisa la explicación.
Nota: Como es una herramienta generativa, la respuesta de Gemini Code Assist será ligeramente diferente cada vez, pero los puntos clave deberían ser similares.
  1. Gemini devuelve una respuesta similar a la que se indica a continuación:

    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. Haz clic en Ejecutar.

  3. Haz clic en Guardar y, luego, selecciona Guardar vista.

  4. En el cuadro de diálogo Guardar vista, haz clic en Conjunto de datos y selecciona bqml_lab.

  5. En Tabla, escribe training_data y, luego, haz clic en Guardar.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear una tabla de vista

Tarea 2: Crea un modelo

En esta tarea, generarás un nuevo modelo de aprendizaje automático para predecir las transacciones de los visitantes con una instrucción en lenguaje natural que devuelva una consulta en SQL en BigQuery. Especifica un tipo de modelo de regresión logística y entrénalo con el conjunto training_data existente.

  1. Haz clic en + para crear una consulta en SQL nueva. Se mostrará una nueva pestaña en BigQuery Studio.

  2. Haz clic en Herramienta de generación de SQL para acceder a la herramienta de generación de SQL. Verás que aparece el diálogo Generar SQL con Gemini. Puedes ingresar una instrucción en un lenguaje natural en esta ventana para generar una sentencia de SQL nueva.

  3. Copia y pega la siguiente instrucción

    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. Haz clic en Generar. Gemini sugiere una consulta en SQL similar a la que aparece a continuación.

    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: Si la consulta generada muestra el mensaje de error, considera ajustar la sintaxis de la consulta o reemplazarla por completo para que coincida con el ejemplo proporcionado.
  1. Haz clic en Insertar.

  2. Haz clic en Ejecutar.

En este caso, bqml_lab es el nombre del conjunto de datos, sample_model es el nombre del modelo y training_data son los datos de transacciones que analizamos en la tarea anterior. El tipo de modelo especificado es regresión logística binaria.

La ejecución del comando CREATE MODEL crea un trabajo de consulta que se ejecutará de manera asíncrona para que puedas, por ejemplo, cerrar o actualizar la ventana de la IU de BigQuery.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un modelo

Opcional: Información del modelo y estadísticas de entrenamiento

Si te interesa, haz clic en el conjunto de datos bqml_lab en el menú del lado izquierdo y, luego, haz clic en el modelo sample_model en la IU para obtener información sobre el modelo. En Detalles, deberías encontrar información básica sobre el modelo y las opciones de entrenamiento que se usan para producirlo. En Entrenamiento, deberías ver una tabla similar a la siguiente:

Una tabla de seis columnas con 11 filas de datos relacionados con la iteración, la pérdida de datos, la tasa de aprendizaje y la hora de finalización

Tarea 3: Evalúa el modelo

En esta tarea, evaluarás el rendimiento de tu modelo de aprendizaje automático con la función ML.EVALUATE. Esto proporciona métricas clave que muestran la precisión con la que el modelo predice las transacciones de los visitantes.

  1. Haz clic en + para crear una consulta en SQL nueva. Se mostrará una nueva pestaña en BigQuery Studio.

  2. Haz clic en Herramienta de generación de SQL para acceder a la herramienta de generación de SQL. Verás que aparece el diálogo Generar SQL con Gemini. Puedes ingresar una instrucción en un lenguaje natural en esta ventana para generar una sentencia de SQL nueva.

  3. Copia y pega la siguiente instrucción.

    Write a query to evaluate the performance of the model `bqml_lab.sample_model` using the `ml.EVALUATE` function.
  4. Haz clic en Generar. Gemini sugiere una consulta en SQL similar a la que aparece a continuación.

    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: Si la consulta generada muestra el mensaje de error, considera ajustar la sintaxis de la consulta o reemplazarla por completo para que coincida con el ejemplo proporcionado.
  1. Haz clic en Insertar.

  2. Haz clic en Ejecutar.

Deberías ver una tabla similar a la siguiente:

Tabla de resultados

Tarea 4: Usa el modelo

En esta tarea, aprenderás a usar la función ML.PREDICT de BigQuery para realizar predicciones, pero, primero, debes depurar una consulta que usa una función incorrecta. Usarás Gemini para identificar y corregir el error de sintaxis antes de ejecutar la consulta para predecir los 10 principales países de compra.

  1. Haz clic en + para crear una consulta en SQL nueva y ejecutar la siguiente consulta:
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';

Notarás que las partes SELECT y FROM de la consulta son similares a las que usaste para generar los datos de entrenamiento. Existe la columna adicional fullVisitorId, que usarás para predecir las transacciones de usuarios individuales. La parte WHERE refleja el cambio del período (1 de julio al 1 de agosto de 2017).

  1. Guardemos estos datos de julio para usarlos en los próximos pasos y generar predicciones con nuestro modelo.

  2. Haz clic en Guardar y, luego, selecciona Guardar vista.

  3. En el cuadro de diálogo Guardar vista, haz clic en Conjunto de datos y selecciona bqml_lab.

  4. En Tabla, escribe july_data y, luego, haz clic en Guardar.

Predice compras por país o región

Con esta consulta, intentarás predecir la cantidad de transacciones realizadas por visitantes de cada país o región, ordenar los resultados, y seleccionar los 10 que realizaron más compras:

  1. Haz clic en + para crear una consulta en SQL nueva.

  2. Copia y pega la siguiente consulta.

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. Haz clic en Ejecutar. Confirmas que la consulta no se pudo ejecutar y que obtuviste el siguiente error:

    No se encontró la función: TOTAL en [3:3]

Cómo depurar el código con Gemini y el error

  1. Haz clic en la ventana del chat de Gemini en BigQuery.

  2. En la ventana del chat, copia y pega la siguiente pregunta.

    Why am I getting "Function not found: TOTAL at [3:3]" when I run this query?
  3. Presiona <SHIFT><INTRO>, o <SHIFT><retorno> en Mac, para crear una nueva línea en la ventana del chat.

  4. Selecciona y copia la consulta.

  5. Pégala inmediatamente después de la pregunta que realizaste.

  6. Presiona <SHIFT><INTRO>, o <SHIFT><retorno> en Mac, para crear una nueva línea en la ventana del chat.

  7. Copia y pega la siguiente oración:

    Please suggest new code to resolve any issues.
  8. Haz clic en Enviar instrucción Enviar instrucción. Obtendrás una respuesta de Gemini.

  9. Revisa las sugerencias en la respuesta. Según estas sugerencias, se indica que TOTAL() no es una función de agregación de SQL válida en BigQuery.

En estas sugerencias, se ofrece una consulta mejor definida con una posible solución parecida a la que se muestra a continuación:

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 consulta perfeccionada.

  2. Haz clic en + para crear una consulta en SQL nueva.

  3. Pega la consulta perfeccionada en la nueva pestaña de la consulta sin título.

  4. Haz clic en Ejecutar.

En esta consulta, se usa ml.PREDICT y la parte de BigQuery ML de la consulta está unida con comandos de SQL estándar. En este lab, te interesan el país y la suma de las compras de cada país, por lo que se usan SELECT, GROUP BY y ORDER BY. LIMIT se usa para garantizar que solo obtengas los 10 resultados principales.

Deberías ver una tabla similar a la siguiente:

Una tabla de tres columnas con 10 filas de datos relacionados con el total de compras predichas por país

Haz clic en Revisar mi progreso para verificar el objetivo. Corregir el error y recuperar las 10 compras principales de cada país

Desafío

Predice compras por usuario

Esta vez, intentarás predecir la cantidad de transacciones realizadas por cada visitante, ordenar los resultados y seleccionar los 10 visitantes que más transacciones realizan.

Finalice su lab

Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

Copyright 2020 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.