Equilibre sus datos para el aprendizaje automático con Amazon SageMaker Data Wrangler

Nodo de origen: 1600102

Wrangler de datos de Amazon SageMaker es una nueva capacidad de Amazon SageMaker eso hace que sea más rápido para los científicos e ingenieros de datos preparar datos para aplicaciones de aprendizaje automático (ML) mediante el uso de una interfaz visual. Contiene más de 300 transformaciones de datos integradas para que pueda normalizar, transformar y combinar funciones rápidamente sin tener que escribir ningún código.

Hoy, nos complace anunciar nuevas transformaciones que le permiten equilibrar sus conjuntos de datos de manera fácil y efectiva para el entrenamiento de modelos de ML. Demostramos cómo funcionan estas transformaciones en esta publicación.

Nuevos operadores de equilibrio

Los operadores de ajuste recientemente anunciados se agrupan bajo el Saldo de datos transforma el tipo en el AÑADIR TRANSFORMAR cristal.

Actualmente, los operadores de transformación solo admiten problemas de clasificación binaria. En los problemas de clasificación binaria, el clasificador tiene la tarea de clasificar cada muestra en una de dos clases. Cuando el número de muestras en la clase mayoritaria (más grande) es considerablemente mayor que el número de muestras en la clase minoritaria (más pequeña), el conjunto de datos se considera desequilibrado. Este sesgo es un desafío para los algoritmos y clasificadores de ML porque el proceso de entrenamiento tiende a estar sesgado hacia la clase mayoritaria.

Para abordar este desafío, se propusieron esquemas de balanceo, que aumentan los datos para que estén más balanceados antes de entrenar al clasificador. Los métodos de equilibrio más simples son el sobremuestreo de la clase minoritaria mediante la duplicación de muestras minoritarias o el submuestreo de la clase mayoritaria mediante la eliminación de muestras mayoritarias. La idea de agregar muestras minoritarias sintéticas a los datos tabulares se propuso por primera vez en la Técnica de sobremuestreo de minorías sintéticas (SMOTE), donde las muestras minoritarias sintéticas se crean interpolando pares de los puntos minoritarios originales. SMOTE y otros esquemas de balanceo fueron ampliamente estudiados empíricamente y se demostró que mejoran el rendimiento de predicción en varios escenarios, según la publicación. SMOTE, o no SMOTE.

Data Wrangler ahora es compatible con los siguientes operadores de equilibrio como parte de la Saldo de datos transformar:

  • Sobremuestreador aleatorio – Muestras minoritarias duplicadas aleatoriamente
  • submuestreador aleatorio – Eliminar aleatoriamente muestras mayoritarias
  • HERIDO – Generar muestras minoritarias sintéticas interpolando muestras minoritarias reales

Analicemos ahora los diferentes operadores de equilibrio en detalle.

Sobremuestreo aleatorio

El sobremuestreo aleatorio incluye seleccionar ejemplos aleatorios de la clase minoritaria con un reemplazo y complementar los datos de entrenamiento con múltiples copias de esta instancia. Por lo tanto, es posible que una sola instancia se seleccione varias veces. Con el Aleatorio sobremuestreo tipo de transformación, Data Wrangler sobremuestrea automáticamente la clase minoritaria por usted al duplicar las muestras minoritarias en su conjunto de datos.

Submuestreo aleatorio

El submuestreo aleatorio es lo opuesto al sobremuestreo aleatorio. Este método busca seleccionar aleatoriamente y eliminar muestras de la clase mayoritaria, reduciendo en consecuencia el número de ejemplos de la clase mayoritaria en los datos transformados. los Aleatorio submuestreo El tipo de transformación permite que Data Wrangler submuestree automáticamente la clase mayoritaria eliminando muestras mayoritarias en su conjunto de datos.

HERIDO

En SMOTE, las muestras minoritarias sintéticas se agregan a los datos para lograr la relación deseada entre las muestras mayoritarias y minoritarias. Las muestras sintéticas se generan por interpolación de pares de los puntos minoritarios originales. los HERIDO transform admite el equilibrio de conjuntos de datos, incluidas características numéricas y no numéricas. Las características numéricas se interpolan por promedio ponderado. Sin embargo, no puede aplicar la interpolación de promedio ponderado a características no numéricas; es imposible promediar “dog” y “cat” por ejemplo. En su lugar, las características no numéricas se copian de cualquiera de las muestras minoritarias originales de acuerdo con el peso promedio.

Por ejemplo, considere dos muestras, A y B:

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

