Generación de predicciones de machine learning sin escribir código

GUÍA DE INTRODUCCIÓN

Información general

En este tutorial, aprenderá a utilizar Amazon SageMaker Canvas para crear modelos de machine learning (ML) y generar predicciones precisas sin escribir una sola línea de código.
 
Amazon SageMaker es una interfaz visual de apuntar y hacer clic que amplía el uso de ML a los analistas comerciales, al ayudarlos a tomar decisiones comerciales sin ninguna experiencia en ML. Con SageMaker Canvas, los analistas comerciales pueden crear modelos de ML y generar predicciones por su cuenta. Como usuario de SageMaker Canvas, puede importar datos de distintas fuentes, elegir las variables de destino necesarias para las predicciones y preparar y analizar datos. Con las capacidades integradas de AutoML, puede crear un modelo de ML y generar predicciones precisas únicas o masivas con unos pocos clics y tomar decisiones comerciales efectivas.

Lo que aprenderá

En esta guía, aprenderá a hacer lo siguiente:

  • Importar conjuntos de datos.
  • Seleccionar la variable de destino para la clasificación.
  • Inspeccionar conjuntos de datos visualmente.
  • Crear un modelo de ML con la característica SageMaker Canvas Quick Build.
  • Comprender las características y métricas del modelo.
  • Generar y comprender predicciones masivas y únicas.

Requisitos previos

Antes de comenzar esta guía, necesitará lo siguiente:

  • Una cuenta de AWS: si aún no tiene una cuenta, siga la guía de introducción a la Configuración de su entorno para obtener una descripción general rápida.

 Experiencia en AWS

Principiante

 Tiempo de realización

20 minutos

 Costo de realización

Consulte los precios de SageMaker Canvas para estimar el costo de este tutorial.

 Requisitos

Debe iniciar sesión en una cuenta de AWS.

 Servicios utilizados

Amazon SageMaker Canvas

 Última actualización

28 de junio de 2022

Caso de uso

En este tutorial, creará un modelo de ML que puede predecir el tiempo estimado de llegada (ETA) de los envíos (medido en días). Utilizará un conjunto de datos que contiene datos de envío completos para los productos entregados, incluido el tiempo estimado, el envío, la prioridad, el transportista y el origen.

 

Paso 1: configurar el dominio de Amazon SageMaker Studio

Una cuenta de AWS solo puede tener un dominio de SageMaker Studio por región de AWS. Si ya tiene un dominio de SageMaker Studio en la región Este de EE. UU. (Norte de Virginia), siga la guía de configuración de SageMaker Studio para adjuntar las políticas de AWS IAM requeridas a su cuenta de SageMaker Studio; luego omita el paso 1 y continúe directamente con el paso 2. 

Si no tiene un dominio de SageMaker Studio existente, continúe con el paso 1 a fin de ejecutar una plantilla de AWS CloudFormation que cree un dominio de SageMaker Studio y agregue los permisos necesarios para el resto de este tutorial.

Elija el enlace de la pila de AWS CloudFormation. Este enlace abre la consola de AWS CloudFormation y crea su dominio de SageMaker Studio y un usuario denominado studio-user. También agrega los permisos necesarios a su cuenta de SageMaker Studio. En la consola de CloudFormation, confirme que Este de EE. UU. (Norte de Virginia) sea la región que se muestra en la esquina superior derecha. El nombre de la pila debe ser CFN-SM-IM-Lambda-Catalog y no debe cambiarse. Esta pila tarda unos 10 minutos en crear todos los recursos.

Esta pila asume que ya tiene una VPC pública configurada en su cuenta. Si no tiene una VPC pública, consulte VPC con una única subred pública para obtener información sobre cómo crear una VPC pública.

Seleccione I acknowledge that AWS CloudFormation might create IAM resources (Acepto que AWS CloudFormation podría crear recursos de IAM) y luego elija Create stack (Crear pila).

Paso 1: configurar el dominio de Amazon SageMaker Studio

