Ingeniería de características
Aumenta la precisión del aprendizaje automático con la ingeniería de características experta. Aprende técnicas para crear, transformar y seleccionar características impactantes.
La ingeniería de características es el arte y la ciencia de aprovechar el conocimiento del dominio para transformar los datos brutos en atributos informativos que representen el problema subyacente de forma más eficaz para los modelos predictivos.
informativos que representen el problema subyacente de forma más eficaz para los modelos predictivos. En el ámbito más amplio del
aprendizaje automático (AM), los datos brutos rara vez están
a menudo contienen ruido, valores omitidos o formatos que los algoritmos no pueden interpretar directamente.
directamente. Mediante la creación de nuevas características o la modificación de las existentes, los ingenieros pueden mejorar significativamente la precisión y el rendimiento de los modelos.
precisión y el rendimiento del modelo, lo que a menudo
resultados mejores que los de un algoritmo más complejo. Este proceso tiende un puente entre la información bruta
y la representación matemática necesaria para el
el modelado predictivo.
Técnicas básicas de ingeniería de características
El proceso suele implicar varios pasos iterativos diseñados para sacar a la luz las señales más relevantes de los datos. Mientras que
herramientas como la bibliotecaPandas en Python facilitan estas manipulaciones, la
estrategia depende en gran medida de la comprensión del ámbito específico del problema.
-
Imputación y limpieza: Antes de crear nuevas características, los datos deben estabilizarse. Esto implica
tratar los valores que faltan mediante
técnicas de limpieza de datos, como rellenar los huecos con la
con la media, la mediana o un valor previsto, un proceso conocido como imputación.
imputación.
-
Transformación y escalado: Muchos algoritmos funcionan mal cuando las variables de entrada tienen escalas muy diferentes.
muy diferentes. Técnicas como
normalización (escalar los datos en un intervalo de 0 a 1)
o la normalización (centrar los datos en torno a la media) garantizan que ninguna característica domine el proceso de aprendizaje debido a su magnitud.
debido exclusivamente a su magnitud.
-
Codificación de datos categóricos: Los modelos suelen requerir datos numéricos. La ingeniería de características implica
convertir etiquetas de texto o
datos categóricos en
categóricos en números. Los métodos más habituales son la codificación de etiquetas y la codificación
la codificación de un punto, que crea columnas binarias para cada categoría.
-
Construcción de características: Este es el aspecto creativo en el que se derivan nuevas variables. Por ejemplo, en
un conjunto de datos inmobiliarios, en lugar de utilizar la "longitud" y la "anchura" por separado, un ingeniero podría multiplicarlas para crear una característica de "metros cuadrados", que se correlaciona mejor con el precio.
multiplicarlas para crear una característica de "metros cuadrados", que se correlaciona mejor con el precio.
-
Selección de características: Añadir demasiadas características puede
que el modelo memorice el ruido.
Técnicas como la eliminación recursiva de características o
reducción de la dimensionalidad ayudan a
y retener sólo los atributos más impactantes.
Ingeniería de características en visión por ordenador
En el campo de la visión por ordenador (CV), la ingeniería de características
a menudo adopta la forma de
aumento de datos. Aunque los modelos modernos de aprendizaje profundo
aprenden automáticamente jerarquías y patrones, podemos "diseñar" los datos de entrenamiento para que sean más robustos mediante la simulación de diferentes condiciones ambientales.
simulando diferentes condiciones ambientales. Modificando
configuraciones de ajuste de hiperparámetros
para incluir transformaciones geométricas permite que el modelo aprenda características invariantes a la orientación o la perspectiva.
El siguiente fragmento de código demuestra cómo aplicar la ingeniería de características basada en el aumento durante el entrenamiento de un
YOLO11 modelo. Ajustando argumentos como
degrees y shearsintetizamos nuevas variaciones de características a partir del conjunto de datos original.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Train with augmentation hyperparameters acting as on-the-fly feature engineering
# 'degrees' rotates images +/- 10 deg, 'shear' changes perspective
model.train(data="coco8.yaml", epochs=3, degrees=10.0, shear=2.5)
Aplicaciones en el mundo real
El valor de la ingeniería de características se entiende mejor a través de su aplicación práctica en diferentes industrias.
-
Evaluación de riesgos financieros: En el sector financiero, los registros de transacciones en bruto son insuficientes para
evaluar la solvencia. Los expertos utilizan
IA en finanzas
para construir ratios como "deuda-ingresos" o "tasa de utilización del crédito". Estas características
Estas características de ingeniería proporcionan una señal directa de la salud financiera, permitiendo un modelado del riesgo crediticio más preciso en comparación con el uso de datos brutos.
de riesgo crediticio más preciso que si se
de deuda de forma aislada.
-
Mantenimiento predictivo en la fabricación: En
AI en la fabricación, los sensores recogen
datos de alta frecuencia sobre vibraciones y temperatura. La introducción directa de las lecturas brutas de los sensores en un modelo suele ser ruidosa e ineficaz.
ruidoso e ineficaz. En su lugar, los ingenieros utilizan
análisis de series temporales para crear funciones como
"media móvil de la temperatura en la última hora" o "desviación estándar de la vibración". Estas funciones agregadas de
Estas características agregadas capturan las tendencias y anomalías indicativas del desgaste de la máquina mucho mejor que los valores instantáneos.
instantáneos.
Distinción de términos afines
Resulta útil distinguir la ingeniería de características de conceptos similares para evitar confusiones en los debates sobre flujos de trabajo.
-
Ingeniería de características frente a extracción de características: Aunque a menudo se utilizan indistintamente, hay un matiz.
La ingeniería de características implica un proceso manual y creativo de construcción de nuevas entradas basadas en el conocimiento del dominio.
conocimiento del dominio. Por el contrario,
Por el contrario, la extracción de
o proyecciones matemáticas (como PCA) que destilan datos de alta dimensión en una representación densa. En
aprendizaje profundo (AD), las capas de
redes neuronales convolucionales (CNN)
realizan la extracción automática de características mediante el aprendizaje de filtros para bordes y texturas.
-
Ingeniería de rasgos frente a incrustación: En el procesamiento
procesamiento del lenguaje natural (PLN), la creación manual de rasgos (como el recuento de la frecuencia de las palabras) ha sido sustituida en gran medida por las incrustaciones.
incrustaciones. Las incrustaciones son representaciones
densas aprendidas por el propio modelo para captar el significado semántico. Las incrustaciones son una forma de características,
se aprenden mediante
aprendizaje automático (AutoML)
en lugar de ser "diseñados" explícitamente a mano.
Al dominar la ingeniería de características, los desarrolladores pueden construir modelos que no sólo son más precisos, sino también más eficientes,
que requieren menos potencia de cálculo para lograr un alto rendimiento.