Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot

Los datos alimentan el aprendizaje automático (ML); la calidad de los datos tiene un impacto directo en la calidad de los modelos ML. Por lo tanto, mejorar la calidad de los datos y emplear las técnicas de ingeniería de características correctas son fundamentales para crear modelos de ML precisos. Los profesionales de ML a menudo repiten tediosamente la ingeniería de características, la elección de algoritmos y otros aspectos de ML en busca de modelos óptimos que generalicen bien los datos del mundo real y brinden los resultados deseados. Debido a que la velocidad en la realización de negocios es desproporcionadamente importante, este proceso extremadamente tedioso e iterativo puede ocasionar retrasos en los proyectos y la pérdida de oportunidades comerciales.

Wrangler de datos de Amazon SageMaker reduce el tiempo para agregar y preparar datos para ML de semanas a minutos, y Piloto automático Amazon SageMaker crea, entrena y ajusta automáticamente los mejores modelos de ML en función de sus datos. Con Autopilot, aún mantiene el control total y la visibilidad de sus datos y modelo. Ambos servicios están diseñados específicamente para hacer que los profesionales de ML sean más productivos y aceleren el tiempo de generación de valor.

Data Wrangler ahora brinda una experiencia unificada que le permite preparar datos y entrenar sin problemas un modelo ML en Autopilot. Con esta función recién lanzada, ahora puede preparar sus datos en Data Wrangler y lanzar fácilmente experimentos de Autopilot directamente desde la interfaz de usuario (IU) de Data Wrangler. Con solo unos pocos clics, puede crear, entrenar y ajustar automáticamente modelos de ML, lo que facilita el empleo de técnicas de ingeniería de características de última generación, entrena modelos de ML de alta calidad y obtiene información de sus datos con mayor rapidez.

En esta publicación, discutimos cómo puede usar esta nueva experiencia integrada en Data Wrangler para analizar conjuntos de datos y crear fácilmente modelos ML de alta calidad en Autopilot.

Descripción general del conjunto de datos

Los indios Pima son un grupo indígena que vive en México y Arizona, EE. UU. PRUEBAS muestran a los indígenas pima como un grupo poblacional de alto riesgo para diabetes mellitus. Predecir la probabilidad del riesgo y la susceptibilidad de un individuo a una enfermedad crónica como la diabetes es una tarea importante para mejorar la salud y el bienestar de este grupo minoritario a menudo subrepresentado.

Usamos la Conjunto de datos públicos de diabetes de los indios Pima para predecir la susceptibilidad de un individuo a la diabetes. Nos enfocamos en la nueva integración entre Data Wrangler y Autopilot para preparar datos y crear automáticamente un modelo ML sin escribir una sola línea de código.

El conjunto de datos contiene información sobre mujeres indias Pima de 21 años o más e incluye varias variables predictoras médicas (independientes) y una variable objetivo (dependiente), Resultado. El siguiente cuadro describe las columnas en nuestro conjunto de datos.

Columna Nombre Descripción
Embarazos El número de veces embarazada
Glucosa Concentración de glucosa en plasma en una prueba de tolerancia oral a la glucosa dentro de las 2 horas
Presión arterial Presión arterial diastólica (mm Hg)
Grosor de la piel Grosor del pliegue cutáneo del tríceps (mm)
Insulina Insulina sérica de 2 horas (mu U/ml)
IMC (Índice de masa corporal); Índice de masa corporal (peso en kg/(altura en m)^2)
DiabetesPedigrí Función de pedigrí de diabetes
Edad Edad en años
Resultado La variable objetivo

El conjunto de datos contiene 768 registros, con 9 características en total. Almacenamos este conjunto de datos en Cubo de almacenamiento simple de Amazon (Amazon S3) como un archivo CSV y luego importe el CSV directamente a un flujo de Data Wrangler desde Amazon S3.

Resumen de la solución

El siguiente diagrama resume lo que logramos en esta publicación. [KT1]

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Los científicos de datos, los médicos y otros expertos en el campo médico brindan datos de pacientes con información sobre los niveles de glucosa, la presión arterial, el índice de masa corporal y otras características que se utilizan para predecir la probabilidad de tener diabetes. Con el conjunto de datos en Amazon S3, importamos el conjunto de datos en Data Wrangler para realizar un análisis exploratorio de datos (EDA), creación de perfiles de datos, ingeniería de funciones y división del conjunto de datos en entrenamiento y prueba para la construcción y evaluación de modelos.

Luego usamos la nueva integración de características de Autopilot para construir rápidamente un modelo directamente desde la interfaz de Data Wrangler. Elegimos el mejor modelo de Autopilot en función del modelo con la puntuación F-beta más alta. Después de que Autopilot encuentra el mejor modelo, ejecutamos un Transformación por lotes de SageMaker trabajo en el conjunto de prueba (reserva) con los artefactos del modelo del mejor modelo para la evaluación.