En el panel de CloudFormation, elija Stacks (Pilas). La pila tarda unos 10 minutos en crearse. Cuando se crea la pila, su estado debería cambiar de CREATE_IN_PROGRESS a CREATE_COMPLETE.

Paso 1: configurar el dominio de Amazon SageMaker Studio

Paso 2: iniciar sesión en SageMaker Canvas y cargar el conjunto de datos en el bucket de Amazon S3

Ingrese SageMaker Canvas en la barra de búsqueda en la consola de AWS y vaya a SageMaker Canvas.

Elija Canvas en panel de control izquierdo y luego elija US East (N. Virginia) (Este de EE. UU. [Norte de Virginia]) de la lista desplegable Region (Región) en la parte superior derecha.

  • En la página de SageMaker Canvas, seleccione Launch SageMaker Canvas (Iniciar SageMaker Canvas).
  • En la página del panel de control, seleccione Canvas de la lista desplegable Launch app (Iniciar aplicación) junto a studio-user.
  • Se mostrará la pantalla de SageMaker Canvas Creating application (Creando aplicación). La aplicación tardará unos minutos en cargarse.
 
Nota: Para acceder fácilmente a la consola de AWS durante el resto del tutorial, puede abrir una nueva pestaña para iniciar Canvas al hacer clic con el botón derecho en Canvas en la lista desplegable Launch app (Iniciar aplicación).

Si es la primera vez que usa SageMaker en US-East-1, SageMaker Canvas crea un bucket de Amazon S3 con un nombre que se compone del siguiente patrón: sagemaker-<your-Region>-<your-account-id>. Antes de continuar con el resto del tutorial, descargue los conjuntos de datos a continuación y guárdelos en su computadora local. Luego, cargará los conjuntos de datos en el bucket de S3 predeterminado que SageMaker Canvas ha creado para usted.

Descargue el registro de envío y los conjuntos de datos de productos sintéticos.

En la barra de búsqueda de la consola de AWS, ingrese S3 y luego seleccione S3.

 

Paso&nbsp;2: cargar el conjunto de datos en el bucket de Amazon S3

Cuando se abre la consola S3, puede encontrar su bucket predeterminado que SageMaker Canvas ha creado para usted en la sección Buckets. Elija el bucket llamado sagemaker-<your-Region>-<your-account-id> y, en la página siguiente, elija Upload (Cargar).

Paso&nbsp;2: cargar el conjunto de datos en el bucket de Amazon S3

En la página Upload (Cargar), elija Add files (Agregar archivos) y seleccione los dos conjuntos de datos que descargó en el paso anterior. Desplácese hasta la parte inferior de la página y elija Upload (Cargar). SageMaker Canvas accederá a estos archivos antes de crear el modelo.

Paso&nbsp;2: cargar el conjunto de datos en el bucket de Amazon S3
Paso&nbsp;2: cargar el conjunto de datos en el bucket de Amazon S3

Paso 3: configurar SageMaker Canvas para la creación automática de modelos

Importe los datos a SageMaker Canvas para la inspección visual y la creación de modelos.

Importe el conjunto de datos a SageMaker Canvas.

  • En la interfaz de SageMaker Canvas, elija Datasets (Conjuntos de datos) en el panel izquierdo y luego elija + Import (+ Importar).
  • Seleccione el bucket de Amazon S3 llamado sagemaker-<your-Region>-<your-account-id> donde cargó los conjuntos de datos en el paso anterior. Seleccione los conjuntos de datos shipping_logs.csv y product_descriptions.csv al marcar las casillas de verificación a su izquierda. Aparecen dos botones nuevos en la parte inferior de la página: Preview all (Vista previa de todo) de todo e Import data (Importar datos). Seleccione Preview all (Vista previa de todo). Esto le permite ver una vista previa de 100 filas de los conjuntos de datos.
  • Después de comprobar los conjuntos de datos, elija Import data (Importar datos) para importarlos a SageMaker Canvas.
Paso&nbsp;3: configurar SageMaker Canvas para la creaci&oacute;n autom&aacute;tica de modelos
Paso&nbsp;3: configurar SageMaker Canvas para la creaci&oacute;n autom&aacute;tica de modelos
Paso&nbsp;3: configurar SageMaker Canvas para la creaci&oacute;n autom&aacute;tica de modelos

En la página SageMaker Canva, en la sección Datasets (Conjuntos de datos), encontrará los dos conjuntos de datos que importó. Elija Join data (Unir datos).

Paso&nbsp;3: configurar SageMaker Canvas para la creaci&oacute;n autom&aacute;tica de modelos

En la página Join data (Unir datos), arrastre los dos conjuntos de datos desde el panel izquierdo al panel derecho. Seleccione el ícono de unión entre los dos conjuntos de datos. Aparecerá una ventana emergente que muestra detalles sobre la unión. Asegúrese de que el tipo de unión sea Inner (Interna) y la columna de unión sea ProductId. Elija Save & close (Guardar y cerrar) y luego seleccione Import data (Importar datos).

  • En el cuadro de diálogo Import data (Importar datos), ingrese el nombre ConsolidatedShippingData en el campo Import dataset name (Importar nombre del conjunto de datos) y seleccione Import data (Importar datos).


Paso&nbsp;3: configurar SageMaker Canvas para la creaci&oacute;n autom&aacute;tica de modelos
Paso&nbsp;3: configurar SageMaker Canvas para la creaci&oacute;n autom&aacute;tica de modelos
Paso&nbsp;3: configurar SageMaker Canvas para la creaci&oacute;n autom&aacute;tica de modelos

Paso 4: crear, entrenar y analizar un modelo de ML

Configure la variable de destino, inspeccione visualmente las propiedades de los datos e inicie el proceso de creación del modelo.

En la interfaz de usuario de SageMaker Canvas, elija Models (Modelos) y + New Model (+ Nuevo modelo). En el cuadro de diálogo Create new model (Crear nuevo modelo), ingrese ShippingForecast en el campo Model name (Nombre del modelo) y elija Create (Crear).

Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML

La página de vista del modelo consta de cuatro pestañas que representan los pasos necesarios para crear un modelo y obtener predicciones. Las pestañas son las siguientes:

  • Select (Seleccionar): configurar los datos de entrada.
  • Build (Crear): crear el modelo de ML.
  • Analyze (Analizar): analizar el resultado y las características del modelo.
  • Predict (Predecir): ejecutar predicciones masivas o en una sola muestra.

En la pestaña Select (Seleccionar), elija el botón de opción del conjunto de datos ConsolidatedShippingData que creó en el paso anterior. Este conjunto de datos contiene 16 columnas y 10 000 filas. También contiene una descripción de alto nivel de la forma y el tamaño del conjunto de datos. Elija Select dataset (Seleccionar conjunto de datos).

Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML

Después de seleccionar el conjunto de datos, SageMaker Canvas pasa automáticamente a la fase Build (Crear). En esta pestaña, elija la columna de destino, que es ActualShippingDays en este ejemplo. Dado que esta columna contiene el número histórico de días requeridos para que lleguen los productos, es adecuada para usarse como columna de destino.

  • Una vez que se selecciona la columna de destino, SageMaker Canvas intenta inferir automáticamente el tipo de problema. Dado que le interesa saber cuántos días tardarán los productos en llegar al cliente, se trata de un problema de regresión o de predicción numérica. La regresión estima los valores de una variable de destino dependiente en función de una o más variables o atributos que están correlacionados con ella. En este caso, SageMaker Canvas inicialmente puede predecir este caso de uso como un problema de Time series forecasting type (Tipo de previsión de serie temporal) porque detectó una columna con fechas en el conjunto de datos. Sin embargo, puede cambiar el tipo de problema a Numeric model type (Tipo de modelo numérico) al seleccionarlo manualmente con el enlace Change type (Cambiar tipo) en el centro de la página.
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Notará que SageMaker Canvas proporciona estadísticas del conjunto de datos, incluidos valores faltantes y no coincidentes, valores únicos y valores medios y medianos para cada una de las columnas del conjunto de datos. Puede utilizar estas estadísticas para eliminar algunas de las columnas. Si no desea utilizar una columna en particular para la predicción, puede borrarla (anular la selección) de la casilla de verificación de la izquierda.
  • Observe que la correlación de las columnas XShippingDistance y YShippingDistance con el destino es insignificante.
  • Dado que las características con una correlación insignificante con el destino no son lo suficientemente informativas para la tarea de predicción en cuestión, puede descartar las columnas XShippingDistance, YShippingDistance, ProductID y OrderID porque son claves primarias y no se espera que contengan información valiosa. Puede anular la selección de las casillas de verificación.
  • Puede seleccionar el ícono de barras verticales para inspeccionar las distribuciones de las columnas. Esto es muy útil para resaltar los desequilibrios y posibles sesgos en los datos.
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Después de completar la exploración de datos, puede entrenar un modelo. En SageMaker Canvas, existen dos métodos de entrenamiento: Creación rápida y Creación estándar. La creación rápida suele tardar entre 2 y 15 minutos en crear el modelo, mientras que la creación estándar suele tardar entre 2 y 4 horas y, por lo general, tiene una mayor precisión. La creación rápida entrena menos combinaciones de modelos e hiperparámetros para priorizar la velocidad. Esto es especialmente aplicable en casos como este tutorial, donde el objetivo es desarrollar rápidamente un modelo prototipo para el caso de uso elegido.

A los fines de este tutorial, elija Quick build (Creación rápida) para comenzar la creación del modelo. Este proceso tarda menos de 5 minutos en completarse.

Paso&nbsp;4: crear, entrenar y analizar un modelo de ML

Una vez completada la creación del modelo, SageMaker Canvas cambia automáticamente a la pestaña Analyze (Analizar) para mostrar los resultados rápidos del entrenamiento. El modelo de SageMaker Canvas creado con creación rápida puede predecir la cantidad de días de envío dentro de +/- 1,2333 del valor real. El machine learning introduce algo de estocasticidad en el proceso de entrenamiento de modelos, lo que puede llevar a diferentes resultados para diferentes creaciones. Por lo tanto, el rendimiento exacto en términos de las métricas que ve puede ser diferente.

Paso&nbsp;4: crear, entrenar y analizar un modelo de ML

En la pestaña Overview (Información general), SageMaker Canvas muestra el impacto de la columna o la importancia estimada de cada columna de entrada en la predicción de la columna de destino. En este ejemplo, la columna ExpectedShippingDays tiene el impacto más significativo en la predicción del número de días de envío. En el panel derecho, también puede ver la dirección del impacto de una característica. Por ejemplo, cuanto mayor sea el valor de ExpectedShippingDays, más positivo será su impacto en la predicción del número de días de envío.

Paso&nbsp;4: crear, entrenar y analizar un modelo de ML

En la pestaña Scoring (Puntuación), puede ver un gráfico que representa la línea de regresión de mejor ajuste para ActualshippingDays. En promedio, la predicción del modelo tiene una diferencia de +/- 1,2333 con respecto al valor real de ActualShippingDays. La sección Scoring (Puntuación) para la predicción numérica muestra una línea para indicar el valor previsto del modelo en relación con los datos utilizados para realizar las predicciones. Los valores de la predicción numérica suelen ser +/- el valor RMSE (error cuadrático medio). El valor que predice el modelo suele estar dentro del rango del RMSE. El ancho de la banda morada alrededor de la línea indica el rango del RMSE. Los valores predichos a menudo entran en el rango. Para tener una comprensión más profunda del rendimiento del modelo, seleccione el enlace Advanced metrics (Métricas avanzadas) a la derecha para mostrar la página Advanced metrics (Métricas avanzadas).

  • Las distintas métricas que se muestran en la página Advanced metrics (Métricas avanzadas) son R2, Error absoluto medio (MAE), Error porcentual absoluto medio (MAPE) y Error cuadrático medio (RMSE). La página Advanced metrics (Métricas avanzadas) también muestra gráficos para la inspección visual del rendimiento del modelo. Una imagen muestra un gráfico de los residuos o errores. La línea horizontal indica un error de 0 o una predicción perfecta. Los puntos azules son los errores. Su distancia desde la línea horizontal indica la magnitud de los errores.
  • Si se desplaza hacia abajo en la página Advanced metrics (Métricas avanzadas), puede ver un gráfico de densidad de errores que muestra la distribución de los errores y su dispersión con respecto al MAE y RMSE del modelo. Una densidad de error con una forma similar a una distribución normal indica un buen rendimiento del modelo.
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML
Paso&nbsp;4: crear, entrenar y analizar un modelo de ML

Paso 5: generar predicciones del modelo

Ahora que tiene un modelo de regresión, puede usar el modelo para ejecutar predicciones o puede crear una nueva versión de este modelo para entrenarlo con el proceso de creación estándar. En este paso, utilizará SageMaker Canvas para generar predicciones sobre conjuntos de datos, tanto individuales como masivas.

Para comenzar a generar predicciones, seleccione la pestaña Predict (Predecir).

  • Elija el botón Predict (Predecir) en la parte inferior de la página Analyze (Analizar) o elija la pestaña Predict (Predecir). En la página Predict (Predecir), la opción Batch prediction (Predicción por lotes) ya está seleccionada. Elija Select dataset (Seleccionar conjunto de datos) y luego seleccione el conjunto de datos ConsolidatedShippingData. En los flujos de trabajo de ML reales, este conjunto de datos debe estar separado del conjunto de datos de entrenamiento. Sin embargo, para simplificar, utilice el mismo conjunto de datos para demostrar cómo SageMaker Canvas genera predicciones. Elija Generate predictions (Generar predicciones).
  • Después de unos segundos, la predicción ya estará hecha. Elija el ícono de opciones y seleccione preview (vista previa)para obtener una vista previa de las predicciones al pasar el cursor sobre el nombre o el estado del conjunto de datos de predicciones. También puede elegir Download (Descargar) para descargar un archivo CSV que contenga el resultado completo. SageMaker Canvas devuelve una predicción para cada fila de datos. En este tutorial, la característica de mayor importancia es ExpectedShippingDays. También se presenta junto a las predicciones para una comparación visual.
  • En la página Predict (Predecir), puede generar predicciones para una sola muestra al seleccionar Single prediction (Predicción única). SageMaker Canvas presenta una interfaz en la que puede ingresar manualmente valores para cada una de las variables de entrada utilizadas en el modelo. Este tipo de análisis es ideal para escenarios hipotéticos en los que desea saber cómo cambia la predicción cuando el valor de una o más variables aumenta o disminuye. Con la predicción del conjunto único de valores de columna, SageMaker Canvas otorga importancia a las características individuales. Esto indica las columnas con la mayor influencia en la predicción de la muestra actual.
Paso&nbsp;5: generar predicciones del modelo
Paso&nbsp;5: generar predicciones del modelo
Paso&nbsp;5: generar predicciones del modelo
Paso&nbsp;5: generar predicciones del modelo
Paso&nbsp;5: generar predicciones del modelo
Paso&nbsp;5: generar predicciones del modelo
Después del proceso de creación del modelo, SageMaker Canvas carga todos los artefactos, incluido el modelo entrenado guardado como un archivo pickle, las métricas, los conjuntos de datos y las predicciones, en su bucket de S3 predeterminado en una ubicación denominada Canvas/studio-user. Puede inspeccionar los contenidos y utilizarlos según sea necesario para un mayor desarrollo.
Paso&nbsp;5: generar predicciones del modelo

Para el alcance de este tutorial, no se cubre el modelo estándar. Sin embargo, el entrenamiento en este modo es similar a los pasos descritos en este tutorial.