Suponga que las muestras se interpolan con pesos de 0.3 para la muestra A y 0.7 para la muestra B. Por lo tanto, los campos numéricos se promedian con estos pesos para producir 0.3 y 0.6, respectivamente. El siguiente campo se llena con “dog” con probabilidad 0.3 y “cow” con probabilidad 0.7. Del mismo modo, el siguiente es igual a “carnivore” con probabilidad 0.3 y “herbivore” con probabilidad 0.7. La copia aleatoria se realiza de forma independiente para cada función, por lo que el ejemplo C a continuación es un posible resultado:

C = [0.3, 0.6, "dog", "herbivore"]

Este ejemplo demuestra cómo el proceso de interpolación podría dar como resultado muestras sintéticas poco realistas, como un perro herbívoro. Esto es más común con las funciones categóricas, pero también puede ocurrir en las funciones numéricas. Aunque algunas muestras sintéticas pueden no ser realistas, SMOTE aún podría mejorar el rendimiento de la clasificación.

Para generar heurísticamente muestras más realistas, SMOTE interpola solo pares que están cerca en el espacio de características. Técnicamente, cada muestra se interpola solo con sus k vecinos más cercanos, donde un valor común para k es 5. En nuestra implementación de SMOTE, solo se usan las características numéricas para calcular las distancias entre puntos (las distancias se usan para determinar la vecindad de cada muestra). Es común normalizar las características numéricas antes de calcular las distancias. Tenga en cuenta que las características numéricas se normalizan solo con el fin de calcular la distancia; las características interpoladas resultantes no están normalizadas.

Ahora equilibremos el Conjunto de datos para adultos (también conocido como el conjunto de datos de ingresos del censo) utilizando la transformación SMOTE integrada proporcionada por Data Wrangler. Este conjunto de datos multivariado incluye seis características numéricas y ocho características de cadena. El objetivo del conjunto de datos es una tarea de clasificación binaria para predecir si los ingresos de una persona superan los 50,000 XNUMX dólares al año o no, según los datos del censo.

También puede ver la distribución de las clases visualmente creando un histograma usando el tipo de análisis de histograma en Data Wrangler. La distribución objetivo está desequilibrada y la proporción de registros con >50K a <=50K es aproximadamente 1:4.

Podemos balancear estos datos usando el HERIDO operador que se encuentra bajo el Saldo de datos transforme en Data Wrangler con los siguientes pasos:

  1. Elige income como la columna de destino.

Queremos que la distribución de esta columna sea más equilibrada.

  1. Establezca la proporción deseada en 0.66.

Por lo tanto, la relación entre el número de muestras minoritarias y mayoritarias es de 2:3 (en lugar de la relación bruta de 1:4).

  1. Elige HERIDO como la transformación a usar.
  2. Deje los valores predeterminados para Número de vecinos promediar y si se normaliza o no.
  3. Elige Vista previa para obtener una vista previa de la transformación aplicada y elija Añada para agregar la transformación a su flujo de datos.

Ahora podemos crear un nuevo histograma similar al que hicimos antes para ver la distribución realineada de las clases. La siguiente figura muestra el histograma de la income columna después de equilibrar el conjunto de datos. La distribución de muestras ahora es 3:2, como se pretendía.

Ahora podemos exportar estos nuevos datos equilibrados y entrenar un clasificador con ellos, lo que podría generar una calidad de predicción superior.

Conclusión

En esta publicación, demostramos cómo equilibrar los datos de clasificación binaria desequilibrados utilizando Data Wrangler. Data Wrangler ofrece tres operadores de equilibrio: submuestreo aleatorio, sobremuestreo aleatorio y SMOTE para reequilibrar los datos en sus conjuntos de datos desequilibrados. Los tres métodos que ofrece Data Wrangler admiten datos multimodales, incluidas características numéricas y no numéricas.

Como próximos pasos, le recomendamos que replique el ejemplo de esta publicación en su flujo de datos de Data Wrangler para ver lo que discutimos en acción. Si es nuevo en Data Wrangler o Estudio SageMaker, Referirse a Comience con Data Wrangler. Si tiene alguna pregunta relacionada con esta publicación, agréguela en la sección de comentarios.


Acerca de los autores

Yotam Elor es científico senior aplicado en Amazon SageMaker. Sus intereses de investigación están en el aprendizaje automático, particularmente para datos tabulares.

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.

Fuente: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

Sello de tiempo:

Mas de Blog de aprendizaje automático de AWS