Engenharia de atributos

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:

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: