Procesa previamente datos para algoritmos integrados

En esta página, se proporciona una descripción general de cómo AI Platform procesa previamente tus datos para entrenamiento con algoritmos integrados. Además, se explican los requisitos y las limitaciones para tus datos de entrada.

Establece el formato de los datos de entrada

Tus datos de entrada deben estar en un archivo CSV con codificación UTF-8.

Debes preparar tu archivo CSV de entrada para cumplir con los siguientes requisitos:

  • Quitar la fila del encabezado. La fila del encabezado contiene las etiquetas para cada columna. Quita la fila del encabezado a fin de evitar enviarla con el resto de las instancias de datos como parte de los datos de entrenamiento.
  • Asegúrate de que la columna de destino sea la primera columna. La columna de destino contiene el valor que estás intentando predecir. Para un algoritmo de clasificación, todos los valores en la columna de destino son una clase o una categoría. Para un algoritmo de regresión, todos los valores en la columna de destino son numéricos.

Cómo funciona el procesamiento previo

El procesamiento previo automático funciona para los datos categóricos y numéricos. La rutina de procesamiento previo primero analiza y, a continuación, transforma tus datos.

Análisis

Primero, AI Platform analiza cada columna del conjunto de datos. En cada columna, AI Platform detecta automáticamente el tipo de datos, identifica cómo se debe tratar la columna en relación con la transformación de datos y calcula algunas estadísticas para los datos de la columna. El trabajo de entrenamiento captura los resultados de este análisis en el archivo metadata.json, que se incluye junto con otros artefactos de entrenamiento en tu depósito de Cloud Storage.

  • Tipo: La columna puede ser numérica o categórica.
  • Tratamiento: El algoritmo identifica cómo se debe tratar cada columna. Las columnas se pueden tratar como constantes o identificadores de fila. Las columnas categóricas también se pueden etiquetar por identidad o vocabulario, en función de si los valores categóricos son números enteros o strings. Una columna con un gran número de categorías recibe un tratamiento de hash para calcular un número de categorías más pequeño y manejable.
  • Estadísticas: Las estadísticas se calculan para ayudar a transformar los atributos de cada columna, según el tipo y el tratamiento de la columna.

Transformación

Una vez finalizado el análisis inicial del conjunto de datos, AI Platform transforma tus datos en función de los tipos, los tratamientos y las estadísticas que se aplican a tu conjunto de datos. AI Platform realiza transformaciones en el siguiente orden:

  1. Divide el conjunto de datos de entrenamiento en conjuntos de datos de validación y prueba si especificas los porcentajes de división.
  2. Quita las filas que tienen más del 10% de atributos faltantes.
  3. Rellena los valores faltantes. La media se usa para las columnas numéricas. En XGBoost, los ceros se emplean para las columnas categóricas.

Ejemplos de transformaciones

Se quitan las filas con el 10% de los valores faltantes. En los siguientes ejemplos, supongamos que la fila tiene 10 valores. Cada fila de ejemplo se trunca para que sea más simple.

Problema de la fila Valores originales Valores transformados Explicación
Fila de ejemplo sin valores faltantes [3, 0.45, …,
'fruits', 0, 1]
[3, 0.45, …,
1, 0, 0, 0, 1]
La string 'fruits' se transforma en los valores "1, 0, 0" en la codificación one-hot. Para los algoritmos basados en TensorFlow, esto sucede en el grafo de TensorFlow. En XGBoost, AI Platform realiza esta transformación.
Demasiados valores faltantes [3, 0.45, …,
'fruits', __, __]
Se quita la fila Falta más del 10% de los valores en la fila.
Valor numérico faltante [3, 0.45, …,
'fruits', 0, __]
[3, 0.45, …,
1, 0, 0, 0, 0.54]
  • El valor medio de la columna reemplaza el valor numérico faltante. En este ejemplo, la media es 0.54.
  • La string 'fruits' se transforma en los valores "1, 0, 0" en la codificación one-hot. Para los algoritmos basados en TensorFlow, esto sucede en el grafo de TensorFlow. En XGBoost, AI Platform realiza esta transformación.
Valor categórico faltante [3, 0.45, …,
__, 0, 1]
[3, 0.45, …,
0, 0, 0, 0, 1]
  • El valor categórico faltante se transforma en los valores "0, 0, 0" en la codificación one-hot. Para los algoritmos basados en TensorFlow, esto sucede en el grafo de TensorFlow. En XGBoost, AI Platform realiza esta transformación.

Existen otras diferencias en el proceso de transformación, según el marco de trabajo de AA en el que se base el algoritmo integrado. En los algoritmos integrados basados en TensorFlow (algoritmo de aprendizaje lineal y algoritmo de amplitud y profundidad), los tratamientos de las columnas se relacionan directamente con las columnas de atributos que se crean en el modelo de TensorFlow. AI Platform simplemente asigna columnas de atributos para el modelo Estimador de TensorFlow y, luego la transformación de datos se convierte en parte del procesamiento previo que ocurre dentro del modelo Estimador de TensorFlow.

De lo contrario, como en XGBoost, AI Platform aplica tratamientos de columnas y realiza las transformaciones de datos directamente.

Algoritmos disponibles

A fin de obtener detalles específicos sobre cómo funciona el procesamiento previo para cada algoritmo integrado, consulta la guía correspondiente:

Pasos siguientes

  • Comienza con uno de los algoritmos integrados.