La ingeniería de características es el proceso crítico de seleccionar, transformar y crear características (variables de entrada) a partir de datos brutos para mejorar el rendimiento de los modelos de aprendizaje automático (ML). Se considera más un arte que una ciencia estricta, y a menudo requiere conocimientos especializados, intuición y experimentación. La calidad de las características introducidas en un modelo influye directamente en su capacidad para aprender patrones y hacer predicciones precisas, por lo que la ingeniería de características es una piedra angular del éxito de los proyectos de ML. Unas características mejores pueden dar lugar a modelos más sencillos, tiempos de entrenamiento más rápidos y una mayor precisión.
¿Qué es la ingeniería de funciones?
En esencia, la ingeniería de características traduce los datos brutos, a menudo desordenados, a un formato estructurado que los algoritmos puedan entender y del que puedan aprender eficazmente. Esto implica comprender los datos, el contexto del problema y el modelo de ML elegido. El objetivo es crear características de entrada que sean informativas, discriminatorias e independientes, destacando los patrones subyacentes relevantes para la tarea de predicción. Este proceso tiende un puente entre la recogida de datos brutos y el entrenamiento del modelo, influyendo significativamente en el resultado del proceso de aprendizaje automático.
Técnicas clave
En la ingeniería de rasgos se emplean varias técnicas, a menudo combinadas:
- Creación de características: Generar nuevas características combinando o transformando las existentes. Los ejemplos incluyen la creación de términos de interacción (por ejemplo, multiplicar dos variables), características polinómicas, o derivar métricas específicas del dominio (como la relación deuda-ingresos en finanzas).
- Transformación de características: Modificación de las características existentes para cumplir los supuestos del modelo o mejorar el rendimiento. Entre los métodos habituales se incluyen el escalado (como la Normalización), la transformación logarítmica para datos sesgados, o la división de variables continuas en categorías. En visión por ordenador (VC), técnicas como el Aumento de Datos también pueden considerarse una forma de transformación de características aplicada a los datos de imagen.
- Extracción de características: Creación de un conjunto más pequeño de características nuevas y más informativas a partir del conjunto original, que suele utilizarse para reducir la dimensionalidad. Técnicas como el Análisis de Componentes Principales (ACP ) entran en esta categoría. Aunque está relacionada con la selección de características, la extracción crea características nuevas, mientras que la selección elige un subconjunto de características existentes.
- Selección de características: Identificar y seleccionar las características más relevantes del conjunto de datos original, descartando las irrelevantes o redundantes. Esto ayuda a reducir la complejidad del modelo, evitar el sobreajuste y mejorar la eficiencia computacional. Los métodos van desde el simple análisis de correlación a métodos más complejos de envoltura e incrustación.
Ejemplos reales
La ingeniería de rasgos es omnipresente en diversas aplicaciones de IA:
- Mantenimiento predictivo: Para predecir el fallo de un equipo, los datos brutos de los sensores (temperatura, vibración, presión) pueden ser ruidosos y muy dimensionales. La ingeniería de rasgos podría implicar la creación de rasgos como medias móviles, desviaciones estándar en ventanas de tiempo, componentes de frecuencia de los datos de vibración (mediante Transformadas de Fourier), o tiempo transcurrido desde el último evento de mantenimiento. Estas características de ingeniería proporcionan señales más claras para los modelos de predicción de fallos. Esto es crucial en la IA en la Fabricación.
- Procesamiento del Lenguaje Natural (PLN): Para tareas como el análisis de sentimientos, el texto en bruto necesita transformación. La ingeniería de características podría implicar la creación de vectores TF(Term Frequency-Inverse Document Frequency), recuentos de palabras, n-gramas (secuencias de palabras), puntuaciones de legibilidad o la extracción de características lingüísticas específicas (por ejemplo, uso de palabras positivas/negativas). Aunque los modelos transformadores modernos aprenden representaciones automáticamente, la ingeniería explícita de características puede seguir mejorando el rendimiento, especialmente con conjuntos de datos más pequeños o tareas especializadas.
Ingeniería de funciones frente a conceptos relacionados
- Preprocesamiento de datos: Una categoría más amplia que incluye la ingeniería de características, la limpieza de datos, el tratamiento de los valores perdidos y el formateo inicial de los datos. La ingeniería de características se centra específicamente en optimizar las variables de entrada para el modelo. Consulta la guía de Ultralytics sobre Preprocesamiento de datos anotados.
- Extracción de características en el Aprendizaje Profundo: Los modelos de Aprendizaje Profundo (AD ), especialmente las CNN, aprenden automáticamente características jerárquicas a partir de datos primarios (como píxeles). Esto reduce la necesidad de ingeniería manual de características, pero no la elimina por completo, ya que el preprocesamiento de entradas o la ingeniería de características para metadatos junto con los datos primarios puede seguir siendo beneficioso.
- Aprendizaje Automático de Máquinas (AutoML): Herramientas como Google Cloud AutoML pretenden automatizar varios pasos del ML, incluida la ingeniería de características. Sin embargo, la perspicacia humana y el conocimiento del dominio a menudo conducen a un diseño de características más eficaz que los enfoques puramente automatizados.
Ingeniería de características y Ultralytics
Aunque 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 red neuronal profunda(columna vertebral, cuello, cabeza), los principios de ingeniería de características siguen siendo relevantes. Por ejemplo, preprocesar las imágenes de entrada (por ejemplo, ecualización del histograma para variar la iluminación, reducción del ruido) antes de introducirlas en un modelo YOLO es una forma de ingeniería de características que puede mejorar la robustez. Además, los resultados de YOLO (como las coordenadas de los cuadros delimitadores, 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 deUltralytics para saber más sobre el uso y la personalización de modelos.