Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Usa BigQuery ML para predecir el peso de un pingüino

Lab 2 horas universal_currency_alt 5 créditos show_chart Avanzado
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

Descripción general

En este lab, usarás la tabla de pingüinos para crear un modelo que prediga el peso de uno de ellos según su especie, la isla donde vive, la longitud y profundidad del culmen o parte superior del pico, la longitud de sus aletas y su sexo.

Este es un lab de introducción a BigQuery ML para analistas de datos. BigQuery ML permite a los usuarios crear y ejecutar modelos de aprendizaje automático en BigQuery con 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.

Objetivos de aprendizaje

  • Crear un modelo de regresión lineal usando la instrucción CREATE MODEL con BigQuery ML
  • Evaluar el modelo de AA con la función ML.EVALUATE
  • Hacer predicciones con el modelo de AA a través de la función ML.PREDICT

Configuración

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

  1. Accede a Google Skills en 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 necesitas, puedes reiniciar el lab, pero deberás 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 usas otras credenciales, se generarán errores o incurrirás en cargos.

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

Habilita la API de BigQuery

  1. En el Menú de navegación (Ícono de ver el menú de navegación) de la consola de Cloud, haz clic en APIs y servicios > Biblioteca.
  2. Busca la API de BigQuery y, luego, haz clic en Habilitar si aún no está habilitada.

Tarea 1: Crea el conjunto de datos

El primer paso es crear un conjunto de datos de BigQuery en el que se almacenará el modelo de AA. Para crear el conjunto de datos, haz lo siguiente:

  1. En la consola de Cloud, ve a Menú de navegación y haz clic en BigQuery.

  2. En el panel Explorador, haz clic en el ícono de Ver acciones (los tres puntos verticales) que se encuentra junto al ID del proyecto y, luego, en Crear conjunto de datos.

  3. Haz lo siguiente en la página Crear conjunto de datos:

  • En ID de conjunto de datos, escribe bqml_tutorial.

  • Selecciona US (multiple regions in United States) en Ubicación de los datos (opcional).
    Actualmente, los conjuntos de datos públicos se almacenan en la ubicación multirregional de EE.UU. Para que sea más simple, debes colocar el conjunto de datos en la misma ubicación.

  1. Deja el resto de la configuración con sus valores predeterminados y haz clic en Crear conjunto de datos.

Tarea 2: Crea tu modelo

A continuación, debes crear un modelo de regresión lineal con la tabla de pingüinos para BigQuery.

  • Con la siguiente consulta en SQL estándar, se crea el modelo que debes usar para predecir el peso de un pingüino:
#standardSQL CREATE OR REPLACE MODEL `bqml_tutorial.penguins_model` OPTIONS (model_type='linear_reg', input_label_cols=['body_mass_g']) AS SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL
  • Además de crear el modelo, el comando CREATE MODEL también lo entrena.

Detalles de la consulta

La cláusula CREATE MODEL se usa para crear y entrenar el modelo llamado bqml_tutorial.penguins_model.

La cláusula OPTIONS(model_type='linear_reg', input_label_cols=['body_mass_g']) indica que estás creando un modelo de regresión lineal. Una regresión lineal es un tipo de modelo de regresión que genera un valor continuo a partir de una combinación lineal de atributos de entrada. La columna body_mass_g es la columna de la etiqueta de entrada. Para los modelos de regresión lineal, la columna de la etiqueta debe tener un valor real (sus valores deben ser números reales).

La instrucción SELECT de esta consulta utiliza todas las columnas de la tabla bigquery-public-data.ml_datasets.penguins. Esta tabla contiene las siguientes columnas que se usarán para predecir el peso de un pingüino:

  • species: La especie del pingüino (STRING)
  • island: La isla donde vive el pingüino (STRING)
  • culmen_length_mm: La longitud de su culmen en milímetros (FLOAT64)
  • culmen_depth_mm: La profundidad de su culmen en milímetros (FLOAT64)
  • flipper_length_mm: La longitud de las aletas en milímetros (FLOAT64)
  • sex: El sexo del pingüino (STRING)

La cláusula FROMbigquery-public-data.ml_datasets.penguins indica que consultas la tabla de pingüinos en el conjunto de datos ml_datasets. Este conjunto de datos está en el proyecto bigquery-public-data.

La cláusula WHERE (WHERE body_mass_g IS NOT NULL) excluye las filas en las que body_mass_g tiene el valor NULL.

Ejecuta la consulta CREATE MODEL

Sigue estos pasos para ejecutar la consulta CREATE MODEL y crear y entrenar el modelo:

  1. En la consola de Cloud, haz clic en Redactar consulta nueva.

  2. En el área de texto del Editor de consultas, ingresa la siguiente consulta en SQL estándar:

