Esta es una introducción a los recorridos de datos tabulares con AutoML. Para comprender las diferencias clave entre AutoML y el entrenamiento personalizado, consulta Elige un método de entrenamiento.
Casos de uso de datos tabulares
Imagina que trabajas en el departamento de marketing de un minorista digital. Tú y tu equipo están creando un programa de correos electrónicos personalizados basados en los perfiles de los clientes. Ya crearon los perfiles y tienen los correos electrónicos de marketing listos. Ahora, deben crear un sistema que agrupe a los clientes en cada perfil según las preferencias de compra y el comportamiento de consumo, incluso si son nuevos clientes. Para maximizar la participación de los clientes, también es recomendable predecir sus hábitos de consumo a fin de que pueda optimizar el momento de enviarles los correos electrónicos.
Como eres un minorista digital, tienes datos sobre tus clientes y las compras que hicieron. Pero ¿qué sucede con los clientes nuevos? Los enfoques tradicionales pueden calcular estos valores con los clientes existentes con extensos historiales de compra, pero no funcionan muy bien con los clientes con pocos datos históricos. ¿Qué tal si pudieras crear un sistema para predecir estos valores y aumentar la velocidad con la que ofreces programas de marketing personalizados a los clientes?
Por suerte, el aprendizaje automático y Vertex AI están bien preparados para resolver estos problemas.
En esta guía, se explica cómo funciona Vertex AI para los modelos y los conjuntos de datos de AutoML, y se ilustran los tipos de problemas que Vertex AI está diseñado para resolver.
¿Cómo funciona Vertex AI?
Vertex AI aplica el aprendizaje automático supervisado para lograr un resultado deseado.
Los detalles del algoritmo y los métodos de entrenamiento cambian según el tipo de datos y el caso práctico. Existen muchas subcategorías diferentes de aprendizaje automático; todas ellas resuelven distintos problemas y funcionan con diferentes restricciones.
Entrenas un modelo de aprendizaje automático con datos de ejemplo. Vertex AI usa datos tabulares (estructurados) para entrenar un modelo de aprendizaje automático a fin de realizar predicciones sobre datos nuevos. Tu modelo aprenderá a predecir una columna de tu conjunto de datos llamada el objetivo. Algunas de las otras columnas de datos son entradas (llamadas atributos) de las que el modelo aprenderá patrones. Puedes usar los mismos atributos de entrada para crear varios tipos de modelos con solo cambiar la columna de destino y las opciones de entrenamiento. A partir del ejemplo del marketing por correo electrónico, esto significa que podrías compilar modelos con los mismos atributos de entrada, pero con diferentes predicciones de destino. Un modelo puede predecir el perfil de un cliente (un objetivo categórico), otro puede predecir su gasto mensual (un objetivo numérico) y otro puede predecir la demanda diaria de tus productos para los próximos tres meses (serie de objetivos numéricos).
Flujo de trabajo de Vertex AI
Vertex AI usa un flujo de trabajo de aprendizaje automático estándar:
- Reúne tus datos: Determina los datos que necesitas para entrenar y probar tu modelo en función del resultado que quieres lograr.
- Prepara tus datos: Asegúrate de que los datos tengan el formato y las etiquetas adecuados.
- Entrena: Configura los parámetros y crea tu modelo.
- Evalúa: Revisa las métricas del modelo.
- Implementa y predice: Haz que tu modelo esté disponible para su uso.
Sin embargo, antes de comenzar a recopilar datos, debes pensar en el problema que está tratando de resolver. Esto informará los requisitos de datos.
Data preparation
Evalúa tu caso de uso
Comienza con tu problema: ¿cuál es el resultado que quieres obtener?
¿Qué tipo de datos lleva la columna objetivo? ¿A qué cantidad de datos tienes acceso? Según tus respuestas, Vertex AI crea el modelo necesario para resolver tu caso de uso:
- Los modelos de clasificación binaria predicen un resultado binario (una de dos clases). Usa este tipo de modelo para preguntas de sí o no. Por ejemplo, es posible que desees crear un modelo de clasificación binaria para predecir si un cliente compraría una suscripción. Por lo general, un problema de clasificación binaria requiere menos datos que otros tipos de modelos.
- Los modelos de clasificación de varias clases predicen una clase de tres o más clases discretas. Usa este tipo de modelo para la categorización. Por ejemplo, como minorista, te recomendamos crear un modelo de clasificación de clases múltiples para segmentar a los clientes en diferentes perfiles.
- Los modelos de regresión predicen un valor continuo. Por ejemplo, como minorista, es posible que desees crear un modelo de regresión para predecir cuánto gastará un cliente el mes siguiente.
- Los modelos de previsión predicen una secuencia de valores. Por ejemplo, como minorista, te recomendamos prever la demanda diaria de tus productos durante los próximos 3 meses para que puedas almacenar los inventarios de productos de forma adecuada con anticipación.
La previsión de datos tabulares difiere de la clasificación y la regresión de dos maneras clave:
En la clasificación y la regresión, el valor previsto del objetivo solo depende de los valores de las columnas de atributos en la misma fila. En la previsión, los valores previstos también dependen de los valores contextuales del destino y los atributos.
En los problemas de regresión y clasificación, el resultado es un valor. En los problemas de previsión, el resultado es una secuencia de valores.
Recopila tus datos
Después de establecer tu caso de uso, debes recopilar los datos que te permitirán crear el modelo que deseas.
Después de establecer tu caso de uso, deberás recopilar datos para entrenar el modelo. La obtención y la preparación de datos son pasos fundamentales para crear un modelo de aprendizaje automático. Los datos que tengas disponibles dictaminarán el tipo de problemas que puedes resolver. ¿Cuántos datos tienes disponibles? ¿Tus datos son relevantes para las preguntas que intentas responder? Mientras recopilas tus datos, ten en cuenta las consideraciones claves que se mencionan a continuación.
Selecciona las características relevantes
Una característica es un atributo de entrada que se usa para el entrenamiento del modelo. Las características son la forma en que tu modelo identifica patrones a fin de hacer predicciones, por lo que deben ser relevantes para problema. Por ejemplo, para crear un modelo que prediga si la transacción de una tarjeta de crédito es fraudulenta o no, deberás compilar un conjunto de datos que contenga detalles de la transacción, como el comprador, el vendedor, el importe, la fecha, la hora y los artículos comprados. Otros atributos útiles pueden ser la información histórica sobre el comprador, el vendedor y la frecuencia con la que el artículo en cuestión ha sido objeto de fraude. ¿Qué otras características podrían ser relevantes?
Considera el caso de uso de la introducción sobre el marketing por correo electrónico para la venta minorista. Estas son algunas columnas de atributos que podrías necesitar:
- Lista de artículos comprados (que incluye marcas, categorías, precios, descuentos)
- Cantidad de artículos comprados (último día, semana, mes, año)
- Importe de dinero gastado (último día, semana, mes, año)
- Para cada artículo, la cantidad total que se vende por día
- Para cada artículo, la cantidad total en stock cada día
- Si está ejecutando una promoción de un día específico
- Perfil demográfico conocido del comprador
Incluye suficientes datos
En general, mientras más ejemplos de entrenamiento tengas, mejor será el resultado. La cantidad de datos de ejemplo necesarios también se ajusta a la complejidad del problema que intentas resolver. En comparación con un modelo de varias clases, para obtener un modelo de clasificación binaria preciso, no necesitarás tantos datos, porque es menos complicado predecir una clase entre dos que entre muchas.
No existe la fórmula perfecta, pero sí se recomiendan cantidades mínimas de datos de ejemplo:
- Problema de clasificación: 50 filas x la cantidad de atributos
- Problema de previsión:
- 5,000 filas x la cantidad de atributos
- 10 valores únicos en la columna del identificador de la serie temporal x la cantidad de atributos
- Problema de regresión: 200 veces la cantidad de atributos
Abarca la variedad
Tu conjunto de datos debería abarcar la diversidad de la dimensión del problema. Cuanto más diversos sean los ejemplos que ve un modelo durante el entrenamiento, con mayor facilidad podrá generalizar ejemplos nuevos o no tan comunes. Imagina si tu modelo de venta minorista se entrenara solo con datos de compras durante el invierno. ¿Podría predecir con éxito las preferencias sobre vestimenta o comportamientos de compra durante el verano?
Prepara los datos
Una vez que hayas identificado los datos disponibles, debes asegurarte de que estén listos para el entrenamiento. Si tus datos tienen sesgos o valores erróneos o faltantes, esto afecta la calidad del modelo. Antes de comenzar a entrenar tu modelo, ten en cuenta lo siguiente. Obtenga más información.
Evita la filtración de datos y desviaciones entre el entrenamiento y la entrega
La filtración de datos ocurre cuando usas atributos de entrada durante el entrenamiento que “filtran” información acerca del objetivo que intentas predecir y que no está disponible cuando el modelo se entrega. Esto se puede detectar cuando un atributo que tiene una alta correlación con la columna objetivo se incluye como uno de los atributos de entrada. Por ejemplo, si estás creando un modelo con el fin de predecir si un cliente se registrará para obtener una suscripción el próximo mes, y uno de los atributos de entrada es un pago por una futura suscripción de ese cliente. Esto puede generar un gran rendimiento del modelo durante la prueba, pero no cuando se implementa en producción, ya que la información de pago de la futura suscripción no estará disponible al momento de la entrega.
Las desviaciones entre el entrenamiento y la entrega ocurren cuando los atributos de entrada usados durante el entrenamiento son diferentes de los que se proporcionan al modelo al momento de la entrega, lo que reduce la calidad de modelo en la producción. Por ejemplo, si creas un modelo para predecir las temperaturas por hora, pero entrenas con datos que solo contienen temperaturas semanales. Otro ejemplo: supongamos que quieres predecir la deserción escolar y siempre proporcionas las calificaciones de un alumno en los datos de entrenamiento, pero no lo haces al momento de la entrega.
Es importante que comprendas los datos de entrenamiento para evitar la filtración de datos y desviaciones entre el entrenamiento y la entrega:
- Antes de usar cualquier tipo de dato, asegúrate de saber qué significa y si debes usarlo como un atributo.
- Verifica la correlación en la pestaña de entrenamiento. Las altas correlaciones se deben marcar para revisarlas luego.
- Desviaciones entre el entrenamiento y la entrega: Asegúrate de proporcionar al modelo solo los atributos de entrada que, al momento de la entrega, no hayan cambiado de ninguna forma.
Borra los datos incompletos, incoherentes y faltantes
Es común que tengas valores faltantes o imprecisos en los datos de ejemplo. Tómate el tiempo para revisar y, cuando sea posible, mejorar la calidad de los datos antes de usarlos en el entrenamiento. Cuantos más valores faltantes haya, menos útil serán tus datos a la hora de entrenar un modelo de aprendizaje automático.
- Busca valores faltantes entre tus datos. Corrígelos cuando sea posible o deja el valor en blanco si la columna es anulable. Vertex AI puede trabajar con valores faltantes, pero es más probable que obtengas resultados óptimos si todos los valores están disponibles.
- Para la previsión, verifica que el intervalo entre filas de entrenamiento sea coherente. Vertex AI puede trabajar con valores faltantes, pero es más probable que obtengas resultados óptimos si todas las filas están disponibles.
- Realiza una limpieza de tus datos: corrige o borra los errores de datos o información irrelevante. Haz que tus datos sean coherentes: revisa la ortografía, las abreviaturas y el formato.
Analiza tus datos después de importarlos
Vertex AI proporciona una descripción general de tu conjunto de datos después de que se importa. Revisa el conjunto de datos importado para asegurarte de que cada columna tenga el tipo de variable correcto. Vertex AI detectará automáticamente el tipo de variable según los valores de las columnas, pero es mejor revisar cada una. También debes revisar la nulabilidad de cada columna, que determina si una columna puede contener valores faltantes o NULL.
Entrenar modelo
Después de importar tu conjunto de datos, el siguiente paso es entrenar un modelo. Vertex AI generará un modelo de aprendizaje automático confiable con los valores predeterminados de entrenamiento, pero te recomendamos cambiar algunos de los parámetros según tu caso de uso.
Para el entrenamiento, intenta seleccionar tantas columnas de atributos como sea posible, pero revisa cada una con el fin de asegurarte de que sean adecuadas para el entrenamiento. Ten en cuenta las siguientes consideraciones para la selección de atributos:
- No selecciones columnas de atributos que generen información irrelevante, como columnas de identificadores asignados de forma aleatoria con un valor único para cada fila.
- Asegúrate de comprender cada columna de atributos y sus valores.
- Si creas varios modelos a partir de un conjunto de datos, quita las columnas objetivo que no formen parte del problema de predicción actual.
- Recuerda los principios de equidad: ¿Entrenaste tu modelo con un atributo que podría llevar a una toma de decisiones sesgada o injusta hacia los grupos marginados?
Cómo Vertex AI usa tu conjunto de datos
Tu conjunto de datos se dividirá en grupos de entrenamiento, validación y prueba. La división predeterminada que Vertex AI aplica depende del tipo de modelo que entrenes. También puedes especificar las divisiones (divisiones manuales) si es necesario. Para obtener más información, consulta Acerca de las divisiones de datos para los modelos de AutoML.
Conjunto de entrenamiento
La gran mayoría de tus datos deben estar en el conjunto de entrenamiento. Estos son los datos que tu modelo “ve” durante el entrenamiento; se usan para aprender los parámetros del modelo, es decir, el peso de las conexiones entre los nodos de la red neuronal.
Conjunto de validación
El conjunto de validación, a veces llamado conjunto “dev”, también se usa durante el proceso de entrenamiento. Después de que el marco de trabajo del modelo de aprendizaje incorpora datos de entrenamiento durante cada iteración del proceso de entrenamiento, usa el rendimiento del modelo en el conjunto de validación para ajustar sus hiperparámetros, que son variables que especifican la estructura del modelo. Si intentaste usar el conjunto de entrenamiento para ajustar los hiperparámetros, es muy probable que el modelo se centre demasiado en tus datos de entrenamiento y le cueste generalizar ejemplos que no coincidan con exactitud. Si usas un conjunto de datos un tanto nuevo para configurar la estructura del modelo, este realizará mejores generalizaciones.
Conjunto de prueba
El conjunto de prueba no interviene para nada en el proceso de entrenamiento. Luego de que el modelo completó su entrenamiento por completo, Vertex AI usa el conjunto de prueba como un nuevo desafío para tu modelo. El rendimiento de tu modelo en el conjunto de prueba sirve para darte una idea bastante clara de cómo será su rendimiento en datos del mundo real.
Evalúa, implementa y prueba tu modelo
Evalúe el modelo
Después del entrenamiento del modelo, recibirás un resumen sobre el rendimiento. Las métricas de evaluación del modelo se basan en cómo se desempeñó ante una porción de tu conjunto de datos (el conjunto de datos de prueba). Hay algunas métricas y conceptos clave que debes tener en cuenta a fin de determinar si tu modelo está listo para usarse con datos reales.
Métricas de clasificación
Umbral de puntuación
Considera un modelo de aprendizaje automático que prediga si el próximo año un cliente comprará una chaqueta o no. ¿Qué tan seguro debe estar el modelo antes de predecir que un cliente determinado comprará una chaqueta? En los modelos de clasificación, a cada predicción se le asigna una puntuación de confianza, una evaluación numérica acerca de la certeza del modelo de que la clase predicha sea correcta. El umbral de puntuación es el número que determina cuándo una puntuación determinada se convierte en una decisión de sí o no; es decir, el valor en el que el modelo dice “sí, esta puntuación de confianza es lo suficientemente alta como para concluir que este cliente comprará un abrigo el próximo año.
Si tu umbral de puntuación es bajo, tu modelo correrá el riesgo de realizar una clasificación errónea. Por ese motivo, el umbral de puntuación debe basarse en un caso práctico determinado.
Resultados de la predicción
Después de aplicar el umbral de puntuación, las predicciones que realice tu modelo se clasificarán en una de cuatro categorías. Para comprender estas categorías, imagina otra vez un modelo de clasificación binaria de chaquetas. En este ejemplo, la clase positiva (lo que el modelo intenta predecir) es si cliente sí comprará una chaqueta el próximo año.
- Verdadero positivo: El modelo predice la clase positiva de forma correcta. El modelo predijo de forma correcta que un cliente compraría una chaqueta.
- Falso positivo: El modelo predice la clase positiva de forma incorrecta. El modelo predijo que un cliente compró una chaqueta, pero este no lo hizo.
- Verdadero negativo: El modelo predice la clase negativa de forma correcta. El modelo predijo de forma correcta que un cliente no compraría una chaqueta.
- Falso negativo: El modelo predice una clase negativa de forma incorrecta. El modelo predijo que un cliente no compraría una chaqueta, pero sí lo hizo.
Precisión y recuperación
Las métricas de precisión y recuperación te ayudan a comprender qué tan bien tu modelo capta información y qué omite. Obtén más información sobre precisión y recuperación.
- La precisión es la fracción correcta de las predicciones positivas. De todas las predicciones de compra de un cliente, ¿qué fracción corresponde a compras reales?
- La recuperación es la fracción de filas con esta etiqueta que el modelo predijo de forma correcta. De todas las compras de los consumidores que se pudieron haber identificado, ¿qué fracción efectivamente se identificó?
Según el caso práctico, es posible que debas optimizar la precisión o la recuperación.
Otras métricas de clasificación
- AUC PR: El área bajo la curva de precisión y recuperación (PR). Esta medida puede variar de cero a uno, y cuanto más alto sea su valor, mejor será la calidad del modelo.
- AUC ROC: El área bajo la curva de característica operativa del receptor (ROC). Esta puede variar de cero a uno y cuanto más alto sea su valor, mejor será la calidad del modelo.
- Exactitud: La fracción de predicciones de clasificación correctas que produjo el modelo.
- Pérdida logística: La entropía cruzada entre las predicciones del modelo y los valores objetivo. Esta medida puede variar de cero a infinito y, cuanto más bajo sea su valor, mejor será la calidad del modelo.
- Puntuación F1: La media armónica de precisión y recuperación. F1 es una métrica útil si lo que buscas es un equilibrio entre la precisión y la recuperación, y tienes una distribución de clases despareja.
Métricas de regresión y previsión
Una vez que se compila el modelo, Vertex AI proporciona una variedad de métricas estándar para que revises. No hay una respuesta perfecta sobre cómo evaluar tu modelo. Considera las métricas de evaluación en el contexto del tipo de problema y lo que quieras lograr con el modelo. En la siguiente lista, se muestra una descripción general de algunas métricas que puede proporcionar Vertex AI.
Error absoluto medio (MAE)
MAE es la diferencia absoluta promedio entre los valores objetivo y valores predichos. Determina la magnitud promedio de los errores (la diferencia entre un valor objetivo y uno predicho) en un conjunto de predicciones. Además, como usa valores absolutos, MAE no tiene en cuenta la dirección de la relación, ni tampoco indica cuándo el rendimiento está por debajo o por encima del esperado. Cuando se evalúa MAE, cuanto más bajo el valor, mayor será la calidad del modelo (0 representa un predictor perfecto).
Raíz cuadrada del error cuadrático medio (RMSE)
RMSE es la raíz cuadrada de la diferencia cuadrática promedio entre los valores objetivo y valores predichos. La RMSE es más sensible a los valores atípicos que MAE, por lo que, si te preocupan los grandes errores, RMSE puede ser una métrica más útil para evaluar. Al igual que MAE, cuanto más bajo el valor, mayor será la calidad del modelo (0 representa un predictor perfecto).
Raíz cuadrada del error logarítmico cuadrático medio (RMSLE)
RMSLE es RMSE en escala logarítmica. RMSLE es más sensible a los errores relativos que a los absolutos y tiene más en cuenta a los rendimientos por debajo que por encima de lo esperado.
Cuantil observado (solo previsión)
Para un cuantil objetivo determinado, el cuantil observado muestra la fracción real de valores observados por debajo de los valores de predicción del cuantil especificado. El cuantil observado indica cuán cerca el modelo se aproxima al cuantil objetivo. Una diferencia menor entre ambos valores indica un modelo de mayor calidad.
Pérdida escalada de bola de pinball (solo previsión)
Mide la calidad de un modelo en un cuantil objetivo determinado. Un número más bajo indica un modelo de mayor calidad. Puedes comparar la métrica de pérdida escalada de bola de pinball en diferentes cuantiles para determinar la exactitud relativa de tu modelo entre esos diferentes cuantiles.
Prueba tu modelo
La evaluación de las métricas de tu modelo es, en esencia, la forma de determinar si el modelo está listo para implementarse, pero también puedes probarlo con datos nuevos. Sube datos nuevos para ver si las predicciones del modelo coinciden con tus expectativas. Según las métricas de evaluación o las pruebas con datos nuevos, es posible que debas seguir mejorando el rendimiento de tu modelo.
Implementa tu modelo
Cuando estés satisfecho con el rendimiento de tu modelo, será momento de usarlo. Quizás eso signifique usarlo en escala de producción o tal vez sea una solicitud de predicción de un solo uso. Según tu caso práctico, puedes usar tu modelo de diferentes maneras.
Predicción por lotes
La predicción por lotes es útil para realizar muchas solicitudes de predicción a la vez. La predicción por lotes es asíncrona, lo que significa que el modelo esperará hasta procesar todas las solicitudes de predicción antes de mostrar un archivo CSV o una tabla de BigQuery con valores de predicción.
Predicción en línea
Implementa tu modelo a fin de que esté disponible para las solicitudes de predicción mediante una API de REST. La predicción en línea es síncrona (en tiempo real), lo que significa que mostrará una predicción con rapidez, pero solo acepta una solicitud de predicción por cada llamada a la API. La predicción en línea es útil si tu modelo es parte de una aplicación y si algunas partes de tu sistema dependen de una rápida respuesta de predicción.
Limpia
Para evitar cargos no deseados, anula la implementación de tu modelo cuando no esté en uso.
Cuando termines de usar tu modelo, borra los recursos que creaste para evitar que se generen cargos no deseados en tu cuenta.
- Datos de imagen de Hello: Limpia tu proyecto
- Datos de video de Hello: limpia tu proyecto
- Datos de texto: Limpia tu proyecto
- Datos de video de Hello: limpia tu proyecto