Sistemas de AA de producción: ¿Cuándo transformar los datos?

Los datos sin procesar deben contar con ingeniería de atributos (transformada). ¿Cuándo deberías transformar con datos valiosos y útiles. En términos generales, puedes realizar ingeniería de atributos durante cualquiera de los dos períodos siguientes:

  • Antes de entrenar el modelo.
  • Durante el entrenamiento del modelo.

Transforma los datos antes del entrenamiento

En este enfoque, debes seguir dos pasos:

  1. Escribe código o usa herramientas especializadas para transformar los datos sin procesar.
  2. Almacena los datos transformados en algún lugar que el modelo pueda transferir, como como en el disco.

Ventajas

  • El sistema transforma los datos sin procesar solo una vez.
  • El sistema puede analizar todo el conjunto de datos para determinar de transformación de datos.

Desventajas

La desviación entre el entrenamiento y la entrega es más peligrosa (en línea). En un sistema que usa inferencia dinámica, el software que transforma el conjunto de datos sin procesar suele diferir del software que entrega predicciones lo que puede causar una desviación entre el entrenamiento y la entrega. En cambio, los sistemas que usan inferencia estática (sin conexión) a veces pueden usan el mismo software.

Transforma los datos durante el entrenamiento

En este enfoque, la transformación forma parte del código del modelo. El modelo transfiere datos sin procesar y los transforma.

Ventajas

  • Aún puedes usar los mismos archivos de datos sin procesar si cambias las transformaciones.
  • Tiene la certeza de que habrá que realizar las mismas transformaciones en el momento del entrenamiento y la predicción.

Desventajas

  • Las transformaciones complicadas pueden aumentar la latencia del modelo.
  • Las transformaciones ocurren para cada lote.

Transformar los datos por lote puede ser complicado. Por ejemplo, supongamos que quieres usa la normalización de puntuación Z. para transformar datos numéricos sin procesar. La normalización de la puntuación Z requiere la media y desviación estándar de la función. Sin embargo, con las transformaciones por lote, solo tendrás acceso a un lote de datos, no el conjunto de datos completo. Por lo tanto, si los lotes son muy variante, una puntuación z de, digamos, -2.5 en un lote no tendrá el mismo significado como -2.5 en otro lote. Como solución alternativa, tu sistema puede calcular con anterioridad la media y la desviación estándar. en todo el conjunto de datos y luego usarlas como constantes en el modelo.