Para la tarea de modelado de abandono que estaba considerando:
- Calcule k grupos para los datos
- Construya k modelos para cada grupo individualmente.
La razón de esto es que no hay nada que demostrar, que la población de subsistemas es homogénea, por lo que es razonable suponer que el proceso de generación de datos puede ser diferente para diferentes "grupos".
Mi pregunta es, ¿es un método apropiado? ¿Viola algo o se considera malo por alguna razón? Si es así, ¿por qué?
Si no, ¿compartiría algunas de las mejores prácticas sobre ese tema? Y lo segundo: ¿es generalmente mejor o peor hacer preclustering que el árbol modelo? idk si tiene alguna ventaja sobre la agrupación "normal".
Dos puntos que son demasiado largos para ser un comentario:
los grupos puros (es decir, que contienen casos de una sola clase) no son un problema per se: los llamados clasificadores de una clase modelan cada clase independientemente de todas las demás. Pueden lidiar perfectamente con esto.
Sin embargo, si los grupos de datos de una manera que las clases están bastante separadas, es decir, los grupos son bastante puros, esto significa que existe una estructura muy fuerte, una estructura que el análisis de grupos puede encontrar sin la guía de las etiquetas de clase. Esto significa que ciertos tipos de clasificadores, como los métodos vecinos más cercanos basados en la misma medida de distancia utilizada por el análisis de conglomerados, son apropiados para los datos.
La otra posibilidad, situaciones en las que los grupos no son puros, pero una combinación de métodos de agrupación y clasificación puede funcionar bien es apropiada para los árboles. El árbol hará la parte de la agrupación (y los nodos puros no se consideran un problema). Aquí hay un ejemplo artificial, una versión de 2 agrupaciones del problema XOR:
Otra forma de incluir la información del clúster sin correr el riesgo de tener clústeres puros sería usar el clúster como un paso de generación de características: agregar el resultado del análisis de clúster como nuevas variantes a la matriz de datos.
Usted pregunta si es malo por alguna razón: una trampa es que este enfoque conduce a modelos con muchos grados de libertad. Tendrás que tener especial cuidado de no sobreajustar.
Eche un vistazo a los árboles basados en modelos, por ejemplo, la respuesta de mbq aquí . Creo que implementan un concepto muy cercano al que usted busca. También se pueden implementar como bosque: por ejemplo, paquete R mobForest .
fuente
Estoy lidiando con un problema similar en estos días. Tengo cientos de características para construir clasificador. Después de probar diferentes modelos (p. Ej., Bosques aleatorios, aumento de gradiente, etc.), aún obtuve baja precisión / recuperación. Así que estoy tratando de agrupar y luego crear clasificadores en diferentes grupos. Mi preocupación es, como dice Anony-Mousse, ¿cómo puedo obtener más información del clasificador si uso toda la información en el agrupamiento? Entonces, esto es lo que haré a continuación:
Creo que también puede ayudar a reducir la complejidad, deseo que ayude.
fuente
Alternativamente, en un entorno discriminatorio, uno podría intentar incorporar asignaciones de clúster (duras o suaves) como una característica para entrenar el algoritmo de clasificación de elección (por ejemplo, NB, ANN, SVM, RF, etc.)
fuente
Bueno, si tus clústeres son realmente buenos, tus clasificadores serán basura. Porque no tienen suficiente diversión en sus datos de entrenamiento.
Digamos que sus grupos son perfectos, es decir, puros. Ya ni siquiera puedes entrenar adecuadamente un clasificador allí. ¡Los clasificadores necesitan ejemplos positivos y negativos!
Random Forest tienen mucho éxito en hacer exactamente lo contrario. Toman una muestra aleatoria de los datos, entrenan a un clasificador en eso y luego usan todos los clasificadores entrenados.
Lo que podría funcionar es usar el agrupamiento, y luego entrenar a un clasificador en cada par de grupos, al menos si no están de acuerdo lo suficiente (si una clase se divide en dos grupos, ¡todavía no puede entrenar un clasificador allí!)
fuente