Vuelva a entrenar los modelos de aprendizaje automático y automatice las predicciones por lotes en Amazon SageMaker Canvas utilizando conjuntos de datos actualizados.

'Retrain ML models and automate batch predictions in Amazon SageMaker Canvas using updated datasets.'

Ahora puede volver a entrenar modelos de aprendizaje automático (ML) y automatizar flujos de trabajo de predicción por lotes con conjuntos de datos actualizados en Amazon SageMaker Canvas, lo que facilita el aprendizaje constante y la mejora del rendimiento del modelo y la eficiencia de conducción. La efectividad de un modelo de ML depende de la calidad y relevancia de los datos en los que se entrena. A medida que avanza el tiempo, los patrones subyacentes, las tendencias y las distribuciones en los datos pueden cambiar. Al actualizar el conjunto de datos, asegura que el modelo aprenda de los datos más recientes y representativos, mejorando así su capacidad para hacer predicciones precisas. Canvas ahora admite la actualización automática y manual de conjuntos de datos, lo que le permite utilizar la última versión del conjunto de datos tabular, de imagen y de documentos para entrenar modelos de ML.

Después de entrenar el modelo, es posible que desee ejecutar predicciones sobre él. La ejecución de predicciones por lotes en un modelo de ML permite procesar múltiples puntos de datos simultáneamente en lugar de hacer predicciones una por una. La automatización de este proceso proporciona eficiencia, escalabilidad y toma de decisiones oportuna. Después de generar las predicciones, se pueden analizar, agregar o visualizar para obtener información, identificar patrones o tomar decisiones informadas basadas en los resultados predichos. Canvas ahora admite la configuración de una configuración de predicción por lotes automatizada y la asociación de un conjunto de datos con ella. Cuando se actualiza el conjunto de datos asociado, ya sea de forma manual o según un horario, se activa automáticamente un flujo de trabajo de predicción por lotes en el modelo correspondiente. Los resultados de las predicciones se pueden ver en línea o descargar para su revisión posterior.

En esta publicación, mostramos cómo volver a entrenar modelos de ML y automatizar predicciones por lotes utilizando conjuntos de datos actualizados en Canvas.

Descripción general de la solución

Para nuestro caso de uso, desempeñamos el papel de analista de negocios para una empresa de comercio electrónico. Nuestro equipo de productos quiere que determinemos las métricas más críticas que influyen en la decisión de compra de un comprador. Para ello, entrenamos un modelo de ML en Canvas con un conjunto de datos de sesión en línea del sitio web del cliente de la empresa. Evaluamos el rendimiento del modelo y, si es necesario, volvemos a entrenar el modelo con datos adicionales para ver si mejora el rendimiento del modelo existente o no. Para hacerlo, utilizamos la capacidad de actualización automática de conjuntos de datos en Canvas y volvemos a entrenar nuestro modelo de ML existente con la última versión del conjunto de datos de entrenamiento. Luego configuramos flujos de trabajo de predicción por lotes automáticos: cuando se actualiza el conjunto de datos de predicción correspondiente, se activa automáticamente el trabajo de predicción por lotes en el modelo correspondiente y se ponen a disposición los resultados para su revisión.

Los pasos del flujo de trabajo son los siguientes:

  1. Cargar los datos de sesión en línea del sitio web del cliente descargado en Amazon Simple Storage Service (Amazon S3) y crear un nuevo conjunto de datos de entrenamiento en Canvas. Para la lista completa de fuentes de datos admitidas, consulte Importación de datos en Amazon SageMaker Canvas.
  2. Crear modelos de ML y analizar sus métricas de rendimiento. Consulte los pasos sobre cómo crear un modelo de ML personalizado en Canvas y evaluar el rendimiento de un modelo.
  3. Configurar la actualización automática en el conjunto de datos de entrenamiento existente y cargar nuevos datos en la ubicación de Amazon S3 que respalda este conjunto de datos. Cuando se complete, se debe crear una nueva versión del conjunto de datos.
  4. Utilice la última versión del conjunto de datos para volver a entrenar el modelo de ML y analizar su rendimiento.
  5. Configure predicciones por lotes automáticas en la versión de modelo de mejor rendimiento y vea los resultados de la predicción.

Puede realizar estos pasos en Canvas sin escribir una sola línea de código.

Descripción general de los datos

El conjunto de datos consta de vectores de características pertenecientes a 12,330 sesiones. El conjunto de datos se formó de manera que cada sesión perteneciera a un usuario diferente en un período de 1 año para evitar cualquier tendencia a una campaña específica, un día especial, un perfil de usuario o un período. La siguiente tabla describe el esquema de datos.

<td style="text-align

La columna objetivo es el ingreso, lo cual nos ayudará a predecir si un comprador comprará o no un producto.

El primer paso es descargar el conjunto de datos que utilizaremos. Tenga en cuenta que este conjunto de datos es cortesía del Repositorio de Aprendizaje Automático de la UCI.

Prerrequisitos

Para este tutorial, complete los siguientes pasos previos:

  1. Divida el archivo CSV descargado que contiene 20,000 filas en varios archivos de fragmentos más pequeños.

Esto es para que podamos mostrar la funcionalidad de actualización de conjunto de datos. Asegúrese de que todos los archivos CSV tengan las mismas cabeceras, de lo contrario, puede encontrar errores de incompatibilidad de esquema al crear un conjunto de datos de entrenamiento en Canvas.

  1. Cree un bucket de S3 y cargue online_shoppers_intentions1-3.csv en el bucket de S3.

  1. Separe 1.500 filas del archivo CSV descargado para ejecutar predicciones por lotes después de que se entrene el modelo de ML.
  2. Elimine la columna Income de estos archivos para que cuando ejecute la predicción por lotes en el modelo de ML, ese sea el valor que su modelo estará prediciendo.

Asegúrese de que todos los archivos predict*.csv tengan las mismas cabeceras, de lo contrario, puede encontrar errores de incompatibilidad de esquema al crear un conjunto de datos de predicción (inferencia) en Canvas.

  1. Realice los pasos necesarios para configurar un dominio de SageMaker y la aplicación de Canvas.

Crear un conjunto de datos

Para crear un conjunto de datos en Canvas, complete los siguientes pasos:

  1. En Canvas, elija Conjuntos de datos en el panel de navegación.
  2. Elija Crear y elija Tabular.
  3. Asigne un nombre a su conjunto de datos. Para este artículo, llamamos a nuestro conjunto de datos de entrenamiento OnlineShoppersIntentions.
  4. Elija Crear.
  5. Elija su fuente de datos (para este artículo, nuestra fuente de datos es Amazon S3).

Tenga en cuenta que, a partir de este escrito, la funcionalidad de actualización de conjunto de datos solo es compatible con Amazon S3 y las fuentes de datos cargadas localmente.

  1. Seleccione el bucket correspondiente y cargue los archivos CSV para el conjunto de datos.

Ahora puede crear un conjunto de datos con varios archivos.

  1. Previsualice todos los archivos del conjunto de datos y elija Crear conjunto de datos.

Ahora tenemos la versión 1 del conjunto de datos OnlineShoppersIntentions con tres archivos creados.

  1. Seleccione el conjunto de datos para ver los detalles.

La pestaña Datos muestra una vista previa del conjunto de datos.

  1. Seleccione Detalles del conjunto de datos para ver los archivos que contiene el conjunto de datos.

El panel Archivos del conjunto de datos enumera los archivos disponibles.

  1. Seleccione la pestaña Historial de versiones para ver todas las versiones de este conjunto de datos.

Podemos ver que nuestra primera versión del conjunto de datos tiene tres archivos. Cualquier versión posterior incluirá todos los archivos de las versiones anteriores y proporcionará una vista acumulativa de los datos.

Entrenar un modelo de ML con la versión 1 del conjunto de datos

Entrenemos un modelo de ML con la versión 1 de nuestro conjunto de datos.

  1. En Canvas, seleccione Mis modelos en el panel de navegación.
  2. Seleccione Nuevo modelo.
  3. Ingrese un nombre de modelo (por ejemplo, OnlineShoppersIntentionsModel), seleccione el tipo de problema y seleccione Crear.
  4. Seleccione el conjunto de datos. Para este artículo, seleccionamos el conjunto de datos OnlineShoppersIntentions.

Por defecto, Canvas recogerá la versión más actual del conjunto de datos para el entrenamiento.

  1. En la pestaña Crear, seleccione la columna objetivo a predecir. Para este artículo, elegimos la columna de ingresos.
  2. Seleccione Creación rápida.

El entrenamiento del modelo tomará de 2 a 5 minutos para completarse. En nuestro caso, el modelo entrenado nos da una puntuación del 89%.

Configurar actualizaciones automáticas del conjunto de datos

Actualicemos nuestro conjunto de datos usando la funcionalidad de actualización automática y veamos si el rendimiento del modelo mejora con la nueva versión del conjunto de datos. Los conjuntos de datos también se pueden actualizar manualmente.

  1. En la página de Conjuntos de datos, selecciona el conjunto de datos OnlineShoppersIntentions y elige Actualizar conjunto de datos.
  2. Puedes elegir Actualización manual, que es una opción de actualización única, o Actualización automática, que te permite actualizar automáticamente tu conjunto de datos según una programación. En esta publicación, mostramos la función de actualización automática.

Se te redirige a la pestaña Actualización automática para el conjunto de datos correspondiente. Podemos ver que Habilitar actualización automática está actualmente desactivado.

  1. Activa Habilitar actualización automática y especifica la fuente de datos (a partir de este escrito, las fuentes de datos de Amazon S3 son compatibles con las actualizaciones automáticas).
  2. Selecciona una frecuencia e ingresa una hora de inicio.
  3. Guarda la configuración.

Se ha creado una configuración de conjunto de datos de actualización automática. Puede editarse en cualquier momento. Cuando se activa una tarea de actualización de conjunto de datos correspondiente en la programación especificada, la tarea aparecerá en la sección Historial de trabajos.

  1. A continuación, carguemos los archivos online_shoppers_intentions4.csv, online_shoppers_intentions5.csv y online_shoppers_intentions6.csv en nuestro bucket de S3.

Podemos ver nuestros archivos en el bucket de S3 dataset-update-demo.

La tarea de actualización del conjunto de datos se activará según la programación especificada y creará una nueva versión del conjunto de datos.

Cuando la tarea esté completa, la versión 2 del conjunto de datos tendrá todos los archivos de la versión 1 y los archivos adicionales procesados por la tarea de actualización del conjunto de datos. En nuestro caso, la versión 1 tiene tres archivos y la tarea de actualización recogió tres archivos adicionales, por lo que la versión final del conjunto de datos tiene seis archivos.

Podemos ver la nueva versión que se creó en la pestaña Historial de versiones.

La pestaña Datos contiene una vista previa del conjunto de datos y proporciona una lista de todos los archivos en la última versión del conjunto de datos.

Volver a entrenar el modelo de ML con un conjunto de datos actualizado

Volviendo a entrenar nuestro modelo de ML con la última versión del conjunto de datos.

  1. En la página Mis modelos, elija su modelo.
  2. Elija Agregar versión .
  3. Seleccione la última versión del conjunto de datos (v2 en nuestro caso) y elija Seleccionar conjunto de datos .
  4. Mantenga la columna objetivo y la configuración de construcción similares a la versión anterior del modelo.

Cuando se complete el entrenamiento, evaluemos el rendimiento del modelo. La siguiente captura de pantalla muestra que agregar datos adicionales y volver a entrenar nuestro modelo de ML ha ayudado a mejorar el rendimiento del modelo.

Crear un conjunto de datos de predicción

Con un modelo de ML entrenado, creemos un conjunto de datos para predicciones y ejecutemos predicciones por lotes en él.

  1. En la página Conjuntos de datos, cree un conjunto de datos tabular.
  2. Ingrese un nombre y elija Crear .
  3. En nuestro cubo de S3, cargue un archivo con 500 filas para predecir.

A continuación, configuramos las actualizaciones automáticas en el conjunto de datos de predicción.

  1. Active Habilitar actualización automática y especifique la fuente de datos.
  2. Seleccione la frecuencia y especifique una hora de inicio.
  3. Guarde la configuración.

Automatizar el flujo de trabajo de predicción por lotes en un conjunto de datos de predicción actualizado automáticamente

En este paso, configuramos nuestros flujos de trabajo de predicción por lotes automáticos.

  1. En la página Mis modelos, navegue a la versión 2 de su modelo.
  2. En la pestaña Predicción, elija Predicción por lotes y Automático.
  3. Seleccione Seleccionar conjunto de datos para especificar el conjunto de datos en el que se generarán las predicciones.
  4. Seleccione el conjunto de datos predict que creamos anteriormente y elija Elegir conjunto de datos.
  5. Elija Configurar.

Ahora tenemos un flujo de trabajo automático de predicción por lotes. Esto se activará cuando el conjunto de datos Predict se actualice automáticamente.

Ahora carguemos más archivos CSV en la carpeta S3 predict.

Esta operación desencadenará una actualización automática del conjunto de datos predict.

Esto, a su vez, activará el flujo de trabajo automático de predicción por lotes y generará predicciones para que las podamos ver.

Podemos ver todas las automatizaciones en la página Automatizaciones.

Gracias a la actualización automática de conjuntos de datos y los flujos de trabajo automáticos de predicción por lotes, podemos utilizar la última versión del conjunto de datos tabulares, de imágenes y de documentos para entrenar modelos de ML y construir flujos de trabajo de predicción por lotes que se activan automáticamente en cada actualización del conjunto de datos.

Limpieza

Para evitar incurrir en cargos futuros, cierre sesión en Canvas. Canvas le factura por la duración de la sesión, y recomendamos cerrar sesión en Canvas cuando no lo esté usando. Consulte Cerrar sesión en Amazon SageMaker Canvas para obtener más detalles.

Conclusión

En este post, discutimos cómo podemos utilizar la nueva capacidad de actualización de conjuntos de datos para construir nuevas versiones de conjuntos de datos y entrenar nuestros modelos de ML con los últimos datos en Canvas. También mostramos cómo podemos automatizar eficientemente el proceso de ejecutar predicciones por lotes en datos actualizados.

Para comenzar su viaje de ML de bajo código / sin código, consulte la Guía del desarrollador de Amazon SageMaker Canvas.

Un agradecimiento especial a todos aquellos que contribuyeron al lanzamiento.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Una guía paso a paso para construir una estrategia efectiva de calidad de datos desde cero

Como ingenieros de datos, somos (o deberíamos ser) responsables de la calidad de los datos que proporcionamos. Esto n...

Inteligencia Artificial

Amazon Vs Google Vs Microsoft La carrera para revolucionar la atención médica con IA

La integración de la inteligencia artificial (IA) en la industria de la salud está cada vez más presente en una era d...

Noticias de Inteligencia Artificial

Microsoft dice que su extraña nueva partícula podría mejorar los ordenadores cuánticos.

Los investigadores de Microsoft dicen haber creado quasipartículas elusivas llamadas modos cero de Majorana, pero los...

Inteligencia Artificial

Modelos Generales del Mundo Investigación en IA de Pasarela Iniciando un Nuevo Esfuerzo de Investigación a Largo Plazo

Un modelo mundial es un sistema de IA que tiene como objetivo construir una comprensión interna de un entorno y utili...

Inteligencia Artificial

Construyendo un Motor de Recomendación de Productos con Apache Cassandra y Apache Pulsar

Cómo un contratista hipotético aceleró la IA con Apache Pulsar y Apache Cassandra. Este artículo detalla aspectos imp...

Inteligencia Artificial

Perro robot establece récord mundial de velocidad

El Instituto Avanzado de Ciencia y Tecnología de Corea ha recibido reconocimiento del Guinness World Records por su i...

Nombre de columna Tipo de datos Descripción
Administrativo Numérico Número de páginas visitadas por el usuario para actividades relacionadas con la gestión de cuentas de usuario.
Duración administrativa Numérico Cantidad de tiempo dedicado a esta categoría de páginas.
Informativo Numérico Número de páginas de este tipo (informativo) que visitó el usuario.
Duración informativa Numérico Cantidad de tiempo dedicado a esta categoría de páginas.
Relacionado con el producto Numérico Número de páginas de este tipo (relacionado con el producto) que visitó el usuario.
Duración relacionada con el producto Numérico Cantidad de tiempo dedicado a esta categoría de páginas.
Tasas de rebote Numérico Porcentaje de visitantes que ingresan al sitio web a través de esa página y salen sin activar ninguna tarea adicional.
Tasas de salida Numérico Tasa de salida promedio de las páginas visitadas por el usuario. Este es el porcentaje de personas que abandonaron su sitio desde esa página.
Valores de página Numérico Valor promedio de página de las páginas visitadas por el usuario. Este es el valor promedio de una página que un usuario visitó antes de llegar a la página de destino o completar una transacción de comercio electrónico (o ambas).
Día especial Binario La función “Día especial” indica la cercanía del tiempo de visita del sitio a un día especial específico (como el Día de la Madre o San Valentín) en el que es más probable que las sesiones se finalicen con una transacción.
Mes Categórico Mes de la visita.
Sistemas operativos Categórico Sistemas operativos del visitante.
Navegador