Glosario

Ingeniería de funciones

Aumenta la precisión del aprendizaje automático con la ingeniería experta de características. Aprende técnicas para crear, transformar y seleccionar características impactantes.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La ingeniería de características es el proceso crucial de seleccionar, transformar y crear características a partir de datos brutos para hacerlos más adecuados para los modelos de Aprendizaje Automático (AM). Implica utilizar el conocimiento del dominio y las técnicas de análisis de datos para elaborar entradas que representen mejor el problema subyacente, mejorando en última instancia el rendimiento, la precisión y la interpretabilidad del modelo. Piensa en ello como si prepararas los mejores ingredientes para una receta; incluso el chef (o modelo) más hábil tiene problemas con los ingredientes de mala calidad(datos de entrenamiento). Este paso suele considerarse una de las partes más críticas y que más tiempo consumen del flujo de trabajo del ML.

¿Por qué es importante la ingeniería de funciones?

Los datos brutos recogidos del mundo real rara vez están listos para su uso directo en algoritmos de ML. Pueden contener valores que faltan, incoherencias, información irrelevante, o estar en formatos inadecuados para el consumo del modelo (como texto o datos categóricos). La ingeniería de rasgos aborda estos problemas

  • Mejorar el rendimiento del modelo: Las características bien diseñadas resaltan los patrones relevantes para el problema, lo que facilita que los modelos aprendan y generalicen.
  • Reducción de la complejidad: Puede simplificar los modelos proporcionando entradas más informativas, reduciendo a veces la necesidad de arquitecturas o algoritmos de detección de objetos muy complejos.
  • Manejo de diversos tipos de datos: Proporciona métodos para convertir diversos tipos de datos (texto, imágenes, categóricos) en representaciones numéricas que entiendan los algoritmos. Para leer más, explora las técnicas de preprocesamiento de datos.
  • Mejorar la interpretabilidad: Las características significativas a veces pueden facilitar la comprensión de por qué un modelo hace determinadas predicciones, contribuyendo a la IA Explicable (XAI).

Técnicas comunes de ingeniería de rasgos

Varias técnicas se engloban bajo el paraguas de la ingeniería de características:

  • Imputación: Tratamiento de los datos que faltan rellenando los huecos con valores estimados (p. ej., media, mediana o métodos más sofisticados). El tratamiento de los datos que faltan es un primer paso habitual.
  • Escalado y normalización: Ajuste del rango o distribución de las características numéricas (por ejemplo, escalado Mín-Máx, normalización de la puntuación Z) para evitar que las características con valores más grandes dominen el proceso de aprendizaje.
  • Codificación de variables categóricas: Conversión de datos no numéricos (como las categorías "rojo", "verde", "azul") en formatos numéricos (p. ej., codificación de una variable, codificación de etiquetas). Ver codificación de datos categóricos.
  • Creación de características (generación): Derivación de nuevas características a partir de las existentes, basándose en el conocimiento del dominio o en el análisis de interacciones (por ejemplo, crear "edad" a partir de "fecha_de_nacimiento", combinar "altura" y "peso" en "IMC", o extraer características de texto utilizando TF).
  • Binning (Discretización): Agrupación de datos numéricos continuos en intervalos discretos.
  • Transformación logarítmica: Aplicar una transformación logarítmica para manejar distribuciones de datos sesgadas. Explora las transformaciones de datos para más detalles.
  • Selección de características: Identificar y conservar sólo las características más relevantes, descartando las redundantes o irrelevantes para simplificar el modelo y mejorar potencialmente el rendimiento. Esto está estrechamente relacionado con la reducción de la dimensionalidad.

Ingeniería de rasgos vs. Extracción de rasgos

Aunque a menudo se utilizan indistintamente, la ingeniería de rasgos y la extracción de rasgos tienen matices distintos.

  • Ingeniería de rasgos: Un proceso más amplio que incluye la extracción de características, pero que también implica crear manualmente nuevas características, transformar las existentes basándose en la experiencia del dominio y seleccionar las mejores características. A menudo requiere creatividad y un profundo conocimiento de los datos y el problema.
  • Extracción de características: Se centra específicamente en la transformación automática de datos brutos, a menudo de alta dimensión (como imágenes o lecturas brutas de sensores), en un conjunto de características de menor dimensión y más manejables. Técnicas como el Análisis de Componentes Principales (ACP) o el aprendizaje automático de características realizado por capas en las Redes Neuronales Convolucionales (RNC) son ejemplos de extracción de características.

En esencia, la extracción de rasgos suele ser una herramienta utilizada dentro del proceso más amplio de ingeniería de rasgos.

Aplicaciones en el mundo real

  1. Mantenimiento Predictivo: En la fabricación, los datos brutos de los sensores (vibración, temperatura, presión) de las máquinas pueden ser ruidosos y de alta dimensión. La ingeniería de características podría implicar el cálculo de medias móviles, desviaciones estándar en ventanas de tiempo, características del dominio de la frecuencia (como la FFT), o la creación de características que indiquen picos o cambios repentinos. Estas características de ingeniería facilitan a un modelo ML la predicción de posibles fallos del equipo antes de que se produzcan, como se expone en La IA en la fabricación.
  2. Predicción del abandono de clientes: Para predecir qué clientes podrían dejar de utilizar un servicio, los datos brutos incluyen registros de uso, datos demográficos, historial de tickets de soporte y registros de compra. La ingeniería de características podría implicar la creación de características como la "duración media de la sesión", el "tiempo transcurrido desde la última compra", el "número de solicitudes de asistencia en el último mes", la "relación entre opiniones positivas y negativas" o el "valor del ciclo de vida del cliente". Estas características derivadas proporcionan señales más ricas para predecir la pérdida de clientes en comparación con los registros sin procesar. Esto es relevante para la IA en las finanzas y el comercio minorista.

Ingeniería de características y Ultralytics

Mientras que los modelos avanzados como Ultralytics YOLO destacan en tareas como la detección de objetos y la segmentación de imágenes mediante el aprendizaje automático de características visuales relevantes a través de sus arquitecturas de redes neuronales profundas(columna vertebral, cuello, cabeza), los principios de ingeniería de características siguen siendo relevantes. Por ejemplo, el preprocesamiento de las imágenes de entrada (por ejemplo, ecualización del histograma para variar la iluminación, reducción del ruido utilizando bibliotecas como OpenCV, o aplicando aumentos de datos específicos adaptados al dominio del problema) antes de introducirlas en un modelo YOLO es una forma de ingeniería de características que puede mejorar la solidez y el rendimiento del modelo. Además, los resultados de YOLO (como las coordenadas del cuadro delimitador, las clases de objetos, los recuentos) pueden convertirse en características para tareas posteriores o combinarse con otras fuentes de datos para análisis más complejos, quizás gestionados dentro de plataformas como Ultralytics HUB, que ayuda a organizar conjuntos de datos y modelos. Explora la documentación y los tutoriales de Ultralytics para obtener más información sobre el uso de modelos, el entrenamiento personalizado y el preprocesamiento de datos anotados. Herramientas como Featuretools también pueden ayudar a automatizar partes del proceso de ingeniería de características, alineándose con los conceptos del Aprendizaje Automático de Máquinas (AutoML). La ingeniería de características eficaz, incluso junto con potentes modelos de aprendizaje profundo, sigue siendo un aspecto clave de las prácticas MLOps de éxito.

Leer todo