viernes, 6 de marzo de 2015

Bagging de Cluster Compensados

Si se tiene un escenario con datos desbalanceados (como en datos de fraude, por ejemplo) donde la cantidad de casos positivos es muy poca en comparación con los negativos, es probable que los algoritmos no puedan "aprender" a clasificar correctamente los casos positivos.

Existen diferentes técnicas para balancear los datos  (ver referencia 1, 2 y 3), que en algunos casos soluciona el problema y en otros no.

La siguiente técnica es una propuesta (aun sin validar en detalle) que intenta compensar datos desbalanceados y luego crear un clasificador. Consiste en crear cluster de los casos negativos y compensarlo con la totalidad de casos positivos, para luego crear grupos de algoritmos en cada cluster que puedan "aprender" las diferencias entre los positivos y los diferentes tipos de negativos. Esto crearía diferentes algoritmos "especialistas" en cada cluster.

Esta técnica parece funcionar en escenarios desbalanceados donde el costo del error de falsos positivos es compensado con la ganancia en predicción correcta de "algunos" verdaderos positivos, y donde los algoritmos con set normales predicen cerca del 0% de verdaderos positivos.



Conceptualmente sería así:


PASO 1
Creación y compensación de cluster:























PASO 2
Bagging de cluster compensados: