Me pregunto si hay algún algoritmo (quizás algoritmos genéticos) en R para la construcción de características (derivar predictores candidatos de predictores existentes). Estoy pensando en una rutina para probar potencias de orden superior, interacciones, relaciones y combinaciones lineales y funciones no lineales de variables existentes (sin, cos, atan, etc.).
Esto podría ser una rutina de filtro o envoltura (es decir, no usar un algoritmo de aprendizaje o usar uno para definir la idoneidad de la función).
Mi objetivo es "descubrir" proporciones potencialmente significativas y similares de predictores existentes.
¡Gracias!
Respuestas:
Me parece que esto te dejaría altamente vulnerable a problemas como la correlación espuria e incluso el sobreajuste. Olvidé el nombre del principio que establece que cuantos más modelos intentes, mayor será tu riesgo de toparte con uno malo: si pruebas tantos modelos como para ejecutar un algoritmo genético, puedes imaginar cómo se viola ese principio.
fuente
Podría hacerlo así: a partir de un data.frame, agrega un conjunto 'razonable' de predictores transformados o incluso interacciones a sus datos (model.matrix y similares deberían ser capaces de lograr esto).
Una vez que esté allí, cualquier método de selección de variables podría funcionar.
glmnet
viene a la mente, pero hay muchas opciones. Una desventaja de esta forma de trabajo es que será difícil garantizar que el efecto principal esté en el modelo cuando se produce una interacción. Quizás algunas formas de selección de variables apoyan esto, pero no conozco otras obvias además de los procedimientos paso a paso (que desafiarían el propósito).fuente
Podría comenzar con algo simple como encontrar componentes principales o componentes independientes . También podría volverse un poco loco y generar todas las interacciones bidireccionales de sus variables. Obviamente, a medida que genera y prueba más características, necesita un algoritmo de selección de características que sea más robusto contra el sobreajuste.
Algunos algoritmos de modelado, como MARS , bosques aleatorios y SVM no lineales, encuentran automáticamente ciertas interacciones entre sus características originales.
fuente