En este documento se describe cómo realiza Feature Transform Engine la ingeniería de funciones. Feature Transform Engine selecciona y transforma las características. Si la selección de funciones está habilitada, Feature Transform Engine crea un conjunto de funciones importantes clasificadas. Si las transformaciones de funciones están habilitadas, Feature Transform Engine procesa las funciones para asegurarse de que la entrada para el entrenamiento y el servicio del modelo sea coherente. Feature Transform Engine se puede usar de forma independiente o junto con cualquiera de los flujos de trabajo de entrenamiento tabular. Es compatible con frameworks de TensorFlow y de otro tipo.
Entradas
Proporciona las siguientes entradas a Feature Transform Engine:
- Datos sin procesar (conjunto de datos de BigQuery o CSV).
- Configuración de la división de datos.
- Configuración de la selección de funciones.
- Configuración de la transformación de funciones.
Resultados
Feature Transform Engine genera los siguientes resultados:
dataset_stats
: estadísticas que describen el conjunto de datos sin procesar. Por ejemplo,dataset_stats
devuelve el número de filas del conjunto de datos.feature_importance
: la puntuación de importancia de las funciones. Este resultado se genera si la selección de funciones está habilitada.materialized_data
, que es la versión transformada de un grupo de división de datos que contiene la división de entrenamiento, la división de evaluación y la división de prueba.training_schema
: esquema de datos de entrenamiento en la especificación de OpenAPI, que describe los tipos de datos de los datos de entrenamiento.instance_schema
: esquema de instancia en la especificación de OpenAPI, que describe los tipos de datos de los datos de inferencia.transform_output
: metadatos de la transformación. Si usas TensorFlow para la transformación, los metadatos incluyen el gráfico de TensorFlow.
Pasos del proceso
Feature Transform Engine realiza los siguientes pasos:
- Genera divisiones del conjunto de datos para el entrenamiento, la evaluación y las pruebas.
- Genera estadísticas del conjunto de datos de entrada
dataset_stats
que describan el conjunto de datos sin procesar. - Realiza la selección de funciones.
- Procesa la configuración de la transformación con las estadísticas del conjunto de datos y convierte los parámetros de transformación automáticos en parámetros de transformación manuales.
- Transformar las características sin procesar en características diseñadas. Se realizan transformaciones diferentes para distintos tipos de características.
Selección de características
El objetivo principal de la selección de características es reducir el número de características que se usan en el modelo. El conjunto de funciones reducido recoge la mayor parte de la información de la etiqueta de forma más compacta. La selección de características te permite reducir el coste de entrenar y servir modelos sin que la calidad de estos se vea afectada de forma significativa.
Si habilitas la selección de funciones, Feature Transform Engine asigna una puntuación de importancia a cada función. Puede elegir si quiere obtener las puntuaciones de importancia de todo el conjunto de características o de un subconjunto reducido de las características más importantes.
Vertex AI ofrece los siguientes algoritmos de selección de características:
- Información mutua ajustada (AMI)
- Maximización de la información mutua condicional (CMIM)
- Maximización de la información mutua conjunta (JMIM)
- Máxima relevancia y mínima redundancia (MRMR)
Ten en cuenta que ningún algoritmo de selección de características funciona siempre mejor en todos los conjuntos de datos y para todos los propósitos. Si es posible, ejecuta todos los algoritmos y combina los resultados.
Información mutua ajustada (AMI)
El AMI es un ajuste de la puntuación de información mutua (MI) para tener en cuenta el azar. Tiene en cuenta que la información mutua suele ser mayor en las agrupaciones con un número más elevado de clústeres, independientemente de si se comparte más información.
AMI es capaz de detectar la relevancia de las características y la etiqueta, pero no tiene en cuenta la redundancia de las características. Usa AMI si hay muchas características (por ejemplo, más de 2000) y no hay mucha redundancia de características. Es más rápido que los otros algoritmos descritos aquí, pero podría detectar funciones redundantes.
Maximización de la información mutua condicional (CMIM)
CMIM es un algoritmo voraz que elige las funciones de forma iterativa en función de la información mutua condicional de las funciones candidatas con respecto a las funciones seleccionadas. En cada iteración, selecciona la característica que maximiza la información mutua mínima con la etiqueta que aún no han capturado las características seleccionadas.
CMIM es eficaz a la hora de gestionar la redundancia de funciones y funciona bien en casos típicos.
Maximización de la información mutua conjunta (JMIM)
JMIM es un algoritmo voraz similar a CMIM. JMIM selecciona la función que maximiza la información mutua conjunta de la nueva y las funciones preseleccionadas con la etiqueta, mientras que CMIM tiene más en cuenta la redundancia.
JMIM es un algoritmo de selección de funciones de alta calidad.
Relevancia máxima y redundancia mínima (MRMR)
MRMR es un algoritmo voraz que funciona de forma iterativa. Es similar a CMIM. En cada iteración se elige la función que maximiza la relevancia con respecto a la etiqueta y, al mismo tiempo, se minimiza la redundancia por pares con respecto a las funciones seleccionadas en iteraciones anteriores.
MRMR es un algoritmo de selección de funciones de alta calidad.
Siguientes pasos
Después de aplicar la ingeniería de funciones, puedes entrenar un modelo de clasificación o regresión:
- Entrena un modelo con AutoML de extremo a extremo.
- Entrena un modelo con TabNet.
- Entrena un modelo con Wide & Deep.