Puede comenzar dando un nombre al modelo, como ShippingForecastStandardModel. Además, en la pestaña Build (Crear), puede elegir Standard Model (Modelo estándar) en lugar de Quick Model (Modelo rápido). A partir de ahí, continúe con los pasos restantes. El modo de creación estándar es beneficioso porque proporciona la funcionalidad adicional de poder compartir el modelo entrenado con científicos de datos a través de SageMaker Studio. Esto permite la colaboración, el refinamiento rápido del modelo y las iteraciones. La opción para compartir está disponible en la pestaña Analyze (Analizar) una vez que se completa el entrenamiento del modelo.

Paso&nbsp;5: generar predicciones del modelo
Paso&nbsp;5: generar predicciones del modelo

Paso 6: limpiar recursos de AWS

Una práctica recomendada es eliminar los recursos que ya no se utilizan para no incurrir en cargos no deseados.

Navegue a la consola de S3 y seleccione la opción de menú Buckets.

Elimine los objetos de prueba del bucket de prueba. Seleccione el nombre del bucket con el que ha estado trabajando en este tutorial. Marque la casilla de verificación a la izquierda del nombre del objeto de prueba y luego seleccione el botón Delete (Eliminar). En la página Delete objects (Eliminar objetos), verifique que haya seleccionado el objeto apropiado para eliminar y escriba permanently delete (eliminar de forma permanente) en el cuadro de confirmación Permanently delete objects (Eliminar objetos de forma permanente). Luego, seleccione el botón Delete object (Eliminar objeto) para continuar. A continuación, verá un anuncio que le indicará si la eliminación se ha realizado correctamente.

 

Paso&nbsp;6: limpiar recursos de AWS
Paso&nbsp;6: limpiar recursos de AWS

En la página principal de SageMaker Canvas, elija Models (Modelos). En el panel derecho, puede ver el modelo que creó. Elija los puntos suspensivos verticales a la derecha de la opción View (Ver) y seleccione Delete model (Eliminar modelo).

Paso&nbsp;6: limpiar recursos de AWS

En la consola de SageMaker Studio, seleccione studio-user y, para cada aplicación que aparece en Apps (Aplicaciones), elijaDelete App (Eliminar aplicación). Siga las indicaciones en pantalla para confirmar la operación de eliminación. Espere hasta que el estado se muestre como Deleted (Eliminado).

Paso&nbsp;6: limpiar recursos de AWS
Paso&nbsp;6: limpiar recursos de AWS

Si usó un dominio existente de SageMaker Studio en el paso 1, omita el resto del paso 6 y vaya directamente a la sección de conclusión. 

Si ejecutó la plantilla de CloudFormation en el paso 1 para crear un dominio de SageMaker Studio nuevo, continúe con los siguientes pasos a fin de eliminar el dominio, el usuario y los recursos creados por la plantilla de CloudFormation.

Para abrir la consola de CloudFormation, ingrese CloudFormation en la barra de búsqueda de la consola de AWS y elija CloudFormation en los resultados de búsqueda.

Paso&nbsp;6: limpiar recursos de AWS

En el panel de CloudFormation, elija Stacks (Pilas). En la lista desplegable de estado, seleccione Active (Activo). En Stack name (Nombre de la pila), elija CFN-SM-IM-Lambda-Catalog para abrir la página de detalles de la pila.

Paso&nbsp;6: limpiar recursos de AWS

En la página de detalles de la pila CFN-SM-IM-Lambda-Catalog, elija Delete (Eliminar) para eliminar la pila junto con los recursos que creó en el paso 1.

Paso&nbsp;6: limpiar recursos de AWS

Conclusión

¡Felicitaciones! Ha finalizado el tutorial Generación de predicciones de machine learning sin escribir código.

Ha utilizado correctamente Amazon SageMaker Canvas a fin de importar y preparar un conjunto de datos para ML desde Amazon S3, seleccionar la variable de destino, crear un modelo de ML mediante el modo de creación rápida y utilizar la interfaz visual.

¿Le resultó útil esta página?

Siguientes pasos