Selección de características vs extracción de características. ¿Cuál usar cuando?

16

La extracción de características y la selección de características esencialmente reducen la dimensionalidad de los datos, pero la extracción de características también hace que los datos sean más separables, si tengo razón.

¿Qué técnica se preferiría sobre la otra y cuándo?

Estaba pensando, dado que la selección de características no modifica los datos originales y sus propiedades, supongo que usará la selección de características cuando sea importante que las características en las que está entrenando no cambien. Pero no puedo imaginar por qué querrías algo así ...

Sid
fuente

Respuestas:

18

Agregando a La respuesta dada por Toros,

Estos (ver viñetas a continuación) tres son bastante similares pero con diferencias sutiles: :( conciso y fácil de recordar)

  • extracción de características e ingeniería de características : transformación de datos sin procesar en características adecuadas para el modelado;

  • transformación de características : transformación de datos para mejorar la precisión del algoritmo;

  • selección de funciones : eliminar funciones innecesarias.

Solo para agregar un ejemplo de lo mismo,

Extracción de características e ingeniería (podemos extraer algo de ellas)

  • Textos (ngrams, word2vec, tf-idf, etc.)
  • Imágenes (CNN'S, textos, preguntas y respuestas)
  • Datos geoespaciales (lat, largo, etc.)
  • Fecha y hora (día, mes, semana, año, basado en la rotación)
  • Series temporales, web, etc.
  • Técnicas de reducción dimensional (PCA, SVD, caras propias, etc.)
  • Quizás también podamos usar la agrupación en clústeres (DBSCAN, etc.)
  • .....(Y muchos otros)

Transformaciones de características (transformándolas para que tengan sentido)

  • Normalización y distribución cambiante (Scaling)
  • Interacciones
  • Completar los valores faltantes (relleno medio, etc.)
  • .....(Y muchos otros)

Selección de características (construir su modelo en estas características seleccionadas)

  • Enfoques estadísticos
  • Selección por modelado
  • Búsqueda de cuadrícula
  • Validación cruzada
  • .....(Y muchos otros)

Espero que esto ayude...

Mire los enlaces compartidos por otros. Son bastante agradables ...

Aditya
fuente
buena forma de responder +1 por eso.
Toros91
Felicitaciones a esta comunidad ... Aprendiendo mucho de ella ...
Aditya
1
Es cierto, hombre, he sido miembro desde octubre de 2017. He aprendido muchas cosas. Espero que sea igual para ti también. He estado leyendo sus respuestas, son buenas. Por cierto, lo siento por lo que había pasado en SO. No pude ver todo el asunto, pero como Neil Slater dijo bien, mantuviste la calma hasta el final. ¡Seguid así! Todavía tenemos un largo camino por recorrer. :)
Toros91
¿En qué orden deben procesarse? Además de la limpieza y división de datos. ¿Cuál de los 5 es el primer paso?
technazi
La división de datos se realiza al final cuando se asegura de que los datos estén listos para enviarse para Modelado ... Y, en mi opinión, no hay tal orden para las cosas mencionadas anteriormente porque se superponen varias veces (extracción de características, ingeniería de características, Transformación de características.) Pero la Selección de características seguramente se realiza después de dividir los datos en el tren como validación, siempre que esté utilizando la métrica de sus modelos o algo equivalente en un conjunto de datos de validación (para medir su rendimiento) para la Validación cruzada o algo equivalente, puede comenzar iterativamente soltar columnas y ver colsorimp de diablillo
Aditya
5

Como dijo Aditya, hay 3 términos relacionados con características que a veces se confunden entre sí. Intentaré dar una explicación resumida a cada uno de ellos:

  • Extracción de características : generación de características a partir de datos que están en un formato que es difícil de analizar directamente / no son directamente comparables (por ejemplo, imágenes, series temporales, etc.) En el ejemplo de una serie temporal, algunas características simples podrían ser para ejemplo: longitud de series de tiempo, período, valor medio, estándar, etc.
  • Transformación de características : Transformación de características existentes para crear nuevas basadas en las antiguas. Una técnica muy utilizada popularmente para la reducción de la dimensionalidad es el Análisis de Componentes Principales (pca) que utiliza alguna transformación ortogonal para producir un conjunto de variables linealmente no correlacionadas basadas en el conjunto inicial de variables.
  • Selección de características : selección de las características con la mayor "importancia" / influencia en la variable objetivo, a partir de un conjunto de características existentes. Esto se puede hacer con varias técnicas: por ejemplo, regresión lineal, árboles de decisión, cálculo de pesos de "importancia" (por ejemplo, puntaje de Fisher, ReliefF)

Si lo único que desea lograr es la reducción de la dimensionalidad en un conjunto de datos existente, puede usar la transformación de características o los métodos de selección de características. Pero si necesita conocer la interpretación física de las características que identifica como "importantes" o está tratando de limitar la cantidad de datos que deben recopilarse para su análisis (necesita todo el conjunto inicial de características para la transformación de características), entonces solo la selección de funciones puede funcionar.

Puede encontrar más detalles sobre la Selección de características y la Reducción de la dimensionalidad en los siguientes enlaces:

missrg
fuente
4

Creo que son 2 cosas diferentes,

Comencemos con la Selección de funciones :

Esta técnica se utiliza para seleccionar las características que explican la mayor parte de la variable objetivo (tiene una correlación con la variable objetivo). Esta prueba se ejecuta justo antes de que el modelo se aplique a los datos.

Para explicarlo mejor, veamos un ejemplo: hay 10 características y 1 variable objetivo, 9 características explican el 90% de la variable objetivo y 10 características juntas explican el 91% de la variable objetivo. Por lo tanto, la variable 1 no está haciendo una gran diferencia, por lo que tiende a eliminarla antes de modelar (también es subjetiva para el negocio). También se me puede llamar como Predictor Importance.

Ahora hablemos de la extracción de características ,

Que se utiliza en el aprendizaje no supervisado, extracción de contornos en imágenes, extracción de bi-gramos de un texto, extracción de fonemas de la grabación de texto hablado. Cuando no sabe nada sobre los datos, como ningún diccionario de datos, demasiadas características, lo que significa que los datos no están en un formato comprensible. Luego intente aplicar esta técnica para obtener algunas características que explican la mayor parte de los datos. La extracción de características implica una transformación de las características, que a menudo no es reversible porque parte de la información se pierde en el proceso de reducción de dimensionalidad.

Puede aplicar Extracción de características en los datos dados para extraer características y luego aplicar Selección de características con respecto a la Variable de destino para seleccionar el subconjunto que puede ayudar a hacer un buen modelo con buenos resultados.

puede pasar por estos Link-1 , Link-2 para una mejor comprensión.

podemos implementarlos en R, Python, SPSS.

avíseme si necesita más aclaraciones.

Toros91
fuente
3

Los dos son muy diferentes: la selección de características reduce las dimensiones, pero la extracción de características agrega dimensiones que se calculan a partir de otras características.

Para los datos de panel o series de tiempo, uno generalmente tiene la variable de fecha y hora, y uno no quiere entrenar la variable dependiente en la fecha en sí misma, ya que esas no ocurren en el futuro. Por lo tanto, debe eliminar el datetime: eliminación de características.

Por otro lado, el día de la semana / fin de semana puede ser muy relevante, por lo que debemos calcular el estado de la semana a partir de la fecha y hora: extracción de características.

vinnief
fuente
0

Una parte crítica del éxito de un proyecto de Machine Learning es crear un buen conjunto de características para entrenar. Este proceso, llamado ingeniería de características, implica:

• Selección de funciones: selecciona las funciones más útiles para entrenar entre las funciones existentes.
• Extracción de características: combina características existentes para producir una más útil (como vimos anteriormente, los algoritmos de reducción de dimensionalidad pueden ayudar).
• Crear nuevas funciones mediante la recopilación de nuevos datos.

Cita: "Un aprendizaje práctico con SciKit-Learn, Keras y Tensorflow - Aurelien Geron"

Aditya
fuente