¿Por qué los árboles de decisión pueden manejar datos no balanceados para la clasificación?

Mientras que los árboles de decisión y el impulso funcionan mejor con datos no balanceados. No diría que los árboles de decisión son inmunes a los conjuntos de datos no balanceados. Es posible que puedan manejarlos mejor, pero depende mucho de cómo se distribuye el 1%. Por ejemplo, si el 1% está en un área del espacio de características, funcionará bien; todos terminarán en un nodo en el árbol de decisión. Si están en 20 áreas, entonces cada área representará ~ 0.05% de los datos y el árbol de decisión lo interpretará como ruido.

La razón por la que funcionan mejor es porque su sesgo inductivo hacia los cuadros delimitadores alineados con el eje funciona mejor que el sesgo inductivo de “suavizado” de algunos alumnos (por ejemplo, Bayes ingenuos).

Impulsar lo hace aún más fuerte: básicamente, el primer clasificador podría decir “siempre 99% de clase”. Pero en la segunda ronda, por ejemplo, el refuerzo adaptativo, la clase del 99% se volverá a ponderar para que sea del 50%, lo que alentará al segundo árbol a inclinarse hacia la clase del 1%.

En mi experiencia, los árboles de decisión no modificados son realmente peores para manejar el desequilibrio de clase. Se necesita menos de 1: 100 de desequilibrio para convertir un bosque aleatorio en un predictor de clase trivial más común. Esto es consistente con un estudio de Nina Zumel. Sin embargo, el refuerzo ayuda a mitigar este problema, ya que cada nuevo clasificador en el conjunto se centra más en los errores residuales del conjunto entrenado hasta ahora. Sin embargo, sospecho que esto aún puede no ser óptimo.

El desequilibrio de clase generalmente se puede abordar submuestreando la clase común o sopesando las instancias de entrenamiento para compensar. En mi experiencia, volver a pesar no funciona bien con algoritmos basados ​​en árboles, aunque funciona bien con clasificadores lineales.

Una técnica que he encontrado muy efectiva con los conjuntos de árboles es usar todo el conjunto de datos no balanceados para entrenar el conjunto, pero subestimar la clase común para presentar muestras balanceadas a estudiantes individuales como se describe en otras respuestas:

  • La respuesta de Daniel Mahler a ¿Cómo debo manejar los datos desequilibrados mientras uso randomForest en R?
  • ¿Cómo usar classwt en randomForest of R?

Aquí hay algunos buenos artículos sobre el aprendizaje con datos desequilibrados:

  • Aprendiendo de clases desequilibradas – Silicon Valley Data Science
  • ¿Las clases de equilibrio mejoran el rendimiento del clasificador?

Según mi experiencia, el árbol Random Forest es mucho mejor para manejar datos desequilibrados para la clasificación que los árboles de decisión. El árbol Random Forest creará muchos árboles poco profundos con un subconjunto de predictores. Los predictores que ayudan a predecir un resultado tenderán a quedarse, mientras que otros tendrán menos peso en la decisión. Estos son algunos de mis resultados usando el proceso creativo de bosque aleatorio de mapeo mental invertido.