Neste documento, descrevemos como o Feature Transform Engine executa a engenharia de atributos. O Feature Transform Engine realiza a seleção de atributos e as transformações de atributos. Se a seleção de atributos estiver ativada, o Feature Transform Engine vai criar um conjunto classificado de recursos importantes. Se as transformações de atributos estiverem ativadas, o Feature Transform Engine processará os atributos para garantir que a entrada do treinamento e da disponibilização do modelo seja consistente. O Feature Transform Engine pode ser usado sozinho ou com qualquer um dos fluxos de trabalho de treinamento tabulares. Ele é compatível com o TensorFlow e frameworks que não são do TensorFlow.
Entradas
Você precisa fornecer as seguintes entradas ao Feature Transform Engine:
- Dados brutos (conjunto de dados do BigQuery ou CSV).
- Configuração de divisão de dados.
- Configuração da seleção de atributos.
- Configuração de transformação de atributos.
Saídas
O Feature Transform Engine gera as seguintes saídas:
dataset_stats
: estatísticas que descrevem o conjunto de dados brutos. Por exemplo,dataset_stats
fornece o número de linhas no conjunto de dados.feature_importance
: a pontuação de importância dos atributos. Essa saída será gerada se a seleção de atributos estiver ativada.materialized_data
, que é a versão transformada de um grupo de divisão de dados que contém a divisão de treinamento, a divisão de avaliação e a divisão de teste.training_schema
: esquema de dados de treinamento na especificação da OpenAPI, que descreve os tipos de dados dos dados de treinamento.instance_schema
: esquema de instâncias na especificação da OpenAPI, que descreve os tipos de dados dos dados de previsão.transform_output
: metadados da transformação. Se você estiver usando o TensorFlow para transformação, os metadados incluirão o gráfico do TensorFlow.
Etapas de processamento
O Feature Transform Engine executa as seguintes etapas:
- Gere divisões de conjunto de dados para treinamento, avaliação e testes.
- Gere estatísticas de entrada do conjunto de dados
dataset_stats
que descrevem o conjunto de dados bruto. - Realizar a seleção de atributos
- processar a configuração de transformação usando as estatísticas do conjunto de dados, resolvendo os parâmetros de transformação automática em parâmetros de transformação manual.
- Transforme atributos brutos em atributos de engenharia. Diferentes transformações são feitas para diferentes tipos de atributos.
Seleção de atributos
O objetivo principal da seleção de atributos é reduzir o número de atributos usados no modelo. Espera-se que o conjunto de atributos reduzido capture a maioria das informações do rótulo de forma mais compacta. A seleção de atributos permite reduzir o custo de treinamento e disponibilização de modelos sem afetar significativamente a qualidade do modelo.
Se a seleção de atributos estiver ativada, o Feature Transform Engine vai atribuir uma pontuação de importância a cada atributo. É possível gerar as pontuações de importância do conjunto completo de atributos ou de um subconjunto reduzido dos atributos mais importantes.
A Vertex AI oferece os seguintes algoritmos de seleção de atributos:
- Informações mútuas ajustadas (AMI)
- Maximização das informações mútuas condicionais (CMIM, na sigla em inglês)
- Maximização de informações mútuas conjuntas (JMIM, na sigla em inglês)
- Redundância mínima de relevância máxima (MRMR, na sigla em inglês)
Não há um algoritmo de seleção de algoritmos que sempre funcione melhor em todos os conjuntos de dados e para todas as finalidades. Se possível, execute todos os algoritmos e combine os resultados.
Informações mútuas ajustadas (AMI)
O AMI é um ajuste da pontuação de informações mútuas (MI, na sigla em inglês) para refletir a probabilidade. Ele considera que o MI geralmente é mais alto para dois clusters com um número maior de clusters, independentemente de haver ou não mais informações compartilhadas.
O AMI é bom em detectar a relevância dos recursos e do rótulo, mas é indiferente a redundância de atributos. O AMI precisa ser considerado se houver muitos atributos (por exemplo, mais de 2.000) e não muita redundância de atributos. Ele é mais rápido que os outros algoritmos descritos aqui, mas pode selecionar atributos redundantes.
Maximização de informações mútuas condicionais (CMIM, na sigla em inglês)
O CMIM é um algoritmo ambicioso que escolhe atributos iterativamente com base nas informações mútuas condicionais dos atributos candidatos em relação aos atributos selecionados. Em cada iteração, é selecionado o atributo que maximiza as informações mútuas mínimas com o identificador que ainda não foi capturado pelos atributos selecionados.
O CMIM é robusto para lidar com a redundância de atributos e funciona bem em casos típicos.
Maximização de informações mútuas conjuntas (JMIM, na sigla em inglês)
O JMIM é um algoritmo ambicioso, semelhante ao CMIM. O JMIM seleciona o atributo que maximiza as informações mútuas conjuntas dos atributos novos e pré-selecionados com o rótulo, enquanto o CMIM leva a redundância mais em conta.
O JMIM é um algoritmo de seleção de atributos de alta qualidade.
Redundância mínima de relevância máxima (MRMR, na sigla em inglês)
O MRMR é um algoritmo ambicioso que funciona de forma iterativa. É semelhante ao CMIM. Cada iteração escolhe o atributo que maximiza a relevância em relação ao rótulo, minimizando a redundância em pares em relação aos atributos selecionados em iterações anteriores.
O MRMR é um algoritmo de seleção de atributos de alta qualidade.
A seguir
Depois de realizar a engenharia de atributos, é possível treinar um modelo para classificação ou regressão:
- Treinar um modelo com o AutoML completo.
- Treinar um modelo com o TabNet.
- Treinar um modelo com Amplitude e profundidade.