Conjunto de datos desbalanceado

¿Qué tienen en común los conjuntos de datos para la detección de fraudes en la banca, o las ofertas en el tiempo real en mercadeo o la detección de intrusos en redes?

Dataset desbalanceado 1

Fácil, que los datos utilizados en estas áreas a menudo tienen menos del 1% de los eventos raros pero interesantes, por ejemplo, los estafadores que usan tarjetas de créditos, el usuario que hace clic en la publicidad o el servidor corrupto que escanea su red.

No todos los datos son perfectos y hay varios tipos de conjuntos de datos, uno de estos es un conjunto de datos desequilibrado. Este tipo de conjunto de datos siempre plantea un problema para los que trabajamos en Machine Learning, ya que la mayoría de los algoritmos son malos para manejarlos.

Un conjunto de datos desbalanceado es uno donde el número de observaciones pertenecientes aun grupo o clase es significativamente mayor que las pertenecientes a las otras clases.

Dataset desbalanceado 2

Esto ocurre en casos como la detección de fraudes con tarjetas de crédito, donde puede haber solo 1000 casos de fraude en más de un millón de transacciones, lo que representa un escaso 0,1% del conjunto de datos.

También hay un problema de métricas en la medición del rendimiento de algoritmos en conjuntos de datos desbalanceados. Si tenemos un conjunto de datos desequilibrado que contiene el 1% de una clase minoritaria y el 99% de la clase mayoritaria, un algoritmo puede predecir todos los casos como pertenecientes a la clase mayoritaria. La puntuación de precisión de este algoritmo arrojará una precisión del 99%, lo que parece impresionante, pero ¿es realmente así? La clase minoritaria es totalmente ignorada en este caso y esto puede resultar costoso en algunos problemas de clasificación, como el caso de un fraude con tarjetas de crédito, que puede costar a los individuos y empresas mucho dinero.

Dataset desbalanceado 3

Ahora que entendimos que es un dataset desequilibrado y por qué proporciona una precisión de clasificación engañosa, veamos cómo podemos solucionar esto.

Recopilar más datos

Aunque puedas pensar que es una tontería, pero la recopilación de más datos casi siempre se pasa por alto. Verifica si es posible reunir más datos para el problema, un conjunto de datos más grande podría exponer una perspectiva diferente y quizás más equilibrada de las clases.

Utilizar las métricas de evaluación correctas

La aplicación de métricas de evaluación inapropiadas para el modelo generado utilizando datos desequilibrados puede ser peligrosa. Imagina que nuestros datos de entrenamiento son como se muestra en la gráfica, si se usa la precisión para medir la bondad de un modelo, un modelo que clasifique todas las muestras de prueba en 0 tendrá una precisión excelente, 99,8%, pero obviamente, este modelo no nos proporcionará ninguna información valiosa.

En este caso se pueden aplicar otras métricas de evaluación alternativas, y que fueron explicadas con anterioridad, tales como:

Dataset desbalanceado 4

Remuestreo del conjunto de datos

Además de utilizar diferentes criterios de evaluación, también se puede trabajar para obtener diferentes conjuntos de datos. La idea principal de las clases de muestreo es aumentar las muestras de la clase minoritaria o disminuir las muestras de la clase mayoritaria. Esto se hace para obtener un saldo justo en el número de instancias para ambas clases.

Puede haber dos tipos principales de muestreo:

  • Puede agregar copias de instancias de la clase minoritaria, lo que se denomina sobremuestreo o muestreo excesivo, o
  • Puede eliminar instancias de la clase mayoritaria, lo que se denomina sub-muestreo.

Sub-muestreo aleatorio

Dataset desbalanceado 5

Al eliminar aleatoriamente instancias de la clase de la mayoría de un conjunto de datos y la asigna a la clase minoritaria, sin necesidad de rellenar el vacío creado en la clase de mayoría, se conoce como sub-muestreo aleatorio. El vacío que se crea en el conjunto de datos de la mayoría hace que el proceso sea aleatorio.

Ventajas:

Puede ayudar a mejorar el tiempo de ejecución del modelo y resolver los problemas de memoria al reducir el número de muestras de datos de entrenamiento cuando el conjunto de datos de entrenamiento es enorme.

Desventajas:

Puede descartar información útil sobre los datos en sí mismos que podría ser necesaria para crear clasificadores basados en reglas, como los bosques aleatorios.

La muestra elegida por sub-muestreo aleatorio puede ser una muestra sesgada, y no será una representación precisa de la población en ese caso. Por lo tanto, puede hacer que el clasificador se comporte mal en datos reales que no se ven.

Considera aplicar un sub-muestreo cuando tengas muchos datos.

Sobre-muestreo aleatorio

Dataset desbalanceado 6

Al igual que el sub-muestreo, también se puede realizar un sobre-muestreo aleatorio. Pero en este caso, al tomar cualquier tipo de ayuda de la clase mayoritaria, aumenta las instancias correspondientes a la clase minoritaria replicándolas hasta un grado constante. En este caso, no disminuye el número de instancias asignadas a la clase mayoritaria.

Supongamos que tiene un conjunto de datos con 1000 instancias donde 980 instancias corresponden a la clase mayoritaria y las 20 instancias restantes corresponden a la clase minoritaria. Ahora debe extraer muestras del conjunto de datos replicando las 20 instancias hasta 20 veces. Como resultado, después de realizar un sobre-muestreo, el número total de instancias en la clase minoritaria será de 400.

Ventajas:

A diferencia del sub-muestreo, este método no conduce a la pérdida de información.

Desventajas:

Aumenta la probabilidad de un exceso de equipamiento ya que replica los eventos de la clase minoritaria.

Considera aplicar un sobre-muestreo cuando no tengas muchos datos.

Esta no es una lista exclusiva de técnicas, sino un punto de partida para manejar datos desequilibrados. No existe un mejor enfoque o modelo adecuado para todos los problemas y se recomienda probar diferentes técnicas y modelos para evaluar qué funciona mejor. Debes ser creativo y combinar diferentes enfoques. También es importante tener en cuenta que, en muchos dominios, por ejemplo, la detección de fraudes, licitaciones en tiempo real, donde ocurren clases desequilibradas, las reglas del mercado cambian constantemente, por lo tanto, comprueba si los datos pasados se han vuelto obsoletos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *