13 votos

Embolsado con sobremuestreo para el caso poco frecuente de modelos predictivos

¿Alguien sabe si el siguiente se ha descrito y (de cualquier manera) si suena como un posible método para el aprendizaje de un modelo predictivo con una muy desequilibrado variable de destino?

A menudo en las aplicaciones de CRM de minería de datos, vamos a buscar un modelo en el que el evento positivo (éxito) es muy poco frecuente en relación a la mayoría (clase negativa). Por ejemplo, puedo tener 500,000 casos donde sólo el 0,1% de los positivos de la clase de interés (por ejemplo, el cliente compró). Así, con el fin de crear un modelo de predicción, es un método para el muestreo de los datos por el cual usted puede mantener todas positivo instancias de clase y sólo una muestra de la negativa de las instancias de una clase, de modo que la proporción de positivo a la negativa de la clase es más cercano a 1 (tal vez de un 25% a 75% de positivo a negativo). Durante el muestreo, con submuestreo, HIRIÓ etc, son todos los métodos en la literatura.

Lo que tengo curiosidad por saber es la combinación de los básicos de la estrategia de muestreo anterior pero con el embolsado de la clase negativa.Algo simplemente como:

  • Mantener todo positivo instancias de la clase (por ejemplo, 1,000)
  • Muestra el negativo de la classe instancias con el fin de crear un equilibrio de la muestra (por ejemplo, de 1.000).
  • Ajuste el modelo
  • Repita

Alguien oye de hacer esto antes? El problema parece sin embolsado es que el muestreo de sólo 1.000 instancias de la clase negativa cuando hay 500,000 es que el predictor espacio será escasa y puede que además de no tener una representación de un posible predictor de valores y patrones. Embolsado parece ayudar a esto.

Miré a rpart y nada "rompe" cuando una de las muestras de no tener todos los valores de un predictor (no se rompe cuando, a continuación, la predicción de los casos con los valores predictores:

library(rpart)
tree<-rpart(skips ~ PadType,data=solder[solder$PadType !='D6',], method="anova")
predict(tree,newdata=subset(solder,PadType =='D6'))

Los pensamientos?

ACTUALIZACIÓN: Me llevó a un mundo real del conjunto de datos (marketing de respuesta directa por correo) y datos al azar con particiones en el entrenamiento y validación. Hay 618 predictores y 1 binario de destino (muy raro).

Training:
Total Cases: 167,923
Cases with Y=1: 521

Validation:
Total Cases: 141,755
Cases with Y=1: 410

Tomé todos los ejemplos positivos (521) del conjunto de entrenamiento y una muestra aleatoria de ejemplos negativos del mismo tamaño para un equilibrado de la muestra. Me cabe una rpart árbol:

models[[length(models)+1]]<-rpart(Y~.,data=trainSample,method="class")

He repetido este proceso 100 veces. Entonces la predicción de la probabilidad de que Y=1 en el caso de la validación de la muestra para cada uno de estos 100 modelos. Yo simplemente promedio de los 100 probabilidades para una estimación final. Yo deciled las probabilidades en el conjunto de validación, y en cada decil calculó el porcentaje de casos donde Y=1 (el método tradicional para calcular el ranking de la capacidad del modelo).

Result$decile<-as.numeric(cut(Result[,"Score"],breaks=10,labels=1:10)) 

Aquí es el rendimiento: enter image description here

Para ver cómo esto se compara con ninguna de embolsado, me predijo la validación de la muestra con la primera muestra sólo (todos los casos positivos y una muestra al azar del mismo tamaño). Claramente, los datos de la muestra era demasiado escasa o overfit para ser eficaz en la retención de validación de la muestra.

Lo que sugiere la eficacia de la embolsado de rutina cuando hay un evento poco frecuente y de gran tamaño n y p.

enter image description here

7voto

Shawn Anderson Puntos 482

Excepto por la inclusión de la misma positivos ejemplos de la clase en cada bolsa es de S^3Bagging como se describe en S^3Bagging: Rápido Clasificador Método de Inducción con Submuestreo y Embolsado. (No he revisado este documento en profundidad, desnatada).

Yo no veo nada, teóricamente mal con su enfoque, a pesar de haber mucha más frecuencia de lo visto submuestreo combinado con el impulso de embolsado.

Esto puede que no sea exactamente la dirección de tu pregunta, pero un excelente papel en diferentes formas de lidiar con el desequilibrio de datos es el Aprendizaje De Desequilibrio de Datos. Se las costuras como de los costos de aprendizaje puede ser más apropiado en su caso. Ya que usted está utilizando la Decisión de los Bosques, la Sección 3.2.3 Sensibles a los Costos de Árboles de Decisión probablemente sería útil. Que los estados,

En lo que respecta a los árboles de decisión, sensibles a los costos de ajuste puede tomar tres formas: en primer lugar, sensibles a los costos de los ajustes se pueden aplicar a la los umbrales de decisión; segundo, sensibles a los costos de consideraciones puede ser dado a la división de criterios en cada nodo; y, por último, sensibles a los costes de poda los esquemas pueden ser aplicados para el árbol

Los costos de los ajustes de los umbrales de decisión significa, básicamente, recogiendo su decisión umbral basado en el ROC o Precision-Recall de la Curva de rendimiento. El PRC de rendimiento, en particular, es robusto al desequilibrio de datos.

Costo sensibles a la división de criterios para cambiar su impureza función para lidiar con el desequilibrio de datos. El mencionado papel de los estados,

En [63], tres específicos de la impureza de las funciones, de Gini, la Entropía, y DKM, se muestra han mejorado costo insensibilidad en comparación con la precisión/error la tasa de referencia. Además, estos experimentos empíricos también mostró que utilizando el DKM función generalmente producido pequeños unpruned decisión los árboles que en el peor proporciona una precisión comparable a la de Gini y La entropía. Una detallada base teórica que explique las conclusiones de estos resultados empíricos se estableció posteriormente en [49], que generaliza los efectos de la decisión crecimiento de los árboles, para cualquier elección de escupir criterios.

En cuanto a la poda,

Sin embargo, en la presencia de desequilibrio de datos, la poda de los procedimientos tienden para quitar las hojas que describe el concepto de minoría. Se ha demostrado que a pesar de la poda de árboles inducida a partir de desequilibrio de datos puede obstaculizar rendimiento, el uso de unpruned árboles en tales casos no mejora el rendimiento [23]. Como resultado, se ha prestado atención a la mejora de la la clase de probabilidad estimación en cada nodo para desarrollar más representante de árbol de decisión estructuras que la poda puede ser se aplica con efectos positivos. Algunas obras representativas incluyen la Laplace método de suavización de la probabilidad y la estimación de Laplace la poda técnica [49].

[23] N. Japkowicz y S. Esteban, "La Clase de Problema de Desequilibrio: Un Estudio Sistemático," Inteligente Análisis de Datos, vol. 6, no. 5, p 429- 449, 2002.

[49] C. Elkan, "Los Fundamentos de Sensibles a los Costos de Aprendizaje," Proc. Int'l Conjunto Conf. La Inteligencia Artificial, pp 973-978, 2001.

[63] C. Drummond y de hormigón armado Holte, "la Explotación de los Costos (En)la Sensibilidad de Árbol de Decisión los Criterios de División," Proc. Int'l Conf. Aprendizaje de máquina, pp 239-246, 2000.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X