Los expertos médicos pueden proporcionar nuevos datos al modelo validado para obtener una predicción para ver si es probable que un paciente tenga diabetes. Con estos conocimientos, los expertos médicos pueden comenzar el tratamiento temprano para mejorar la salud y el bienestar de las poblaciones vulnerables. Los expertos médicos también pueden explicar la predicción de un modelo haciendo referencia a los detalles del modelo en Autopilot porque tienen una visibilidad completa de la explicabilidad, el rendimiento y los artefactos del modelo. Esta visibilidad, además de la validación del modelo del conjunto de pruebas, brinda a los expertos médicos una mayor confianza en la capacidad predictiva del modelo.

Lo guiamos a través de los siguientes pasos de alto nivel.

  1. Importe el conjunto de datos de Amazon S3.
  2. Realice perfiles de datos y EDA con Data Wrangler.
  3. Realice ingeniería de características para manejar valores atípicos y faltantes.
  4. Divida los datos en conjuntos de entrenamiento y prueba.
  5. Entrene y construya un modelo con Autopilot.
  6. Pruebe el modelo en una muestra reservada con un cuaderno SageMaker.
  7. Analice la validación y el rendimiento del conjunto de pruebas.

Requisitos previos

Complete los siguientes pasos de requisitos previos:

  1. Sube el conjunto de datos a un cubo S3 de su elección.
  2. Asegúrate de tener los permisos necesarios. Para obtener más información, consulte Comience con Data Wrangler.
  3. Configure un dominio de SageMaker configurado para usar Data Wrangler. Para obtener instrucciones, consulte Incorporación al dominio de Amazon SageMaker.

Importe su conjunto de datos con Data Wrangler

Puede integrar un flujo de datos de Data Wrangler en sus flujos de trabajo de ML para simplificar y agilizar el preprocesamiento de datos y la ingeniería de funciones con poca o ninguna codificación. Complete los siguientes pasos:

  1. Crear un nuevo Flujo de administrador de datos.

Si es la primera vez que abre Data Wrangler, es posible que deba esperar unos minutos para que esté listo.

  1. Elija el conjunto de datos almacenado en Amazon S3 e impórtelo a Data Wrangler.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Después de importar el conjunto de datos, debería ver los comienzos de un flujo de datos dentro de la interfaz de usuario de Data Wrangler. Ahora tiene un diagrama de flujo.

  1. Elija el signo más junto a Tipos de datos y elige Editar para confirmar que Data Wrangler infirió automáticamente los tipos de datos correctos para sus columnas de datos.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Si los tipos de datos no son correctos, puede modificarlos fácilmente a través de la interfaz de usuario. Si hay varias fuentes de datos, puede unirlas o concatenarlas.

Ahora podemos crear un análisis y agregar transformaciones.

Realice análisis de datos exploratorios con el informe de información de datos

El análisis exploratorio de datos es una parte crítica del flujo de trabajo de ML. Podemos usar el nuevo informe de información de datos de Data Wrangler para comprender mejor el perfil y la distribución de nuestros datos. El informe incluye estadísticas resumidas, advertencias sobre la calidad de los datos, información sobre la columna de destino, un modelo rápido e información sobre filas anómalas y duplicadas.

  1. Elija el signo más junto a Tipos de datos y elige Obtener información de datos.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

  1. Target visión de conjunto, escoger Resultado.
  2. Tipo de problemay (opcionalmente) seleccione Clasificación.
  3. Elige Crear.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Los resultados muestran un resumen de datos con las estadísticas del conjunto de datos.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

También podemos ver la distribución de las filas etiquetadas con un histograma, una estimación de la calidad prevista esperada del modelo con la característica de modelo rápido y una tabla de resumen de características.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

No entramos en los detalles del análisis del informe de información de datos; Referirse a Acelere la preparación de datos con información y calidad de datos en Amazon SageMaker Data Wrangler para obtener detalles adicionales sobre cómo puede usar el informe de información de datos para acelerar los pasos de preparación de datos.

Realizar ingeniería de características

Ahora que hemos perfilado y analizado la distribución de nuestras columnas de entrada a un alto nivel, la primera consideración para mejorar la calidad de nuestros datos podría ser manejar los valores faltantes.

Por ejemplo, sabemos que los ceros (0) para el Insulin columna representan valores faltantes. Podríamos seguir la recomendación de reemplazar los ceros con NaN. Pero en un examen más detallado, encontramos que el valor mínimo es 0 para otras columnas como Glucose, BloodPressure, SkinThicknessy BMI. Necesitamos una forma de manejar los valores faltantes, pero debemos ser sensibles a las columnas con ceros como datos válidos. Veamos cómo podemos arreglar esto.

En Detalles de funciones sección, el informe plantea una Valor perdido disfrazado advertencia para la función Insulin.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Porque los ceros en el Insulin columna de hecho faltan datos, usamos el Convertir expresiones regulares en faltantes transform para transformar los valores cero en vacíos (valores perdidos).

  1. Elija el signo más junto a Datos tipos y elige Añada transformar.
  2.  Elige Buscar y editar.
  3. Transformar, escoger Convertir expresiones regulares en faltantes.
  4. Entrada columnas, elige las columnas Insulin, Glucose, BloodPressure, SkinThicknessy BMI.
  5. Patrón de Costura, introduzca 0.
  6. Elige Vista previa y Añada para guardar este paso.

Las 0 entradas bajo Insulin, Glucose, BloodPressure, SkinThicknessy BMI ahora faltan valores.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Data Wrangler le ofrece algunas otras opciones para corregir los valores faltantes.

  1. Manejamos los valores faltantes imputando la mediana aproximada para el Glucose columna.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

También queremos asegurarnos de que nuestras características estén en la misma escala. No queremos dar accidentalmente más peso a una característica determinada solo porque contiene un rango numérico más grande. Normalizamos nuestras características para hacer esto.

  1. Agregar una nueva Proceso numérico transformar y elegir Valores de escala.
  2. Escalador, escoger Escalador mínimo-máximo.
  3. Columnas de entrada, elige las columnas Pregnancies, BloodPressure, Glucose, SkinThickness, Insulin, BMIy Age.
  4. Set Min a 0 y Max a 1.

Esto asegura que nuestras características estén entre los valores 0 y 1.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Ahora que hemos creado algunas características, dividimos nuestro conjunto de datos en entrenamiento y prueba antes de construir un modelo.

Divida los datos en entrenamiento y prueba

En la fase de creación de modelos de su flujo de trabajo de ML, prueba la eficacia de su modelo ejecutando predicciones por lotes. Puede reservar un conjunto de datos de prueba o reserva para la evaluación para ver cómo funciona su modelo al comparar las predicciones con la verdad del terreno. Generalmente, si más de las predicciones del modelo coinciden con el true etiquetas, podemos determinar que el modelo está funcionando bien.

Usamos Data Wrangler para dividir nuestro conjunto de datos para realizar pruebas. Conservamos el 90% de nuestro conjunto de datos para entrenamiento porque tenemos un conjunto de datos relativamente pequeño. El 10% restante de nuestro conjunto de datos sirve como conjunto de datos de prueba. Usamos este conjunto de datos para validar el modelo de Autopilot más adelante en esta publicación.

Dividimos nuestros datos eligiendo el Dividir datos transformar y elegir División aleatoria como el método. Designamos 0.9 como el porcentaje dividido para entrenamiento y 0.1 para prueba.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Con la transformación de datos y los pasos de ingeniería de presentación completos, ahora estamos listos para entrenar un modelo.

Entrenar y validar el modelo

Podemos usar la nueva integración de Data Wrangler con Autopilot para entrenar directamente un modelo desde la interfaz de usuario de flujo de datos de Data Wrangler.

  1. Elija el signo más junto a Conjunto de datos y elige Modelo de tren.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

  1. Ubicación de Amazon S3, especifique la ubicación de Amazon S3 donde SageMaker exporta sus datos.

Autopilot usa esta ubicación para entrenar automáticamente un modelo, ahorrándole el tiempo de tener que definir la ubicación de salida del flujo de Data Wrangler y luego tener que definir la ubicación de entrada de los datos de entrenamiento de Autopilot. Esto hace que la experiencia sea más fluida.

  1. Elige Exportar y tren para iniciar la creación de modelos con Autopilot.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El piloto automático selecciona automáticamente las ubicaciones de entrada y salida de datos de entrenamiento. Solo necesita especificar la columna de destino y hacer clic en Crear experimento para entrenar a tu modelo.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Probar el modelo en una muestra reservada

Cuando Autopilot completa el experimento, podemos ver los resultados del entrenamiento y explorar el mejor modelo.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

  1. Elige Ver detalles del modelo para su modelo deseado, luego elija el Rendimiento pestaña en la página de detalles del modelo.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El Rendimiento La pestaña muestra varias pruebas de medición del modelo, incluida una matriz de confusión, el área bajo la curva de precisión/recuperación (AUCPR) y el área bajo la curva característica operativa del receptor (ROC). Estos ilustran el rendimiento de validación general del modelo, pero no nos dicen si el modelo se generalizará bien. Todavía necesitamos realizar evaluaciones en datos de prueba no vistos para ver con qué precisión el modelo predice si una persona tendrá diabetes.

