Compila un modelo de previsión de AutoML con Vertex AI

Compila un modelo de previsión de AutoML con Vertex AI

Acerca de este codelab

subjectÚltima actualización: jun 25, 2021
account_circleEscrito por Karl Weinmeister

1. Descripción general

En este lab, aprenderás a hacer lo siguiente:

  • Crea un conjunto de datos administrado
  • Importa datos desde un bucket de Google Cloud Storage
  • Actualiza los metadatos de la columna para que se usen de forma adecuada con AutoML
  • Entrena un modelo con opciones como un presupuesto y un objetivo de optimización
  • Haz predicciones por lotes en línea

2. Revisa los datos

En este lab, se usan datos del conjunto de datos de ventas de licor de Iowa de los conjuntos de datos públicos de BigQuery. Este conjunto de datos contiene las compras mayoristas de bebidas alcohólicas en el estado de Iowa, EE.UU., desde 2012.

Para ver los datos sin procesar originales, selecciona Ver conjunto de datos. Para acceder a la tabla, navega en la barra de navegación de la izquierda hasta el proyecto bigquery-public-datasets, luego el conjunto de datos iowa_liquor_sales y, por último, la tabla sales. Puedes seleccionar Vista previa para ver una selección de filas del conjunto de datos.

f07c88368e7445c6.png

Para los fines de este lab, ya realizamos un preprocesamiento básico de los datos para agrupar las compras por día. Usaremos una extracción CSV de la tabla de BigQuery. Las columnas del archivo CSV son las siguientes:

  • ds: La fecha
  • y: Suma de todas las compras de ese día en dólares
  • holiday: Es un valor booleano que indica si la fecha es un día feriado en EE.UU.
  • id: Es un identificador de serie temporal (para admitir varias series temporales, p.ej., por tienda o por producto). En este caso, simplemente predeciremos las compras generales en una serie temporal, por lo que el ID se establece en 0 para cada fila.

3. Importar datos

Paso 1: Navega a Conjuntos de datos de Vertex AI

Accede a Conjuntos de datos en el menú Vertex AI de la barra de navegación izquierda de la consola de Cloud.

d8f26bfce50bfdb5.png

Paso 2: Crea un conjunto de datos

Crea un nuevo conjunto de datos, selecciona Datos tabulares y, luego, el tipo de problema Previsión. Elige el nombre iowa_daily o el que prefieras.

4efeaebfd7845b9c.png

Paso 3: Importa datos

El siguiente paso es importar datos al conjunto de datos. Elige la opción para seleccionar un archivo CSV de Cloud Storage. Luego, navega al archivo CSV en el bucket de la versión alfa de AutoML Demo y pega automl-demo-240614-lcm/iowa_liquor/iowa_daily.csv.

4. Entrenar modelo

Paso 1: Configura los atributos del modelo

Después de unos minutos, AutoML te notificará que se completó la importación. En ese punto, puedes configurar las funciones del modelo.

  • Selecciona la columna de identificador de serie temporal como id. Solo tenemos una serie temporal en nuestro conjunto de datos, por lo que esto es una formalidad.
  • Selecciona la columna de tiempo que será ds.

Luego, selecciona Generar estadísticas. Una vez que se complete el proceso, verás las estadísticas de Porcentaje de faltantes y Valores distintos. Este proceso puede tardar unos minutos, así que puedes continuar con el siguiente paso si lo deseas.

Paso 2: Entrena el modelo

Selecciona Entrenar el modelo para comenzar el proceso de entrenamiento. Asegúrate de que AutoML esté seleccionado y haz clic en Continuar.

5028ec6f242dfa6a.png

Paso 3: Define el modelo

  • Selecciona la columna objetivo como Y. Ese es el valor que predecimos.
  • Si no se configuraron antes, establece la columna Identificador de la serie en id y la columna Marca de tiempo en ds.
  • Establece el Nivel de detalle de los datos en Días y el Horizonte de previsión en 7. En este campo, se especifica la cantidad de períodos futuros para los que el modelo puede generar predicciones.
  • Establece la ventana de contexto en 7 días. El modelo usará datos de los últimos 30 días para realizar una predicción. Existen ventajas y desventajas entre las ventanas más cortas y las más largas, y, en general, se recomienda seleccionar un valor entre 1 y 10 veces el horizonte de previsión.
  • Marca la casilla para exportar el conjunto de datos de prueba a BigQuery. Puedes dejarlo en blanco y se crearán automáticamente un conjunto de datos y una tabla en tu proyecto (o especificar la ubicación que elijas).
  • Selecciona Continuar.

