Engenharia de funcionalidades

Este documento descreve como o Feature Transform Engine realiza a engenharia de funcionalidades. O Feature Transform Engine realiza a seleção e as transformações de funcionalidades. Se a seleção de funcionalidades estiver ativada, o Feature Transform Engine cria um conjunto classificado de funcionalidades importantes. Se as transformações de funcionalidades estiverem ativadas, o Feature Transform Engine processa as funcionalidades para garantir que a entrada para a preparação e a publicação do modelo é consistente. O Feature Transform Engine pode ser usado de forma autónoma ou em conjunto com qualquer um dos fluxos de trabalho de preparação tabular. É compatível com frameworks TensorFlow e não TensorFlow.

Entradas

Forneça as seguintes entradas ao Feature Transform Engine:

  • Dados não processados (conjunto de dados do BigQuery ou CSV).
  • Configuração da divisão de dados.
  • Configuração da seleção de funcionalidades.
  • Configuração da transformação de atributos.

Resultados

O Feature Transform Engine gera as seguintes saídas:

  • dataset_stats: estatísticas que descrevem o conjunto de dados não processados. Por exemplo, dataset_stats dá o número de linhas no conjunto de dados.
  • feature_importance: a pontuação de importância das funcionalidades. Este resultado é gerado se a seleção de funcionalidades estiver ativada.
  • materialized_data, que é a versão transformada de um grupo de divisão de dados que contém a divisão de preparação, a divisão de avaliação e a divisão de teste.
  • training_schema: Esquema de dados de preparação na especificação OpenAPI, que descreve os tipos de dados dos dados de preparação.
  • instance_schema: esquema de instância na especificação OpenAPI, que descreve os tipos de dados dos dados de inferência.
  • transform_output: metadados da transformação. Se usar o TensorFlow para a transformação, os metadados incluem o gráfico do TensorFlow.

Passos de processamento

O Feature Transform Engine executa os seguintes passos:

Seleção de funcionalidades

O objetivo principal da seleção de elementos é reduzir o número de elementos usados no modelo. O conjunto de funcionalidades reduzido capta a maioria das informações da etiqueta de forma mais compacta. A seleção de funcionalidades permite reduzir o custo da preparação e da publicação de modelos sem afetar significativamente a qualidade do modelo.

Se ativar a seleção de funcionalidades, o Feature Transform Engine atribui uma pontuação de importância a cada funcionalidade. Pode optar por gerar os resultados de importância do conjunto completo de funcionalidades ou de um subconjunto reduzido das funcionalidades mais importantes.

O Vertex AI oferece os seguintes algoritmos de seleção de funcionalidades:

Tenha em atenção que nenhum algoritmo de seleção de caraterísticas funciona sempre melhor em todos os conjuntos de dados e para todos os fins. 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) para ter em conta a probabilidade. Tem em conta o facto de o MI ser geralmente mais elevado para duas agrupamentos com um número maior de clusters, independentemente de existirem efetivamente mais informações partilhadas.

A AMI é boa a detetar a relevância das caraterísticas e da etiqueta, mas é insensível à redundância de caraterísticas. Considere usar o AMI se houver muitas funcionalidades (por exemplo, mais de 2000) e não houver muita redundância de funcionalidades. É mais rápido do que os outros algoritmos descritos aqui, mas pode selecionar funcionalidades redundantes.

Maximizar a informação mútua condicional (CMIM)

O CMIM é um algoritmo ganancioso que escolhe funcionalidades iterativamente com base nas informações mútuas condicionais das funcionalidades candidatas relativamente às funcionalidades selecionadas. Em cada iteração, seleciona a funcionalidade que maximiza as informações mútuas mínimas com a etiqueta que ainda não foi capturada pelas funcionalidades selecionadas.

O CMIM é robusto no tratamento da redundância de funcionalidades e funciona bem em casos típicos.

Joint Mutual Information Maximization (JMIM)

O JMIM é um algoritmo ganancioso semelhante ao CMIM. O JMIM seleciona a funcionalidade que maximiza as informações mútuas conjuntas da nova funcionalidade e das funcionalidades pré-selecionadas com a etiqueta, enquanto o CMIM tem mais em conta a redundância.

O JMIM é um algoritmo de seleção de caraterísticas de alta qualidade.

Máxima relevância, mínima redundância (MRMR)

O MRMR é um algoritmo ganancioso que funciona de forma iterativa. É semelhante ao CMIM. Cada iteração escolhe a funcionalidade que maximiza a relevância relativamente à etiqueta, ao mesmo tempo que minimiza a redundância aos pares relativamente às funcionalidades selecionadas nas iterações anteriores.

O MRMR é um algoritmo de seleção de funcionalidades de alta qualidade.

O que se segue?

Depois de realizar a engenharia de funcionalidades, pode preparar um modelo para classificação ou regressão: