arrow_back

Predice las compras de visitantes con BigQuery ML

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

Predice las compras de visitantes con BigQuery ML

Lab 1 hora 30 minutos 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 Google Cloud Console, seleccione el menú de navegación > BigQuery.

Se abrirá el cuadro de mensaje Te damos la bienvenida a BigQuery en Cloud Console, que 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: Crea un conjunto de datos

  1. Crea un nuevo conjunto de datos en tu proyecto. Para ello, haz clic en los tres puntos situados junto al ID de tu proyecto en la sección Explorador y, luego, haz clic en Crear un conjunto de datos.

Se abrirá el diálogo Crear conjunto de datos.

  1. Ingresa bqml_lab en el campo ID del conjunto de datos y haz clic en CREAR CONJUNTO DE DATOS (acepta los demás valores predeterminados).

Tarea 2: Explora los datos

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. Agrega la consulta al recuadro Consulta sin título y haz clic en el botón Ejecutar.
#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 '20170631' LIMIT 10000;

Las tablas de datos tienen muchas columnas, pero solo utilizaremos unas pocas para crear nuestro modelo de AA. Para determinar si se realizó una transacción, la consulta utiliza el sistema operativo del dispositivo del visitante, la información sobre si es un dispositivo móvil, el país o la región del visitante, y la cantidad de vistas de página. En este caso, label es lo que estás intentado ajustar (o predecir).

Con estos datos, se entrenará el modelo de AA que crearás. Los datos de entrenamiento se limitan a los recolectados entre el 1 de agosto de 2016 y el 30 de junio de 2017 con el propósito de guardar el último mes de datos para la "predicción". Además, se limita a 10,000 datos para ahorrar tiempo.

  1. Guardemos esta consulta como datos de entrenamiento. Haz clic en Guardar y, luego, selecciona Guardar vista en el menú desplegable para guardar esta consulta como una vista. En la ventana emergente, selecciona bqml_lab en Conjunto de datos y escribe training_data en Nombre de la tabla. Luego, haz clic en Guardar.

Tarea 3: Crea un modelo

  • Ahora, reemplaza la consulta por lo siguiente para crear un modelo capaz de predecir si un visitante realizará una transacción:
#standardSQL CREATE OR REPLACE MODEL `bqml_lab.sample_model` OPTIONS(model_type='logistic_reg') AS SELECT * from `bqml_lab.training_data`;

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.

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 4: Evalúa el modelo

  • Ahora, reemplaza la consulta por la siguiente:
#standardSQL SELECT * FROM ml.EVALUATE(MODEL `bqml_lab.sample_model`);

En esta consulta, usarás la función ml.EVALUATE para evaluar los valores predichos en comparación con los datos reales, además de compartir algunas métricas sobre el rendimiento del modelo. Deberías ver una tabla similar a la siguiente:

Tabla de resultados

Tarea 5: Usa el modelo

  1. Ahora, haz clic en Consulta en SQL y ejecuta la siguiente consulta:
#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';

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 con el fin de usarlos en los próximos 2 pasos para generar predicciones con nuestro modelo. Haz clic en Guardar y, luego, selecciona Guardar vista en el menú desplegable para guardar esta consulta como una vista. En la ventana emergente, selecciona bqml_lab en Conjunto de datos y escribe july_data en Nombre de la tabla. Luego, haz clic en Guardar.

  2. 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:

#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;

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

  1. Predice compras por usuario

Veamos otro ejemplo. 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:

#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;

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 ID de visitante completo

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.