8d2f34779ba49bb1.png

Paso 4: Configura las opciones de entrenamiento

En este paso, puedes especificar más detalles sobre cómo deseas entrenar el modelo.

  • Establece la columna holiday como Available en la predicción, ya que sabemos si una fecha determinada es un día festivo con anticipación.
  • Cambia el objetivo de optimización a MAE. El MAE, o error promedio absoluto, es más resistente a los valores atípicos en relación con el error cuadrático medio. Dado que trabajamos con datos de compras diarias que pueden tener fluctuaciones significativas, el MAE es una métrica adecuada para usar.
  • Selecciona Continuar.

9557c92be32a1987.png

Paso 5: Inicia el entrenamiento

Establece el presupuesto que desees. En este caso, 1 hora de nodo es suficiente para entrenar el modelo. Luego, comienza el proceso de entrenamiento.

Paso 6: Evalúa el modelo

El proceso de entrenamiento puede tardar entre 1 y 2 horas en completarse (incluido el tiempo de configuración adicional). Recibirás un correo electrónico cuando se complete el entrenamiento. Cuando esté listo, podrás ver la precisión del modelo que creaste.

5. Predecir

Paso 1: Revisa las predicciones sobre los datos de prueba

Navega a la consola de BigQuery para ver las predicciones sobre los datos de prueba. Dentro de tu proyecto, se crea automáticamente un nuevo conjunto de datos con el esquema de nombres: export_evaluated_data_items + <nombre del modelo> + <marca de tiempo>. Dentro de ese conjunto de datos, encontrarás la tabla evaluated_data_items para revisar las predicciones.

Esta tabla tiene algunas columnas nuevas:

  • predicted_on_[columna de fecha]: Es la fecha en la que se realizó la predicción. Por ejemplo, si predicted_on_ds es el 4/11 y ds es el 8/11, estamos realizando una predicción con 4 días de anticipación.
  • predicted_[target column].tables.value: Es el valor predicho.

9800c7c67d93db03.png

Paso 2: Realiza predicciones por lotes

Por último, querrás usar tu modelo para hacer predicciones.

El archivo de entrada contiene valores vacíos para las fechas que se predecirán, junto con datos históricos:

ds

feriado

id

y

15/5/20

0

0

1751315.43

16/5/20

0

0

0

17/5/20

0

0

0

18/5/20

0

0

1612066.43

19/5/20

0

0

1773885.17

20/5/20

0

0

1487270.92

21/5/20

0

0

1024051.76

22/5/20

0

0

1471736.31

23/5/20

0

0

<empty>

24/5/20

0

0

<empty>

25/5/20

1

0

<empty>

26/5/20

0

0

<empty>

27/5/20

0

0

<empty>

28/5/20

0

0

<empty>

29/5/20

0

0

<empty>

En el elemento Predicciones por lotes de la barra de navegación izquierda de AI Platform (unificado), puedes crear una predicción por lotes nueva.

Aquí se crea un archivo de entrada de ejemplo en un bucket de almacenamiento: automl-demo-240614-lcm/iowa_liquor/iowa_daily_automl_predict.csv

Puedes proporcionar la ubicación de este archivo fuente. Luego, puedes elegir exportar tus predicciones a una ubicación de almacenamiento en la nube como un archivo CSV o a BigQuery. Para los fines de este lab, selecciona BigQuery y elige el ID de tu proyecto de Google Cloud.

22e808dd5cbd4224.png

El proceso de predicción por lotes tardará varios minutos. Una vez que se complete, puedes hacer clic en el trabajo de predicción por lotes para ver los detalles, incluida la Ubicación de exportación. En BigQuery, deberás navegar al proyecto, el conjunto de datos o la tabla en la barra de navegación izquierda para acceder a las predicciones.

El trabajo creará dos tablas diferentes en BigQuery. Uno contendrá las filas con errores y el otro, las predicciones. Este es un ejemplo del resultado de la tabla Predictions:

9ead59dcc9ad1521.png

Paso 3: Conclusión

¡Felicitaciones! Creaste y entrenaste correctamente un modelo de previsión con AutoML. En este lab, vimos cómo importar datos, compilar modelos y realizar predicciones.

Ya puedes crear tu propio modelo de previsión.