Clasificación con un predictor dominante

9

Tengo un problema de clasificación ( clase ), con del orden de 100 predictores con valores reales, uno de los cuales parece tener mucho más poder explicativo que cualquiera de los otros. Me gustaría profundizar en los efectos de las otras variables. Sin embargo, las técnicas estándar de aprendizaje automático (bosques aleatorios, SVM, etc.) parecen estar inundadas por un predictor fuerte y no me dan mucha información interesante sobre los demás.k

Si se tratara de un problema de regresión, simplemente retrocedería frente al predictor fuerte y luego usaría los residuos como entradas para otros algoritmos. Sin embargo, realmente no veo cómo este enfoque se puede traducir a un contexto de clasificación.

Mi instinto es que este problema debe ser razonablemente común: ¿existe una técnica estándar para tratarlo?

Martin O'Leary
fuente

Respuestas:

2

Para problemas de 2 clases, puede usar el paquete GBM en R , que ajustará iterativamente los árboles de clasificación a los residuos de la función de pérdida. Lamentablemente, aún no admite problemas de varias clases.

Esto parece un problema que es adecuado para impulsar, pero no conozco ningún paquete de mejora que admita problemas de clase k. Creo que el problema es escribir una función de pérdida apropiada para las clases múltiples. Los glmnetpaquetes tienen una función de pérdida multinomial, tal vez pueda consultar su código fuente para algunos punteros.

Podría intentar escribir su propio algoritmo de refuerzo, o podría convertir su problema en problemas de clasificación binaria k (una clase versus todas las otras clases), ajustar un modelo gbm a cada problema y promediar las probabilidades de clase de cada modelo.

Zach
fuente
2
Zach No estoy seguro de dónde está en la estabilidad del desarrollo, pero GBM en R Forge tiene una logística multinomial como una función de pérdida que permite la clasificación de múltiples categorías.
B_Miner
¡Gracias! Estoy de acuerdo en que impulsar es probable que sea una buena manera de abordar esto, y analizaré las cosas que ha sugerido. Todavía estoy interesado en saber si hay una buena manera de abordar esto transformando el problema.
Martin O'Leary
@Zach Por favor, hágame saber cómo funciona.
B_Miner