En primer lugar, me gustaría describir algunos diseños comunes que usan los libros de minería de datos que explican cómo tratar con conjuntos de datos no balanceados . Por lo general, la sección principal se denomina Conjuntos de datos no balanceados y cubren estas dos subsecciones: Clasificación sensible al costo y Técnicas de muestreo.
Parece que frente a un problema con una clase rara puede realizar tanto la clasificación como el muestreo sensibles al costo. En cambio, creo que uno debería aplicar técnicas sensibles al costo si la clase rara también es el objetivo de la clasificación y una clasificación errónea de un registro de esa clase es costosa.
Por otro lado, las técnicas de muestreo, como el sobremuestreo y el submuestreo, son útiles si el objetivo de la clasificación es una buena precisión en general, sin centrarse en una clase en particular.
Esta creencia proviene de la lógica de MetaCost que es una forma general de hacer que un clasificador sea sensible al costo: si uno quiere hacer que un clasificador sea sensible al costo para penalizar un error de clasificación errónea de la clase rara, debe sobremuestrear la otra clase . En términos generales, el clasificador intenta adaptarse a la otra clase y se vuelve específico para la clase rara.
Esto es lo opuesto al sobremuestreo de la clase rara, esa es la forma generalmente sugerida de tratar este problema. El sobremuestreo de la clase rara o el submuestreo de la otra clase es útil para mejorar la precisión general.
Por favor, sería genial si confirmaras mis pensamientos.
Dicho esto, la pregunta común que enfrenta un conjunto de datos desequilibrado es:
¿Debo intentar obtener un conjunto de datos que cuente tantos registros raros como otros?
Mi respuesta sería, en caso de que esté buscando precisión: OK. Puede realizarlo descubriendo ejemplos de clases más raros o eliminando algunos registros de la otra clase.
En caso de que se esté enfocando en la clase rara, con una técnica sensible al costo, respondería: solo puede encontrar un ejemplo de clase más raro, pero no debe eliminar los registros de la otra clase. En el último caso, no podrá permitir que el clasificador se adapte a la otra clase, y el error de clasificación de clase rara podría aumentar.
¿Qué responderías?
Respuestas:
Es una buena pregunta Personalmente, mi respuesta sería que nunca tiene sentido tirar datos (a menos que sea por razones computacionales), ya que cuantos más datos tenga, mejor podrá ser su modelo del mundo. Por lo tanto, sugeriría que modificar la función de costo de manera apropiada para su tarea debería ser suficiente. Por ejemplo, si está interesado en una clase rara en particular, puede hacer que las clasificaciones erróneas de esta clase solo sean más caras; si está interesado en una medida equilibrada, algo como el índice de error equilibrado (el promedio de los errores en cada clase) o el coeficiente de correlación Matthews es apropiado; si solo le interesa el error de clasificación general, la pérdida tradicional de 0-1 .
Un enfoque moderno del problema es utilizar el aprendizaje activo. Por ejemplo, Hospedales et al (2011) "Encontrar clases raras: Aprendizaje activo con modelos generativos y discriminativos, Transacciones IEEE sobre conocimiento e ingeniería de datos (TKDE 2011) . Sin embargo, creo que estos enfoques son relativamente menos maduros.
fuente