¿Por qué necesitamos manejar el desequilibrio de datos?

12

Necesito saber por qué tenemos que lidiar con el desequilibrio de datos. Sé cómo lidiar con él y con diferentes métodos para resolver el problema, que es mediante un muestreo ascendente o descendente o mediante el uso de Smote.

Por ejemplo, si tengo una enfermedad rara, el 1 por ciento de cada 100, y digamos que decidí tener un conjunto de datos equilibrado para mi conjunto de entrenamiento, que es: 50/50 muestra Esto no hará que la máquina piense que el 50% de los pacientes tendrán ¿enfermedad? a pesar de que la proporción es 1 de 100. Entonces

  1. ¿Por qué necesitamos lidiar con el desequilibrio de datos?
  2. ¿Cuál es la proporción recomendada para establecer el equilibrio?
sara
fuente
Me gusta esa pregunta Comprender por qué es muy importante.
DaL
Vea una pregunta relacionada en stats.stackexchange.com/questions/312780/…
DaL

Respuestas:

8

Debe lidiar con un conjunto de datos desequilibrados cuando el valor de encontrar la clase minoritaria es mucho mayor que el de encontrar la mayoría.

Digamos que el 1% de la población tiene esa enfermedad rara. Suponga que asigna el mismo costo para decir que un hombre sano está enfermo o para decir que un hombre enfermo está sano. Proporcione un modelo que diga que todos son saludables, obtenga un 99% de precisión y regrese a casa temprano. El problema con este modelo es que, aunque tiene una alta precisión, probablemente no sea lo que está buscando. La mayoría de las veces desea encontrar a las personas con la enfermedad (dando mucho peso a los falsos negativos) mucho más de lo que teme enviar a una persona sana a pruebas innecesarias (bajo peso a falsos positivos). En un problema de salud del mundo real, la relación entre el peso puede ser fácilmente de 1 a 1,000.

El desequilibrio en la distribución no logra que la mayoría de los algoritmos encuentren una solución adecuada.

Tiene razón en que simplemente equilibrar la distribución no es la solución óptima. De hecho, un algoritmo que se entrena en una distribución equilibrada no se ajusta a la distribución natural en la que se evaluará. Mi método favorito es adaptarlo de nuevo, como puedes ver aquí . Para una discusión, ver aquí .

Simplemente establecer la relación con algún otro problema no funcionará, ya que tendrá el mismo problema.

Smote funciona de una manera diferente, que no funcionó tan bien cuando lo probé, pero podría ajustarse a su problema.

DaL
fuente
Entonces, como entiendo, es mejor equilibrar los datos porque la mayoría de los algoritmos funcionan bien en datos equilibrados, aunque no se ajusten a la distribución natural.
sara
¿Puede dar más detalles sobre esta oración "cuando su costo de error no se ajusta a la distribución de muestras"? No lo entendí muy bien
sara
1
Respondiendo al primer comentario: el conjunto de datos desequilibrados llevará a los algoritmos a obtener buenos resultados al devolver la mayoría. Eso será un problema si estás más interesado en la minoría. Entonces, equilibrar es una forma de forzar al algoritmo a dar más peso a la minoría. Sin embargo, una vez que haya equilibrado, la distribución del tren y la distribución de prueba son diferentes, por lo que debe adaptar su modelo a la distribución de prueba (como en el método que propuse).
DaL
Respondiendo al segundo comentario: De hecho, ese punto no estaba claro. Edité la respuesta. ¿Está claro ahora?
DaL
sí, así como entiendo que la distribución de entrenamiento y prueba debe ser la misma, entonces, ¿no será una solución que después de equilibrar mi entrenamiento establecido en una proporción de 50 50, voy y también configuro mi juego de prueba en 50 50?
sara
3
  • Respuesta corta:

necesita lidiar con el desequilibrio de clase si / porque mejora su modelo (en datos no vistos). "Mejor" es algo que debes definir a ti mismo. Podría ser precisión, podría ser un costo, podría ser la verdadera tasa positiva, etc.

  • Respuesta larga:

Hay un matiz sutil que es importante comprender cuando se habla del desequilibrio de clase. Es decir, sus datos están desequilibrados porque:

  1. la distribución de los datos está en sí misma desequilibrada

En algunos casos, una clase ocurre mucho más que otra. Y esta bien. En este caso, debe analizar si ciertos errores son más costosos que otros. Este es el ejemplo típico de detección de enfermedades mortales en pacientes, averiguar si alguien es un terrorista, etc. Esto se remonta a la respuesta breve. Si algunos errores son más costosos que otros, querrás "castigarlos" dándoles un costo más alto. Por lo tanto, un modelo mejor tendrá un costo menor. Si todos los errores son tan malos, entonces no hay una razón real por la que deba usar modelos sensibles al costo.

También es importante tener en cuenta que el uso de modelos sensibles al costo no es específico para los conjuntos de datos desequilibrados. Puede utilizar dichos modelos si sus datos también están perfectamente equilibrados.

  1. no representa la verdadera distribución de los datos

A veces, sus datos están "desequilibrados" porque no representan la verdadera distribución de los datos. En este caso, debe tener cuidado, ya que tiene "demasiados" ejemplos de una clase y "muy pocos" de la otra, y por lo tanto, debe asegurarse de que su modelo no se sobreajusta en una. de estas clases

Esto es diferente a usar costos porque podría no ser el caso de que un error sea peor que otro. Lo que sucedería es que sería parcial y no sería beneficioso para su modelo si los datos no vistos no tienen la misma distribución que los datos que entrenó.

Digamos que te doy datos de entrenamiento y tu objetivo es adivinar si algo es rojo o azul. Si confundes el azul con el rojo o el rojo con el azul no hace mucha diferencia. Sus datos de entrenamiento tienen 90% de instancias rojas en las que, en la vida real, solo ocurren el 10% del tiempo. Tendría que lidiar con eso para mejorar su modelo.

Valentin Calomme
fuente
Respuesta muy elaborada. ¿Puede explicar más con un ejemplo sobre qué quiere decir con "si su modelo es mejor porque tiene un bajo costo, entonces lidie con el desequilibrio"? ¿Por qué debería lidiar con el desequilibrio si el modelo tiene un bajo costo?
sara
Edité mi respuesta un poco, así que espero que sea más clara. Lo que quise decir fue lo siguiente: "si su modelo se considera mejor cuando tiene un bajo costo, y tratar el desequilibrio reduce el costo, entonces hágalo".
Valentin Calomme