Tengo características dispersas que son predictivas, también tengo algunas características densas que también son predictivas. Necesito combinar estas características para mejorar el rendimiento general del clasificador.
Ahora, cuando trato de combinar estos elementos, las características densas tienden a dominar más que las características dispersas, por lo tanto, solo proporcionan un 1% de mejora en el AUC en comparación con el modelo con solo características densas.
¿Alguien ha encontrado problemas similares? Realmente aprecio las entradas, algo atascado. Ya he probado muchos clasificadores diferentes, combinaciones de clasificadores, transformaciones de características y procesamiento con diferentes algoritmos.
Gracias de antemano por la ayuda.
Editar :
Ya he probado las sugerencias que se dan en los comentarios. Lo que he observado es que, para casi el 45% de los datos, las características dispersas funcionan muy bien, obtengo el AUC de alrededor de 0.9 con solo características dispersas, pero para las restantes, las características densas funcionan bien con AUC de alrededor de 0.75. Intenté separar estos conjuntos de datos, pero obtengo el AUC de 0.6, por lo que no puedo simplemente entrenar un modelo y decidir qué características usar.
Con respecto al fragmento de código, he probado tantas cosas que no estoy seguro de qué compartir exactamente :(
Respuestas:
Esto parece un trabajo para el análisis de componentes principales. En Scikit, PCA está bien implementado y me ayudó muchas veces.
PCA, de cierta manera, combina sus características. Al limitar el número de componentes, obtiene su modelo con datos sin ruido (en el mejor de los casos). Porque su modelo es tan bueno como sus datos.
Considere a continuación un ejemplo simple.
¿Por qué elegí 80? Cuando trazo la varianza acumulativa, obtuve esto a continuación, que me dice que con ~ 80 componentes, alcanzo casi toda la varianza.
Así que diría que lo pruebes, úsalo en tus modelos. Debería ayudar
fuente
La mejor manera de combinar características es a través de métodos de conjunto. Básicamente hay tres métodos diferentes: ensacado, refuerzo y apilamiento. Puede usar Adabbost aumentado con la selección de características (en este caso, considere características dispersas y densas) o basado en apilamiento (característica aleatoria - subespacio aleatorio). Prefiero la segunda opción: puede entrenar a un conjunto de aprendices básicos (decisiones. Árboles) mediante el uso aleatorio subconjuntos y características aleatorias (mantenga a los alumnos de la base de entrenamiento hasta que cubra todo el conjunto de características) El siguiente paso es probar el conjunto de Entrenamiento para generar los metadatos. Utilice estos metadatos para entrenar un metaclasificador. El metaclasificador determinará qué característica es más importante y qué tipo de relación debe utilizarse
fuente
Los grupos variables pueden ser multicolineales o la conversión entre disperso y denso puede salir mal. ¿Has pensado en usar un clasificador de votación / clasificación de conjunto? http://scikit-learn.org/stable/modules/ensemble.html De esa forma, podría lidiar con los dos problemas anteriores.
fuente
Además de algunas de las sugerencias anteriores, recomendaría usar un enfoque de modelado de dos pasos .
fuente
Pruebe PCA solo en funciones dispersas y combine la salida de PCA con características densas.
Por lo tanto, obtendrá un conjunto denso de características (originales) + un conjunto de características denso (que originalmente eran dispersas).
+1 para la pregunta. Por favor actualícenos con los resultados.
fuente