
La selección correcta de características para el análisis de datos le permite:
- mejorar la calidad de los modelos de aprendizaje automático con y sin maestro,
- reducir el tiempo de entrenamiento y la potencia informática requerida,
- y en el caso de los datos de entrada de alta dimensión permite debilitar la "maldición de la dimensión".
Es necesaria una evaluación de la importancia de los atributos para interpretar los resultados del modelo.
Consideraremos los métodos existentes para seleccionar los rasgos para las tareas de enseñanza con y sin un maestro. Cada método se ilustra con una implementación de código abierto en Python para que pueda probar rápidamente los algoritmos propuestos. Sin embargo, esta no es una selección completa: en los últimos 20 años, se han creado muchos algoritmos, y aquí encontrará el más básico. Para un estudio más profundo, consulte esta
revisión .
Modelos con y sin profesora
Existen algoritmos de selección con el profesor, que le permiten determinar las características apropiadas para la mejor calidad de trabajo de las tareas de enseñanza con el profesor (por ejemplo, en problemas de clasificación y regresión). Estos algoritmos necesitan acceso a datos etiquetados. Para los datos no etiquetados, también hay una serie de métodos de selección de características que evalúan todas las características en función de diversos criterios: varianza, entropía, capacidad para mantener la similitud local, etc. Las características relevantes detectadas utilizando métodos heurísticos sin un maestro también se pueden usar en modelos con un maestro, porque pueden detectar patrones distintos de la correlación de características con la variable objetivo.
Los métodos de selección característicos generalmente se dividen en 4 categorías: filtros, envoltorios, incrustados e híbridos.
Envolturas
Con este enfoque, evaluamos la efectividad de un subconjunto de características, teniendo en cuenta el resultado final del algoritmo de aprendizaje aplicado (por ejemplo, cuál es el aumento en la precisión para resolver el problema de clasificación). En esta combinación de estrategia de búsqueda y modelado, se puede usar cualquier algoritmo de aprendizaje.

Estrategias de selección existentes:
- Selección directa (selección directa) : comenzamos con un conjunto vacío de características, y luego agregamos iterativamente características que proporcionan el mejor aumento en la calidad de los modelos.
- Selección hacia atrás : comience con un conjunto de todos los atributos, luego en cada iteración eliminamos el atributo "peor".
Implementación: estos algoritmos se implementan en el paquete
mlxtend , aquí hay
un ejemplo de uso.
- RFE (eliminación de características recursivas): un algoritmo de búsqueda "codicioso" que selecciona características mediante la definición recursiva de conjuntos de características cada vez más pequeños. Clasifica los signos según el orden en que se eliminan.
Implementación: scikit-learn
Métodos en línea
Este grupo incluye algoritmos que entrenan simultáneamente el modelo y seleccionan características. Esto generalmente se implementa usando el
regularizador l1 (
regularizador de dispersión) o una condición que limita algunos de los signos.
- SMLR (regresión logística multinomial dispersa): este algoritmo implementa la regularización l1 utilizando ARD (determinación automática de relevancia) como parte de la regresión logística multinomial clásica. La regularización determina la importancia de cada rasgo y anula aquellos que son inútiles para la predicción.
Implementación: SMLR - ARD (Regresión de determinación automática de relevancia): el modelo utiliza la regresión de cresta bayesiana. Cambia el peso de los coeficientes a cero con más fuerza, en comparación, por ejemplo, con el método de mínimos cuadrados.

ARD pone a cero el peso de algunas características, lo que ayuda a identificar dimensiones relevantes.
Implementación: scikit-learn
Otros ejemplos de algoritmos de regularización:
Lazo (implementa la regularización
l1 ),
regresión de cresta (implementa la regularización
l2 ),
Elastic Net (implementa la regularización
l1- y
l2- ). Si traza estos métodos gráficamente, puede ver que la regresión de Lasso limita los coeficientes a un área de un cuadrado, la regresión de cresta delinea un círculo y Elastic Net ocupa una posición intermedia.
https://scikit-learn.org/stable/auto_examples/linear_model/plot_sgd_penalties.htmlAquí se proporciona una descripción completa de estos algoritmos.
Filtros
Con este enfoque, evaluamos la importancia de los atributos solo en función de sus características inherentes, sin involucrar algoritmos de aprendizaje. Estos métodos son más rápidos y requieren menos recursos computacionales en comparación con los métodos de envoltura. Si no hay suficientes datos para modelar una correlación estadística entre las características, los filtros pueden producir peores resultados que los contenedores. A diferencia de los envoltorios, tales métodos son menos propensos a la reentrenamiento. Son ampliamente utilizados para trabajar con datos de alta dimensión, cuando los métodos de envoltura requieren demasiada potencia informática.
Métodos docentes
- Alivio : este método selecciona aleatoriamente muestras del conjunto de datos y actualiza la importancia de cada atributo en función de la diferencia entre la instancia seleccionada y los dos objetos más cercanos de las clases iguales y opuestas. Si hay una diferencia en los valores de la característica para los dos vecinos más cercanos de la misma clase, su importancia disminuye, y si, por el contrario, hay una diferencia entre los valores de la característica para objetos de diferentes clases, la importancia aumenta en consecuencia.
El peso del atributo disminuye si su valor difiere para los objetos más cercanos de la misma clase más que para los objetos más cercanos de diferentes clases; de lo contrario aumenta el peso.
El avanzado algoritmo ReliefF utiliza la ponderación de funciones y busca vecinos más cercanos.
Implementación: scikit-rebate , ReliefF - Puntuación de Fisher : de uso común en problemas de clasificación binaria. La relación de Fisher (FiR) se define como la distancia entre los valores promedio de los atributos para cada clase dividida por su varianza:
Implementación: función scikit , ejemplo de uso. - Puntaje de Chi cuadrado : Comprueba si hay una diferencia significativa entre las frecuencias observadas y esperadas de dos variables categóricas. Por lo tanto, se prueba la hipótesis nula de la ausencia de una conexión entre dos variables.
Criterio de independencia de chi-cuadrado .
Para aplicar correctamente el criterio de chi-cuadrado para verificar la relación entre los diferentes signos del conjunto de datos y la variable objetivo, se deben cumplir las siguientes condiciones: las variables deben ser categóricas , independientes y deben tener una frecuencia esperada de más de 5 . La última condición garantiza que la CDF (función de densidad acumulativa) del criterio estadístico (estadística de prueba) puede aproximarse utilizando la distribución de chi-cuadrado. Obtenga más información aquí .
Implementación: sklearn , scipy - CFS (selección de características basada en correlación): la justificación de este método puede formularse de la siguiente manera:
Los signos son relevantes si sus valores cambian sistemáticamente dependiendo de su pertenencia a una u otra categoría.
Por lo tanto, un buen subconjunto de características contiene aquellas características que están altamente correlacionadas con la variable objetivo, mientras que no se correlacionan entre sí. La puntuación de un subconjunto de k características se calcula de la siguiente manera :
Aqui Es el promedio de todas las correlaciones entre un rasgo y una clase, y - el valor promedio de todas las correlaciones entre características. El criterio CFS se define de la siguiente manera:
Implementación: función scikit , ejemplo de uso. - FCBF (filtro basado en correlación rápida): este método funciona más rápido y de manera más eficiente que ReliefF y CFS y, por lo tanto, se usa más comúnmente para entrada de alta dimensión. De hecho, este es un enfoque típico que tiene en cuenta la relevancia y la redundancia, en el que se calcula la primera incertidumbre simétrica para todos los atributos (información mutua entre X e YI (X, Y) dividida por la suma de sus entropías), luego los atributos se ordenan por este criterio, y entonces se elimina el exceso.
Implementación: skfeature , https://github.com/shiralkarprashant/FCBF
Métodos sin profesor
- Variación : se ha demostrado que la estimación de la variación de caracteres puede ser una forma efectiva de seleccionar rasgos. Como regla general, los signos con una dispersión casi nula no son significativos y pueden eliminarse.
Implementación: umbral de variación - Diferencia absoluta promedio : calcule la diferencia absoluta promedio entre los valores del atributo y su valor promedio ( implementación ).
Los valores más altos tienden a tener un mayor poder predictivo. - Relación de dispersión : media aritmética dividida por media geométrica. Una mayor varianza corresponde a características más relevantes ( implementación ).
Desde si y solo si se respeta la igualdad entonces:
- Puntuación laplaciana : se basa en la observación de que los datos de una clase a menudo se encuentran más cerca uno del otro, por lo que puede evaluar la importancia de una característica por su capacidad para reflejar esta proximidad. El método consiste en incrustar datos en el gráfico de vecinos más cercano midiendo una distancia arbitraria, seguido de calcular la matriz de peso. Luego, para cada característica, calculamos el criterio de Laplace y obtenemos una propiedad tal que los valores más pequeños corresponden a las dimensiones más importantes. Sin embargo, en la práctica, cuando se selecciona un subconjunto de características, generalmente se usa un algoritmo de agrupación diferente (método k-means), con el cual se selecciona el grupo más efectivo.
Implementación: scikit-feature - Criterio de Laplace en combinación con entropía basada en la distancia : el algoritmo se basa en el criterio de Laplace, donde la agrupación de k-medias se reemplaza por entropía. El algoritmo demuestra una mayor estabilidad en conjuntos de datos de alta dimensión ( implementación ).
- MCFS (Selección de características de clúster múltiple): el análisis espectral se realiza para medir la correlación entre diferentes características. Para la agrupación de datos y la evaluación de características, se utilizan vectores propios del operador laplaciano (gráfico laplaciano). Su cálculo se describe en este documento .
Implementación: https://github.com/danilkolikov/fsfc - Los algoritmos LFSBSS (Selección de características localizadas), k-medias ponderadas ( k-medias ponderadas), SPEC y Apriori se consideran aquí y se implementan en este paquete .
Métodos híbridos
Otra forma de implementar la selección de características es un híbrido de filtros y envoltorios combinados en un proceso de dos fases: primero, las características se filtran por propiedades estadísticas y luego se aplican los métodos de ajuste.
Otras fuentes
Se ha escrito una gran cantidad de literatura en la que se considera el problema de seleccionar características, y aquí solo tocamos un poco toda la gama de investigaciones científicas.
Una
lista completa
de otros algoritmos de selección de rasgos que no mencioné se implementó en el paquete
scikit-feature .
Las características relevantes también se pueden determinar usando
PLS (mínimos cuadrados parciales, como se describe en este
artículo , o usando métodos de reducción de dimensiones lineales, como se muestra
aquí .
Jet Infosystems traducido