Selección de columnas

Los conjuntos de datos modernos son muy ricos en información con datos recopilados de millones de dispositivos y sensores de IoT. Esto genera datos de gran dimensión y es bastante común ver conjuntos de datos con cientos de características y no es inusual verlos crecer hasta decenas de miles.

La selección de columnas/características es un elemento muy crítico en el flujo de trabajo de un científico de datos. Cuando se presentan datos con una dimensionalidad muy alta, los modelos suelen ahogarse porque

  1. El tiempo de entrenamiento aumenta exponencialmente con el número de funciones.
  2. Los modelos tienen un riesgo cada vez mayor de sobreajustarse con un número cada vez mayor de funciones.
  3. Los métodos de selección de características ayudan a resolver estos problemas al reducir las dimensiones sin mucha pérdida de la información total. También ayuda a dar sentido a las características y su importancia.

selección de columna

En esta página, analizo las siguientes técnicas de selección de funciones y sus características.

  1. Métodos de filtrado
  2. métodos de embalaje y
  3. Métodos integrados.

Métodos de filtrado

Los métodos de filtro tienen en cuenta la relación entre las características y la variable de destino para calcular la importancia de las características.

Prueba F

F-Test es una prueba estadística utilizada para comparar modelos y verificar si la diferencia es significativa entre los modelos.

F-Test hace un modelo de prueba de hipótesis X e Y donde X es un modelo creado solo por una constante e Y es el modelo creado por una constante y una característica.

Se comparan los errores de mínimos cuadrados en los dos modelos y se comprueba si la diferencia de errores entre los modelos X e Y es significativa o se introduce por casualidad.

F-Test es útil en la selección de características a medida que conocemos la importancia de cada característica para mejorar el modelo.

Scikit learn proporciona las mejores funciones de K utilizando F-Test.

sklearn.feature_selection.f_regresión

Para columnas de tipo de clasificación:

sklearn.feature_selection.f_classif

Hay algunas desventajas de usar F-Test para seleccionar sus características. F-Test solo verifica y captura relaciones lineales entre entidades y etiquetas. Una característica altamente correlacionada recibe una puntuación más alta y las características menos correlacionadas reciben una puntuación más baja.

  1. los correlación es muy engañoso porque no captura fuertes relaciones no lineales.
  2. Usar estadísticas crudas como la correlación puede ser una mala idea, como ilustra el cuarteto de Anscombe.

Selección de columnas Selección de columnas

Francis Anscombe ilustra cómo cuatro conjuntos de datos separados tienen la misma media, varianza y correlación para señalar que las "estadísticas resumidas" no describen completamente los conjuntos de datos y pueden ser bastante engañosas.

Información mutua

La información mutua entre dos variables mide la dependencia de una variable respecto a otra. Si X e Y son dos variables, y

  1. Si X e Y son independientes, no se puede obtener información sobre Y conociendo X o viceversa. Por lo tanto, su información mutua es 0
  2. Si X es una función determinista de Y, entonces podemos determinar X a partir de Y e Y a partir de X con información mutua 1.
  3. Cuando tenemos Y = f(X,Z,M,N), 0 < información mutua < 1

Podemos seleccionar nuestras características del espacio de características clasificando su información mutua con la variable de destino.

La ventaja de usar información mutua sobre F-Test es que funciona bien con la relación no lineal entre la función y la variable de destino.

Sklearn ofrece una selección de funcionalidades con información mutua para tareas de regresión y clasificación.

sklearn.feature_selection.mututal_info_regression 
sklearn.feature_selection.mututal_info_classif
Selección de columnas Selección de columnas
F-Test captura bien la relación lineal. La información mutua captura cualquier tipo de relación entre dos variables. http://scikit-learn.org/stable/auto_examples/feature_selection/plot_f_test_vs_mi.html
 

Umbral de varianza

Este método elimina entidades con variación por debajo de un cierto umbral.

La idea es que cuando una característica no varía mucho por sí sola, por lo general tiene muy poco poder predictivo.

sklearn.feature_selection.VarianceThreshold

El umbral de varianza no tiene en cuenta la relación de las características con la variable objetivo.

Métodos de envoltura (envoltura)

Los métodos de envoltura generan modelos con un subconjunto de funcionalidad y miden el rendimiento de sus modelos.

Hacia adelanteBúsqueda

Este método le permite encontrar la mejor función en relación con el rendimiento del modelo y agregarla a su subconjunto de funciones de una en una.

Selección de columnas Selección de columnas

Método de selección directa cuando se usa para seleccionar las mejores 3 características de 5 características, características 3, 2 y 5 como el mejor subconjunto.

Para datos con n características,

-> En la primera ronda, se crean “n” modelos con funcionalidad individual y se selecciona la mejor funcionalidad predictiva.

-> En la segunda ronda se crean modelos "n-1" con cada característica y la característica previamente seleccionada.

->Esto se repite hasta que se selecciona un mejor subconjunto de características "m".

Eliminación de características recursivas

Como sugiere el nombre, este método elimina las características de peor rendimiento en un modelo en particular, una tras otra, hasta que se conoce el mejor subconjunto de características.

Selección de columnas Selección de columnas

La eliminación recursiva elimina las características menos explicativas una tras otra. Las características 2, 3 y 5 son el mejor subconjunto de características que llegaron por eliminación recursiva.

Para datos con n características,

-> En la primera ronda, se crean modelos “n-1” con una combinación de todas las características excepto una. Se elimina la característica de peor rendimiento

-> En la segunda ronda, los modelos "n-2" se crean eliminando otra característica.

Wrapper Methods le promete un mejor conjunto de características con una extensa búsqueda codiciosa.

Pero la principal desventaja de los métodos de envoltura es la cantidad de modelos que deben entrenarse. Es muy costoso computacionalmente y poco práctico con una gran cantidad de características.

Métodos integrados

La selección de características también se puede lograr a través de la información proporcionada por algunos modelos de aprendizaje automático.

La regresión lineal LASSO se puede utilizar para selecciones de características. La regresión de Lasso se realiza agregando un término adicional a la función de costo de regresión lineal. Esto, además de evitar el sobreajuste, también reduce a cero los coeficientes de las características menos importantes.

Selección de columnas Selección de columnas

Como variamos ƛ en la función de costo, los coeficientes se han trazado en este gráfico. Observamos que para ƛ ~=0, los coeficientes de la mayoría de los rasgos tienden a cero. En el gráfico anterior, podemos ver que solo “lcavol”, “svi” y “lweight” son las características con coeficientes distintos de cero cuando ƛ = 0.4.

Los modelos basados en árboles calculan la importancia de las características porque necesitan mantener las características de mejor rendimiento lo más cerca posible de la raíz del árbol. Construir un árbol La toma de decisiones implica calcular la mejor característica predictiva.

Los árboles de decisión mantienen las características más importantes cerca de la raíz. En este árbol de decisión encontramos que el número de patas es la característica más importante, seguido de si se esconde debajo de la cama, si está delicioso, etc.

La importancia de las características en los modelos basados en árboles se calcula en función del índice de Gini, entropía o valor de chi-cuadrado.