Ingeniería de funciones
Aumente la precisión del aprendizaje automático con ingeniería de características experta. Aprenda técnicas para crear, transformar y seleccionar características impactantes.
La ingeniería de características es el proceso de utilizar el conocimiento del dominio para seleccionar, crear y transformar datos sin procesar en características que representen mejor el problema subyacente para los modelos predictivos. Se trata de un paso crítico y, a menudo, lento en el proceso de aprendizaje automático, ya que la calidad de las características influye directamente en el rendimiento y la precisión del modelo resultante. Una ingeniería de características eficaz puede suponer la diferencia entre un modelo mediocre y uno de gran precisión, y a menudo proporciona mejoras de rendimiento más significativas que la elección de un algoritmo diferente o un ajuste exhaustivo de los hiperparámetros.
## El proceso de ingeniería de características
La ingeniería de características es a la vez un arte y una ciencia, en la que se combinan los conocimientos especializados y las técnicas matemáticas. El proceso puede dividirse en varias actividades comunes, a menudo gestionadas mediante bibliotecas como el módulo de preprocesamiento de scikit-learn o herramientas especializadas para la ingeniería automatizada de características.
- Creación de características: Se trata de crear nuevas características a partir de otras ya existentes. Por ejemplo, en un conjunto de datos de venta al por menor, podría restar una "fecha de compra" de una fecha de "cliente desde" para crear una característica de "duración de la fidelidad del cliente". En el análisis de series temporales, podría derivar características como medias móviles o estacionalidad a partir de una marca de tiempo.
- Transformaciones: A menudo es necesario transformar los datos brutos para que se ajusten a los supuestos de un algoritmo de aprendizaje automático. Esto incluye escalar características numéricas, aplicar transformaciones logarítmicas para manejar datos sesgados o utilizar técnicas como el binning para agrupar números en categorías.
- Codificación: Muchos modelos de ML no pueden manejar datos categóricos directamente. La codificación consiste en convertir las categorías basadas en texto en representaciones numéricas. Entre los métodos más comunes se encuentran la codificación de una sola vez, en la que cada valor de categoría se convierte en una nueva columna binaria, y la codificación de etiquetas.
- Selección de características: No todas las características son útiles. Algunas pueden ser redundantes o irrelevantes, introduciendo ruido que puede llevar a un sobreajuste. El objetivo de la selección de características es elegir un subconjunto de las más relevantes para mejorar el rendimiento del modelo y reducir el coste computacional.
## Aplicaciones en el mundo real
El impacto de la ingeniería de características es evidente en muchos sectores. Su eficacia depende a menudo de un profundo conocimiento del dominio para crear características que capten realmente señales predictivas.
- Calificación crediticia: En finanzas, los datos brutos del cliente pueden incluir los ingresos, la edad y el historial de préstamos. Un ingeniero de características puede crear nuevas variables como el "ratio deuda-ingresos" (dividiendo la deuda total entre los ingresos brutos) o la "utilización del crédito" (dividiendo el saldo de la tarjeta de crédito entre el límite de crédito). Estas características de ingeniería proporcionan una señal mucho más clara de la salud financiera de una persona que las cifras brutas por sí solas, lo que conduce a modelos de riesgo crediticio más precisos.
- Mantenimiento predictivo: En la fabricación, los sensores de la maquinaria producen grandes flujos de datos sin procesar, como vibraciones, temperatura y velocidad de rotación. Para predecir fallos, un ingeniero puede crear funciones como la "media móvil de la temperatura en las últimas 24 horas" o la "desviación estándar de la vibración". Estas características pueden revelar patrones sutiles de degradación que preceden a un fallo mecánico, permitiendo un mantenimiento proactivo y evitando costosos tiempos de inactividad.
## Ingeniería de funciones frente a conceptos relacionados
Es importante distinguir la ingeniería de características de los términos relacionados en IA y ciencia de datos.
- Ingeniería de características frente a extracción de características: La ingeniería de características es un proceso en gran medida manual de creación de nuevas características basado en la intuición y la experiencia. La extracción de características suele ser un proceso automatizado de transformación de datos en un conjunto reducido de características. En el aprendizaje profundo, modelos como las redes neuronales convolucionales (CNN) realizan automáticamente la extracción de características, aprendiendo características jerárquicas (bordes, texturas, formas) a partir de datos de píxeles en bruto sin intervención humana.
- Ingeniería de rasgos frente a incrustaciones: Las incrustaciones son una forma sofisticada y aprendida de representación de rasgos común en la PNL y la visión por ordenador. En lugar de crear características manualmente, un modelo aprende un vector denso que captura el significado semántico de un elemento (como una palabra o una imagen). Por tanto, las incrustaciones son el resultado del aprendizaje automatizado de características, no de la ingeniería manual.
- Ingeniería de características frente a preprocesamiento de datos: El preprocesamiento de datos es una categoría más amplia que incluye la ingeniería de características como uno de sus pasos clave. También abarca otras tareas esenciales, como la limpieza de datos (tratamiento de valores omitidos y valores atípicos) y la preparación de conjuntos de datos para el entrenamiento.
Aunque las arquitecturas modernas, como las de los modelos YOLO de Ultralytics, automatizan la extracción de características para tareas basadas en imágenes como la detección de objetos y la segmentación de instancias, los principios de la ingeniería de características siguen siendo fundamentales. Comprender cómo representar los datos de forma eficaz es crucial para depurar modelos, mejorar la calidad de los datos y abordar problemas complejos que implican combinar datos visuales con datos estructurados. Plataformas como Ultralytics HUB proporcionan herramientas para gestionar todo este ciclo de vida, desde la preparación del conjunto de datos hasta la implantación del modelo.