Para garantizar que el modelo se generalice lo suficientemente bien, reservamos la muestra de prueba para el muestreo independiente. Podemos hacerlo en la interfaz de usuario de flujo de Data Wrangler.

  1.  Elija el signo más junto a Conjunto de datos, escoger Exportar a, y elige Amazon S3.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

  1. Especifique una ruta de Amazon S3.

Nos referimos a esta ruta cuando ejecutamos la inferencia por lotes para la validación en la siguiente sección.

  1. Cree un nuevo cuaderno de SageMaker para realizar inferencias por lotes en la muestra reservada y evaluar el rendimiento de la prueba. Consulte lo siguiente Repositorio GitHub para agendar una cuaderno de muestra para ejecutar la inferencia por lotes para la validación.

Analice la validación y el rendimiento del conjunto de pruebas

Cuando se completa la transformación por lotes, creamos una matriz de confusión para comparar los resultados reales y previstos del conjunto de datos reservado.

Vemos 23 verdaderos positivos y 33 verdaderos negativos de nuestros resultados. En nuestro caso, los verdaderos positivos se refieren al modelo que predice correctamente que una persona tiene diabetes. Por el contrario, los verdaderos negativos se refieren al modelo que predice correctamente que un individuo no tiene diabetes.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

En nuestro caso, la precisión y la recuperación son métricas importantes. La precisión mide esencialmente a todas las personas que se predice que tendrán diabetes, ¿cuántas realmente tienen diabetes? Por el contrario, recordar ayuda a medir todos los individuos que de hecho tienen diabetes, ¿cuántos se predijo que tendrían diabetes? Por ejemplo, es posible que desee utilizar un modelo con alta precisión porque desea tratar a la mayor cantidad de personas posible, especialmente si la primera etapa del tratamiento no tiene ningún efecto en las personas sin diabetes (estos son falsos positivos, aquellos etiquetados como si la tuvieran). cuando en realidad no lo hacen).

También trazamos el gráfico del área bajo la curva ROC (AUC) para evaluar los resultados. Cuanto mayor sea el AUC, mejor será el modelo para distinguir entre clases, que en nuestro caso es lo bien que funciona el modelo para distinguir pacientes con y sin diabetes.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Conclusión

En esta publicación, demostramos cómo integrar su procesamiento de datos, con ingeniería y creación de modelos utilizando Data Wrangler y Autopilot. Destacamos cómo puede entrenar y ajustar fácilmente un modelo con Autopilot directamente desde la interfaz de usuario de Data Wrangler. Con esta característica de integración, podemos construir rápidamente un modelo después de completar la ingeniería de características, sin escribir ningún código. Luego hicimos referencia al mejor modelo de Autopilot para ejecutar predicciones por lotes usando la clase AutoML con el SDK de Python de SageMaker.

Las soluciones de código bajo y AutoML como Data Wrangler y Autopilot eliminan la necesidad de tener un conocimiento profundo de codificación para construir modelos de ML robustos. Comience a usar Data Wrangler hoy para experimentar lo fácil que es construir modelos ML usando Piloto automático SageMaker.


Acerca de los autores

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Pedro Chung es un arquitecto de soluciones para AWS y le apasiona ayudar a los clientes a descubrir información de sus datos. Ha estado creando soluciones para ayudar a las organizaciones a tomar decisiones basadas en datos tanto en el sector público como en el privado. Posee todas las certificaciones de AWS, así como dos certificaciones de GCP. Le gusta el café, cocinar, mantenerse activo y pasar tiempo con su familia.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Pradeep Reddy es gerente sénior de productos en el equipo de aprendizaje automático de código bajo/sin código de SageMaker, que incluye SageMaker Autopilot, SageMaker Automatic Model Tuner. Fuera del trabajo, a Pradeep le gusta leer, correr y divertirse con computadoras del tamaño de la palma de la mano como raspberry pi y otras tecnologías de automatización del hogar.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Arunprasath Shankar es un arquitecto de soluciones especializado en inteligencia artificial y aprendizaje automático (AI / ML) en AWS, que ayuda a los clientes globales a escalar sus soluciones de inteligencia artificial de manera efectiva y eficiente en la nube. En su tiempo libre, a Arun le gusta ver películas de ciencia ficción y escuchar música clásica.

Preparación unificada de datos y entrenamiento de modelos con Amazon SageMaker Data Wrangler y Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Srujan Gopu es un ingeniero frontend sénior en SageMaker Low Code/No Code ML que ayuda a los clientes de los productos Autopilot y Canvas. Cuando no está programando, a Srujan le gusta salir a correr con su perro Max, escuchar audiolibros y desarrollar juegos de realidad virtual.

Sello de tiempo:

Mas de Aprendizaje automático de AWS