¿Es necesaria la selección de funciones?

11

Me gustaría ejecutar algún modelo de aprendizaje automático como bosque aleatorio, aumento de gradiente o SVM en mi conjunto de datos. Hay más de 200 variables predictoras en mi conjunto de datos y mis clases objetivo son una variable binaria.

¿Necesito ejecutar la selección de características antes de la adaptación del modelo? ¿Afecta significativamente el rendimiento del modelo o no hay mucha diferencia si ajusto directamente el modelo usando todas las variables predictoras?

LUSAQX
fuente
¿Qué tan grande es su conjunto de datos? Si tiene miles de muestras y 200 variables predictoras, hay muchas posibilidades de que con un modelo como Random Forests ya pueda lograr un rendimiento bastante alto. Una mayor selección de funciones mejorará aún más su rendimiento.
Archie
@ Archie Sí, el tamaño de mi conjunto de datos es similar al que mencionaste. 'Selección adicional de características', ¿quiere decir que debe realizar la selección de características antes del ajuste del modelo y puede favorecer el rendimiento del modelo?
LUSAQX
Quiero decir, primero probaría con todas las características, Random Forests sería un gran clasificador para empezar. Si luego quiere aumentar el rendimiento, miraría, por ejemplo, la importancia de las funciones para seleccionar las funciones más importantes.
Archie
Okay. Eso es lo que he hecho hasta ahora. Probaré algunos métodos de selección de características antes del ajuste del modelo para ver si hay alguna mejora para entonces.
LUSAQX
Una breve respuesta de mi práctica reciente, la selección de características es necesaria para la comparación del modelo. Algunos algoritmos funcionarían mejor en algún conjunto de características, mientras que otros algoritmos en otro conjunto.
LUSAQX

Respuestas:

11

La selección de funciones puede considerarse una etapa a evitar. Debe pasar tiempo de cómputo para eliminar características y, de hecho, perder datos, y los métodos que tiene que hacer para seleccionar las características no son óptimos, ya que el problema es NP-Complete . Usarlo no suena como una oferta que no puedes rechazar.

Entonces, ¿cuáles son los beneficios de usarlo?

  1. Muchas características y una baja proporción de muestras / características introducirán ruido en su conjunto de datos. En tal caso, es probable que su algoritmo de clasificación se sobreajuste y le dé una falsa sensación de buen rendimiento.
  2. Reducir la cantidad de funciones reducirá el tiempo de ejecución en las etapas posteriores. Eso a su vez le permitirá usar algoritmos de mayor complejidad, buscar más hiperparámetros o hacer más evaluaciones.
  3. Un conjunto más pequeño de características es más comprensible para los humanos. Eso le permitirá centrarse en las principales fuentes de previsibilidad y realizar una ingeniería de características más exacta. Si tendrá que explicar su modelo a un cliente, es mejor presentar un modelo con 5 características que un modelo con 200 características.

Ahora para su caso específico: le recomiendo que comience a calcular las correlaciones entre las características y el concepto. Calcular correlaciones entre todas las características también es informativo. Tenga en cuenta que hay muchos tipos de correlaciones útiles (p. Ej., Pearson , información mutua ) y muchos atributos que podrían afectarlos (p. Ej., Escasez, desequilibrio de conceptos). Examinarlos en lugar de ir ciegamente con un algoritmo de selección de características podría ahorrarle mucho tiempo en el futuro.

No creo que tenga muchos problemas de tiempo de ejecución con su conjunto de datos. Sin embargo, su proporción de muestras / características no es demasiado alta, por lo que podría beneficiarse de la selección de características.

Elija un clasificador de baja complejidad (p. Ej., Regresión lineal, un pequeño árbol de decisión) y utilícelo como punto de referencia. Pruébelo en el conjunto de datos completo y en algunos conjuntos de datos con un subconjunto de las características. Tal punto de referencia lo guiará en el uso de la selección de funciones. Necesitará dicha orientación ya que hay muchas opciones (por ejemplo, la cantidad de características para seleccionar, el algoritmo de selección de características) y dado que el objetivo suele ser la predicción y no la selección de características, por lo que la retroalimentación está al menos a un paso de distancia.

DaL
fuente
Muchas gracias. Pero para un clasificador no lineal como el bosque aleatorio, ¿también requiere que las variables predictoras sean independientes entre sí? Supongo que no, pero podría estar equivocado. ¿Cómo guía la correlación la selección de características?
LUSAQX
El bosque aleatorio es una colección de árboles que se adaptan bien a las variables dependientes. Esto se debe a que en cada nodo del árbol, el conjunto de datos está condicionado por todas las variables por encima de él. El problema es que el crecimiento del árbol es heurístico, por lo que la elección de la variable anterior podría no haber sido óptima.
DaL
La correlación solo compara pares de variables y, por lo tanto, no puede proporcionarle una imagen completa. Por otro lado, obtienes el resultado en O (n ^ 2) y no en O (2 ^ n) ... La guía suele ser específica del conjunto de datos, por lo que me resulta difícil explicarlo de esta manera. Algunos ejemplos son la eliminación de variables que son redundantes (muy correlacionadas con otras variables). Examinar la fuerza de la correlación podría indicar si puede usar un modelo pequeño o si será necesario usar muchos estudiantes débiles. Identificar un subconjunto que no esté demasiado correlacionado entre sí podría indicar que la capacitación conjunta será útil.
DaL
0

Sí, la selección de características es una de las tareas más cruciales para los problemas de aprendizaje automático, después de realizar una disputa y limpieza de datos. Aquí puede encontrar las funciones que implementan el proceso de selección de funciones utilizando la función XGBOOST.

https://github.com/abhisheksharma4194/Machine-learning

Abhishek Sharma
fuente