Una de las metodologías para seleccionar un subconjunto de sus funciones disponibles para su clasificador es clasificarlas de acuerdo con un criterio (como la ganancia de información) y luego calcular la precisión utilizando su clasificador y un subconjunto de las características clasificadas.
Por ejemplo, si sus características son A, B, C, D, E
, y si están clasificadas de la siguiente manera D,B,C,E,A
, entonces calcula la precisión utilizando D
, D, B
luego D, B, C
, entonces D, B, C, E
... hasta que su precisión comience a disminuir. Una vez que comienza a disminuir, deja de agregar funciones.
En el ejemplo 1 (arriba), elegiría características F, C, D, A
y soltaría las otras características a medida que disminuyan su precisión.
Esa metodología supone que agregar más funciones a su modelo aumenta la precisión de su clasificador hasta cierto punto después del cual agregar funciones adicionales disminuye la precisión (como se ve en el ejemplo 1)
Sin embargo, mi situación es diferente. He aplicado la metodología descrita anteriormente y descubrí que agregar más funciones disminuyó la precisión hasta un punto después del cual aumenta.
En un escenario como este, ¿cómo elige sus características? ¿Solo recoges F
y sueltas el resto? ¿Tienes alguna idea de por qué la precisión disminuiría y luego aumentaría?
fuente
Sobre la pregunta específica
No debe esperar un comportamiento específico (aumentar y luego disminuir la precisión) mientras selecciona un subconjunto de características, ya que esto dependerá totalmente del problema (y de cada modelo)
Cuando calcula la importancia variable de las características, tiene en cuenta la contribución de todas las características al mismo tiempo. Una vez que seleccione un subconjunto de características y cree un nuevo modelo, obtendrá una representación o modelo diferente del problema (que no tiene en cuenta las otras características, informativas o no).
Ahora, desea seleccionar la mejor cantidad de funciones. Esto también dependerá de su problema y de las características o condiciones que deba cumplir. Si realmente necesita tener la menor cantidad de características posibles mientras optimiza la precisión de la predicción, puede seleccionar la menor cantidad de características que logre el menor error ... y, si tiene diferentes casos con errores muy similares, elija un umbral, observe el casos principales cuya diferencia de errores por pares es inferior al umbral, y seleccione uno (por ejemplo, el que tiene un menor número de características, ya que los errores son marginalmente iguales).
Considere la eliminación de funciones recursivas
El método que está utilizando podría no ser el enfoque más estable. Debería considerar intentar algo como la eliminación recursiva de características (RFE), un método de envoltura donde construye el clasificador, clasifica todas las características, elimina las peores y reconstruye el modelo en las características restantes. Luego repites el método nuevamente. Esto tenderá a ser más estable ... y debe esperar una clasificación diferente cada vez.
La varianza también es un factor crítico
Más allá del error real (o precisión) que el modelo le está dando con cada subconjunto, debe considerar construir cada modelo a través de un procedimiento de validación cruzada y tener en cuenta tanto el error medio de los pliegues como la desviación estándar de estos errores. Si la desviación estándar es alta, entonces el subconjunto seleccionado de características no es estable y tenderá a variar mucho cuando se pruebe con datos no vistos. Esto es importante para evaluar las capacidades de generalización esperadas del modelo, y podría ser útil para decidir entre modelos (construidos con diferentes subconjuntos).
fuente
Debe eliminar las funciones redundantes e irrelevantes de su conjunto de datos. Se puede ver que hay características irrelevantes y redundantes en su conjunto de datos.
Le recomiendo que mire el algoritmo de selección de características de relevancia mínima de redundancia mínima (MRMR). Es un filtro muy popular y potente antes de entrenar al modelo.
"Sin embargo, mi situación es diferente. He aplicado la metodología descrita anteriormente y descubrí que agregar más funciones disminuyó la precisión hasta un punto después del cual aumenta".
También es posible, pero esto conducirá a un modelo más complejo.
fuente
Generalmente hay tres clases de algoritmos de selección de características.
Filtra los métodos que analizan las propiedades intrínsecas de los datos y asignan una puntuación a cada característica, sin involucrar ningún modelo. Algunos ejemplos son cambio de pliegue, prueba t de Student.
Métodos de envoltura que seleccionan diferentes subconjuntos de características a través de algoritmos específicos. Luego encajamos en el modelo de clasificación o regresión para evaluar cada selección y elegir la que tenga el mejor valor de condición física. Algunos ejemplos son Algoritmo genético para la selección de características, optimización de Monte Carlo para la selección de características, selección gradual hacia adelante / atrás.
Métodos integrados que permiten que el modelo mismo elija las características que mejor contribuyen a la aptitud del modelo. Los típicos son LASSO, regresión de cresta.
Aquí hay un gran artículo en detalles de introducción a la selección de funciones .
fuente