Intento crear un modelo para predecir la rotación en el sector de los seguros. El objetivo es "predecir la probabilidad de que cada miembro se dé de baja el próximo mes". He creado un conjunto de datos de una fila por miembro y por mes en el que cada miembro tiene una fila por cada mes que ha estado activo, la información demográfica durante ese mes, la información del hogar, los siniestros realizados ese mes, las primas pagadas y las llamadas realizadas al centro de contacto de clientes. A continuación se muestra un ejemplo de cómo podría ser el conjunto de datos
Id Año Mes product.x product.y claim prem calls
x 2017 8 1 0 250 180 1
x 2017 9 1 0 270 180 0
x 2017 10 1 0 0 180 0
x 2017 11 1 0 250 180 0
Ahora a la pregunta: El conjunto de datos de prueba son los miembros activos a finales de este mes. El conjunto de datos de entrenamiento es el resto de los datos, que también tiene los mismos miembros + algunos miembros que cambiaron. Dado que los miembros del conjunto de datos de prueba también están presentes en el conjunto de datos de entrenamiento sin ninguna variación entre meses (en el sector de los seguros, no hay grandes cambios en la actividad de los individuos a lo largo de los meses. pagan la misma prima que el mes pasado, la mayoría compran medicamentos regularmente, por lo que las reclamaciones regulares y los datos demográficos cambian raramente), el modelo siempre da como resultado que todos los miembros estarán activos.
¿Cómo puedo resolver esta cuestión? ¿Estoy cometiendo un error en la división del conjunto de datos?
Cualquier idea será muy apreciada
actualización para mkl:
tienes razón. los datos están lejos de ser perfectos. pero lo estamos consiguiendo al incorporar más variables. Actualmente, he probado lo siguiente - Realicé una validación cruzada de k pliegues en todo el conjunto de datos con el aprendiz de conjunto de árboles y el bosque aleatorio (predice que todos los clientes son activos. Puntuación kappa cero) - Realicé una división en el conjunto de datos de una fila por miembro y por mes de tal manera que tengo un conjunto de datos de prueba designado que consiste en todos los miembros que están activos al principio del mes. El resto es el conjunto de datos de entrenamiento. Así pues, el conjunto de datos de formación contiene los miembros denominados y cada miembro tiene varias filas por cada mes hasta que terminan. Ahora, el conjunto de datos de entrenamiento es bastante pequeño (los miembros dados de baja en un año son muy pocos comparados con los miembros activos en el conjunto de datos de entrenamiento). Hice un sobremuestreo de los datos de entrenamiento y utilicé el GBM. Todavía no hay resultados