arrow_back

Cómo usar el ajuste de hiperparámetros de BigQuery ML para mejorar el rendimiento de los modelos

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

Cómo usar el ajuste de hiperparámetros de BigQuery ML para mejorar el rendimiento de los modelos

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Avanzado
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

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 a través de consultas en SQL. En este lab, se presenta un método para ajustar hiperparámetros que especifica la opción de entrenamiento num_trials.

En este lab, usarás la tabla de muestra tlc_yellow_trips_2018 para crear un modelo que prediga la propina de un viaje en taxi. Verás una mejora de rendimiento de aproximadamente el 40% (r2_score) con el ajuste de hiperparámetros.

Objetivos

En este lab, usarás BigQuery ML para realizar las siguientes tareas:

  • Crear un modelo de regresión lineal mediante la sentencia CREATE MODEL con el parámetro num_trials establecido en 20
  • Revisar el resumen de las 20 pruebas con la función ML.TRIAL_INFO
  • Evaluar el modelo de AA con ML.EVALUATE
  • Hacer predicciones con el modelo de AA y la función ML.PREDICT

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.

Habilita la API de BigQuery

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Google 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 de entrenamiento

La primera tarea es crear un conjunto de datos de BigQuery donde se almacenarán los datos de entrenamiento y el modelo de AA. Para crear el conjunto de datos, haz lo siguiente:

  1. En la página de BigQuery, en el panel Explorador, haz clic en Ver acciones (Ícono Ver acciones) junto al ID de tu proyecto y selecciona Crear conjunto de datos.
  2. En ID de conjunto de datos, escribe bqml_tutorial y en Ubicación de los datos, selecciona Estados Unidos (US).
    Actualmente, los conjuntos de datos públicos se almacenan en la ubicación multirregional de EE.UU. Para que sea más simple, coloque su conjunto de datos en la misma ubicación.
  3. Deja el resto de la configuración con sus valores predeterminados y haz clic en Crear conjunto de datos.

Tarea 2: Crea la tabla de entrada de entrenamiento

En esta tarea, materializará la tabla de entrada de entrenamiento con 100,000 filas.

  1. Visualice el esquema de la tabla de origen tlc_yellow_trips_2018 (abra este vínculo en una pestaña nueva).

  2. Haga clic en Redactar consulta nueva y pegue la siguiente consulta en el área de texto del Editor de consultas para crear la tabla de datos de entrada de entrenamiento:

CREATE TABLE `bqml_tutorial.taxi_tip_input` AS SELECT * EXCEPT(tip_amount), tip_amount AS label FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2018` WHERE tip_amount IS NOT NULL LIMIT 100000
  1. Haz clic en Ejecutar.

Tarea 3: Crea tu modelo

  • A continuación, cree un modelo de regresión lineal con ajuste de hiperparámetros usando la tabla de muestra tlc_yellow_trips_2018 en BigQuery.

La siguiente consulta de SQL estándar se usa para crear el modelo con ajuste de hiperparámetros:

CREATE MODEL `bqml_tutorial.hp_taxi_tip_model` OPTIONS (model_type='linear_reg', num_trials=20, max_parallel_trials=2) AS SELECT * FROM `bqml_tutorial.taxi_tip_input`

Detalles de la consulta

El modelo LINEAR_REG tiene dos hiperparámetros ajustables: l1_reg y l2_reg. La consulta anterior usa el espacio de búsqueda predeterminado. También puedes especificar el espacio de búsqueda de manera explícita:

OPTIONS (... l1_reg=hparam_range(0, 20), l2_reg=hparam_candidates([0, 0.1, 1, 10]))

Además, estas otras opciones de entrenamiento de ajuste de hiperparámetros también usan sus valores predeterminados:

  • hparam_tuning_algorithm: "VIZIER_DEFAULT"
  • hparam_tuning_objectives: ["r2_score"]

max_parallel_trials se establece en 2 para acelerar el proceso de ajuste. Con dos pruebas en ejecución en cualquier momento dado, el ajuste completo debería completarse con alrededor de 10 trabajos de entrenamiento en serie en lugar de 20. Sin embargo, tenga en cuenta que las dos pruebas simultáneas no pueden beneficiarse mutuamente de los resultados de entrenamiento que genera cada una.

Ejecute la consulta CREATE MODEL

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

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

  2. Ingresa la consulta en SQL estándar que se muestra arriba en el área de texto del Editor de consultas.

  3. Haz clic en Ejecutar. La consulta tarda unos 17 minutos en completarse.

  4. Haz un seguimiento del progreso del ajuste en los detalles de ejecución en Etapas: Página con la pestaña Detalles de la ejecución, que incluye la categoría Etapas

Tarea 4: Obtén información de las pruebas

  • Para ver una descripción general de todas las pruebas, incluidos sus hiperparámetros, objetivos, su estado y la prueba óptima, usa la función ML.TRIAL_INFO y ve el resultado en la consola de Cloud después de ejecutar esta consulta en SQL:
SELECT * FROM ML.TRIAL_INFO(MODEL `bqml_tutorial.hp_taxi_tip_model`)

Puedes ejecutar esta consulta en SQL apenas se complete una prueba. Si se detiene el ajuste a la mitad, todas las pruebas que ya se hayan completado seguirán estando disponibles.

Tarea 5: Evalúa tu modelo

Después de crear el modelo, puedes obtener las métricas de evaluación de todas las pruebas usando la función ML.EVALUATE o en la consola de Google Cloud.

  1. Ejecuta ML.EVALUATE:
SELECT * FROM ML.EVALUATE(MODEL `bqml_tutorial.hp_taxi_tip_model`)

Con esta consulta en SQL, se recuperan las métricas de evaluación de todas las pruebas a partir de los datos de TEST.

  1. Consulta la sección División de datos para conocer la diferencia entre los objetivos de ML.TRIAL_INFO y las métricas de evaluación de ML.EVALUATE.

También puede proporcionar datos propios para evaluar una prueba específica. Consulte ML.EVALUATE para obtener más información.

Revisa las métricas de evaluación en la consola de Google Cloud

También puedes seleccionar la pestaña Evaluación del modelo para revisar las métricas correspondientes. Página con la pestaña Evaluación que muestra 12 filas de datos en el resumen de Todas las pruebas

Tarea 6: Usa tu modelo para predecir propinas de viajes en taxi

Después de evaluar el modelo, el siguiente paso es usarlo para predecir la propina del taxi.

  • Para predecir la propina, usa la siguiente consulta:
SELECT * FROM ML.PREDICT(MODEL `bqml_tutorial.hp_taxi_tip_model`, ( SELECT * FROM `bqml_tutorial.taxi_tip_input` LIMIT 10))

Detalles de la consulta

Con la primera sentencia SELECT, se recuperan todas las columnas, incluida predicted_label. Esta columna se genera con la función ML.PREDICT. Cuando se usa la función ML.PREDICT, el nombre de la columna de resultado para el modelo es predicted_label_column_name.

De forma predeterminada, la predicción se realiza según la prueba óptima.

  • Puedes seleccionar otra prueba especificando el parámetro trial_id.
SELECT * FROM ML.PREDICT(MODEL `bqml_tutorial.hp_taxi_tip_model`, ( SELECT * FROM `bqml_tutorial.taxi_tip_input` LIMIT 10), STRUCT(3 AS trial_id))

Para obtener más información sobre el uso de funciones de entrega de modelos, consulta ML.PREDICT.

Tarea 7: 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, abra la página de BigQuery en la consola de Cloud.
  2. En el panel Explorador, haz clic en Ver acciones (Ícono Ver acciones) junto a tu conjunto de datos y, luego, haz clic en Borrar.
  3. En el diálogo Borrar conjunto de datos, escribe delete y, luego, haz clic en Borrar.

¡Felicitaciones!

Aprendió a usar BigQuery ML para realizar las siguientes tareas:

  • Crear un modelo de regresión lineal mediante la sentencia CREATE MODEL con el parámetro num_trials establecido en 20
  • Revisar el resumen de las 20 pruebas con la función ML.TRIAL_INFO
  • Evaluar el modelo de AA con ML.EVALUATE
  • Hacer predicciones con el modelo de AA y la función ML.PREDICT

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