Un enfoque para tratar el conjunto de datos desequilibrados es elegir los modelos que pueden manejar bien este tipo de conjunto de datos, como el árbol de decisión, pero ¿por qué el árbol de decisión puede manejar bien el conjunto de datos desequilibrados?
Respuestas
¿Demasiados anuncios?Los árboles de decisión no siempre manejan bien los datos desequilibrados.
Si hay una partición particular relativamente obvia de nuestro espacio muestral que contenga una alta proporción de instancias de la clase minoritaria, los árboles de decisión probablemente puedan encontrarla, pero eso está lejos de ser una certeza. Por ejemplo, si la clase minoritaria está fuertemente asociada a múltiples características que interactúan entre sí, es bastante difícil que un árbol reconozca el patrón; incluso si lo hace, probablemente será un árbol bastante profundo e inestable que será propenso a sobreajustarse; podar el árbol no resolverá inmediatamente el problema porque afectará directamente a la capacidad del árbol para utilizar esas interacciones.
Las generalizaciones de los algoritmos de árboles de decisión como los bosques aleatorios y las máquinas de refuerzo de gradiente ofrecen una alternativa mucho mejor en términos de estabilidad sin sacrificar ningún rendimiento. Del mismo modo, el uso de un GAM con un spline interactivo también puede proporcionar otra alternativa potencialmente viable.
Me gustaría añadir algo a la respuesta anterior, aunque ya es buena (+1).
Las implementaciones de árboles de decisión suelen utilizar el índice de Gini o la entropía para encontrar divisiones. Son funciones que se maximizan cuando las clases de un nodo están perfectamente equilibradas y, por tanto, recompensan las divisiones que se alejan de este equilibrio. Esto significa que las divisiones se realizan siempre asumiendo que la distribución de las clases es $1/K$ (o 50-50 en el caso binario), y esto es particularmente claro cuando las clases están MUY desequilibradas. En esos casos, como la clasificación se hace por mayoría, la mayoría de los nodos de las hojas contendrán elementos de la clase mayoritaria y el rendimiento será subóptimo.
Hay una serie de documentos que discuten este tema, pero realmente sugiero la lectura de Uso de Random Forest para aprender datos desequilibrados que propone el uso de Gini ponderado (o Entropía) para tener en cuenta la distribución de las clases, o el uso de una mezcla de submuestreo y sobremuestreo de las clases al embolsar los árboles de decisión.
De hecho, los árboles estándar no están construidos matemáticamente para lidiar particularmente bien con datos desequilibrados, y se necesitan algunos ajustes (en la votación, la división o el muestreo), que es también la razón por la que muchas implementaciones permiten el uso de pesos de clase.