#standardSQL CREATE OR REPLACE MODEL `bqml_tutorial.penguins_model` OPTIONS (model_type='linear_reg', input_label_cols=['body_mass_g']) AS SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL
  1. Haz clic en Ejecutar.

La consulta tarda unos 30 segundos en completarse; luego, el modelo (penguins_model) aparecerá en el panel de navegación. Debido a que en la consulta se usa una sentencia CREATE MODEL para crear una tabla, no se muestran los resultados.

Nota: Puedes ignorar la advertencia sobre los valores NULL para los datos de entrada.

Tarea 3. Obtén estadísticas de entrenamiento (opcional)

Para ver los resultados del entrenamiento de modelos, puedes usar la función ML.TRAINING_INFO o ver las estadísticas en la consola de Cloud. En este instructivo, usarás la consola de Cloud.

Para crear un modelo, los algoritmos de aprendizaje automático examinan muchos ejemplos y buscan un modelo que minimice la pérdida. Este proceso se llama minimización del riesgo empírico.

La pérdida es la penalización de una mala predicción, un número que indica qué tan mala fue la predicción del modelo en un ejemplo individual. Si la predicción del modelo es perfecta, la pérdida es cero; de lo contrario, es mayor. El objetivo de entrenar un modelo es encontrar un conjunto de pesos y sesgos que tengan, en promedio, una pérdida baja en todos los ejemplos.

Para ver las estadísticas de entrenamiento del modelo que se generaron cuando se ejecutó la consulta CREATE MODEL, haz lo siguiente:

  1. En la sección Explorador del panel de navegación de la consola de Cloud, expande [PROJECT_ID] > bqml_tutorial > Modelos (1) y, luego, haz clic en penguins_model.

  2. Haz clic en la pestaña Entrenamiento y, luego, en Tabla. Los resultados deberían verse así:

El modelo penguins_model en un formato de tabla en la página de entrenamiento con pestañas

La columna Pérdida de datos de entrenamiento representa la métrica de pérdida calculada después de que se entrena el modelo en el conjunto de datos de entrenamiento. Debido a que realizaste una regresión lineal, esta columna es el error cuadrático medio.

Se utiliza automáticamente una estrategia de optimización “normal_equation” para este entrenamiento, por lo que solo se requiere una iteración para converger en el modelo final. Para obtener más detalles sobre la opción optimize_strategy, consulta la instrucción CREATE MODEL para modelos lineales generalizados.

Para obtener más detalles sobre la función ML.TRAINING_INFO y la opción de entrenamiento "optimize_strategy", consulta la referencia de sintaxis de BigQuery ML.

Tarea 4: Evalúa tu modelo

Después de crear el modelo, debes evaluar su rendimiento con la función ML.EVALUATE. La función ML.EVALUATE compara los valores predichos con los datos reales.

  • La siguiente consulta se usa para evaluar el modelo:
#standardSQL SELECT * FROM ML.EVALUATE(MODEL `bqml_tutorial.penguins_model`, ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL))

Detalles de la consulta

  • Con la primera instrucción SELECT, se recuperan las columnas del modelo.
  • La cláusula FROM utiliza la función ML.EVALUATE para evaluar el modelo: bqml_tutorial.penguins_model.
  • La sentencia SELECT anidada y la cláusula FROM de esta consulta son las mismas de la consulta CREATE MODEL.
  • La cláusula WHERE (WHERE body_mass_g IS NOT NULL) excluye las filas en las que body_mass_g tiene el valor NULL.

Una evaluación adecuada debería encontrarse en un subconjunto de la tabla de pingüinos que esté separado de los datos usados para entrenar el modelo. También puedes llamar a ML.EVALUATE sin proporcionar los datos de entrada. ML.EVALUATE recuperará las métricas de evaluación calculadas durante el entrenamiento, que usa el conjunto de datos de evaluación reservado de forma automática:

#standardSQL SELECT * FROM ML.EVALUATE(MODEL `bqml_tutorial.penguins_model`)

También puedes usar la consola de Cloud para ver las métricas de evaluación calculadas durante el entrenamiento. Los resultados deberían verse así:

La página con pestañas de la evaluación de Penguins_model que muestra un error absoluto medio, error cuadrático medio, error logarítmico cuadrático medio, mediana de error absoluto y detalles de R cuadrado

Ejecuta la consulta ML.EVALUATE

Para ejecutar la consulta ML.EVALUATE que evalúa el modelo, haz lo siguiente:

  1. En la consola de Cloud, haz clic en Redactar consulta nueva.

  2. En el área de texto del Editor de consultas, ingresa la siguiente consulta en SQL estándar:

#standardSQL SELECT * FROM ML.EVALUATE(MODEL `bqml_tutorial.penguins_model`, ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL))
  1. Para configurar la ubicación de los datos, haz clic en Más > Configuración de consulta (opcional). Selecciona US (multiple regions in United States) en Ubicación de los datos (opcional).

  2. Haz clic en Ejecutar.

  3. Cuando la consulta finalice, haz clic en la pestaña Resultados debajo del área de texto de la consulta. Los resultados deberían verse así:

Los resultados de la consulta

Debido a que realizaste una regresión lineal, los resultados incluyen las siguientes columnas:

  • mean_absolute_error
  • mean_squared_error
  • mean_squared_log_error
  • median_absolute_error
  • r2_score
  • explained_variance

Una métrica importante en los resultados de la evaluación es la puntuación R2. La puntuación R2 es una medida estadística que determina si las predicciones de regresión lineal se aproximan a los datos reales. 0 indica que el modelo no explica la variabilidad de los datos de respuesta en torno a la media. 1 indica que el modelo explica toda la variabilidad de los datos de respuesta en torno a la media.

Tarea 5. Usa el modelo para predecir resultados

Ahora que ya evaluaste tu modelo, el siguiente paso es usarlo para predecir un resultado. Úsalo para predecir la masa corporal en gramos de todos los pingüinos que viven en las islas Biscoe.

  • La siguiente consulta se usa para predecir el resultado:
#standardSQL SELECT * FROM ML.PREDICT(MODEL `bqml_tutorial.penguins_model`, ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL AND island = "Biscoe"))

Detalles de la consulta

Con la primera sentencia SELECT, se recupera la columna predicted_body_mass_g y las columnas de bigquery-public-data.ml_datasets.penguins. Esta columna se genera con la función ML.PREDICT. Cuando usas la función ML.PREDICT, el nombre de la columna de resultado será predicted_<label_column_name>. Para los modelos de regresión lineal, predicted_label es el valor estimado de label. Para los modelos de regresión logística, predicted_label es una de las dos etiquetas de entrada, según la que tenga la mayor probabilidad predicha.

  • La función ML.PREDICT se usa para predecir resultados con tu modelo: bqml_tutorial.penguins_model.
  • La instrucción SELECT anidada y la cláusula FROM de esta consulta son las mismas de la consulta CREATE MODEL.
  • La cláusula WHERE (WHERE island = "Biscoe") indica que limitas la predicción a las islas Biscoe.

Ejecuta la consulta ML.PREDICT

Para ejecutar la consulta que usa el modelo y predecir un resultado, haz lo siguiente:

  1. En la consola de Cloud, haz clic en Redactar consulta nueva.

  2. En el área de texto del Editor de consultas, ingresa la siguiente consulta en SQL estándar:

#standardSQL SELECT * FROM ML.PREDICT(MODEL `bqml_tutorial.penguins_model`, ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL AND island = "Biscoe"))
  1. Para configurar la ubicación de los datos, haz clic en Más > Configuración de consulta (opcional). Selecciona US (multiple regions in United States) en Ubicación de los datos (opcional).

  2. Haz clic en Ejecutar.

  3. Cuando la consulta finalice, haz clic en la pestaña Resultados debajo del área de texto de la consulta. Los resultados deberían verse así:

La página de los resultados de la consulta que muestra 11 filas de datos

Tarea 6: Explica los resultados de la predicción con los métodos de Explainable AI

Para comprender por qué el modelo genera estos resultados de predicción, puedes usar la función ML.EXPLAIN_PREDICT.

ML.EXPLAIN_PREDICT es una versión ampliada de ML.PREDICT. ML.EXPLAIN_PREDICT muestra resultados de predicción con columnas adicionales que explican esos resultados.

Puedes ejecutar ML.EXPLAIN_PREDICT sin ML.PREDICT. Para obtener una explicación detallada de los valores de Shapley y Explainable AI en BigQuery ML, consulta la descripción general de Explainable AI para BigQuery ML.

  • Se usa la siguiente consulta para generar explicaciones:
#standardSQL SELECT * FROM ML.EXPLAIN_PREDICT(MODEL `bqml_tutorial.penguins_model`, ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL AND island = "Biscoe"), STRUCT(3 as top_k_features))

Detalles de la consulta

Ejecuta la consulta ML.EXPLAIN_PREDICT

Haz lo siguiente para ejecutar la consulta ML.EXPLAIN_PREDICT que explica el modelo:

  1. En la consola de Cloud, haz clic en Redactar consulta nueva.

  2. En el área de texto del Editor de consultas, ingresa la siguiente consulta en SQL estándar:

#standardSQL SELECT * FROM ML.EXPLAIN_PREDICT(MODEL `bqml_tutorial.penguins_model`, ( SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL AND island = "Biscoe"), STRUCT(3 as top_k_features))
  1. Haz clic en Ejecutar.

  2. Cuando la consulta finalice, haz clic en la pestaña Resultados debajo del área de texto de la consulta. Los resultados deberían verse así:

La página de resultados de la consulta

Nota: La consulta ML.EXPLAIN_PREDICT genera todas las columnas de atributos de entrada, de una manera similar a la de ML.PREDICT. Solo se muestra una columna de atributos, “species” en la figura anterior para fines de legibilidad.

Para los modelos de regresión lineal, los valores de Shapley se usan para generar valores de atribución de atributos por cada atributo del modelo. ML.EXPLAIN_PREDICT muestra las 3 atribuciones principales por cada fila de la tabla proporcionada porque top_k_features se estableció como 3 en la consulta.

Estas atribuciones se ordenan por el valor absoluto de la atribución en orden descendente. En todos los ejemplos, el atributo sex fue el que más contribuyó a la predicción general. Para obtener explicaciones detalladas sobre las columnas de resultado de la consulta ML.EXPLAIN_PREDICT, consulta la documentación de la sintaxis de ML.EXPLAIN_PREDICT

Tarea 7: Explica el modelo de forma global (opcional)

Para saber qué características son las más importantes a la hora de determinar los pesos de los pingüinos en general, puedes usar la función ML.GLOBAL_EXPLAIN. Para usar ML.GLOBAL_EXPLAIN, el modelo debe volver a entrenarse con la opción ENABLE_GLOBAL_EXPLAIN=TRUE.

  • Vuelve a ejecutar la consulta de entrenamiento con esta opción a través de la siguiente consulta:
#standardSQL CREATE OR REPLACE MODEL bqml_tutorial.penguins_model OPTIONS (model_type='linear_reg', input_label_cols=['body_mass_g'], enable_global_explain=TRUE) AS SELECT * FROM `bigquery-public-data.ml_datasets.penguins` WHERE body_mass_g IS NOT NULL Nota: Puedes ignorar la advertencia sobre los valores NULL para los datos de entrada.

Accede a explicaciones globales a través de ML.GLOBAL_EXPLAIN

  • Se usa la siguiente consulta para generar explicaciones globales:
#standardSQL SELECT * FROM ML.GLOBAL_EXPLAIN(MODEL `bqml_tutorial.penguins_model`)

Detalles de la consulta

Ejecuta la consulta ML.GLOBAL_EXPLAIN

Haz lo siguiente para ejecutar la consulta ML.GLOBAL_EXPLAIN:

  1. En la consola de Cloud, haz clic en Redactar consulta nueva.

  2. En el área de texto del Editor de consultas, ingresa la siguiente consulta en SQL estándar:

#standardSQL SELECT * FROM ML.GLOBAL_EXPLAIN(MODEL `bqml_tutorial.penguins_model`)
  1. Para configurar la ubicación de los datos, haz clic en Más > Configuración de consulta (opcional). Selecciona US (multiple regions in United States) en Ubicación de los datos (opcional).

  2. Haz clic en Ejecutar.

  3. Cuando la consulta finalice, haz clic en la pestaña Resultados debajo del área de texto de la consulta. Los resultados deberían verse así:

La página de los resultados de la consulta que muestra seis filas de datos debajo de los encabezados de las columnas: fila, función y atribución

Tarea 8. Realiza una limpieza

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Borra el conjunto de datos

Borrar el proyecto quita todos tus conjuntos de datos y tablas. Si prefieres volver a usar el proyecto, puedes borrar el conjunto de datos que creaste en este instructivo:

  1. Si es necesario, abre la página de BigQuery en la consola de Cloud.

  2. En el panel Explorador, haz clic en Ver acciones (Ícono de ver acciones) que se encuentra junto a tu conjunto de datos.

  3. Haz clic en Borrar.

  4. En el cuadro de diálogo Borrar conjunto de datos, escribe delete y, luego, haz clic en Borrar.

Borra tu proyecto

Para borrar el proyecto, haz lo siguiente:

  1. En el menú de navegación de la consola de Cloud, haz clic en IAM y administración > Administrar recursos.
Nota: Si se te solicita, haz clic en SALIR en el diálogo Trabajo sin guardar.
  1. En la lista de proyectos, elige el proyecto que deseas borrar y haz clic en Borrar.

  2. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.

¡Felicitaciones!

Aprendiste a hacer lo siguiente:

  • Crear un modelo de regresión lineal mediante la instrucción CREATE MODEL con BigQuery ML
  • Evaluar el modelo de AA con la función ML.EVALUATE
  • Hacer predicciones con el modelo de AA usando la función ML.PREDICT

¿Qué sigue?

Finalice su lab

Cuando haya completado su lab, haga clic en Finalizar lab. Qwiklabs quitará los recursos que usó y limpiará la cuenta por usted.

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 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los 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

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este 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.