Feature engineering

Questo documento descrive come Feature Transform Engine esegue l'ingegneria delle funzionalità. Feature Transform Engine esegue la selezione e le trasformazioni delle caratteristiche. Se la selezione delle funzionalità è attivata, Feature Transform Engine crea un insieme classificato di funzionalità importanti. Se le trasformazioni delle caratteristiche sono attivate, Feature Transform Engine elabora le caratteristiche per garantire che l'input per l'addestramento e la pubblicazione del modello sia coerente. Feature Transform Engine può essere utilizzato da solo o insieme a uno qualsiasi dei flussi di lavoro di addestramento tabellare. Supporta sia TensorFlow che framework non TensorFlow.

Input

Fornisci i seguenti input a Feature Transform Engine:

  • Dati non elaborati (set di dati BigQuery o CSV).
  • Configurazione della suddivisione dei dati.
  • Configurazione della selezione delle funzionalità.
  • Configurazione della trasformazione delle caratteristiche.

Output

Feature Transform Engine genera i seguenti output:

  • dataset_stats: statistiche che descrivono il set di dati non elaborato. Ad esempio, dataset_stats indica il numero di righe nel set di dati.
  • feature_importance: Il punteggio di importanza delle funzionalità. Questo output viene generato se è attiva la selezione delle funzionalità.
  • materialized_data, ovvero la versione trasformata di un gruppo di suddivisione dei dati contenente la suddivisione per l'addestramento, la suddivisione per la valutazione e la suddivisione per il test.
  • training_schema: Schema dei dati di addestramento nella specifica OpenAPI, che descrive i tipi di dati dei dati di addestramento.
  • instance_schema: schema dell'istanza nella specifica OpenAPI, che descrive i tipi di dati dei dati di inferenza.
  • transform_output: i metadati della trasformazione. Se utilizzi TensorFlow per la trasformazione, i metadati includono il grafico TensorFlow.

Passaggi di elaborazione

Feature Transform Engine esegue i seguenti passaggi:

Selezione delle caratteristiche

Lo scopo principale della selezione delle funzionalità è ridurre il numero di funzionalità utilizzate nel modello. Il set di funzionalità ridotto acquisisce la maggior parte delle informazioni dell'etichetta in modo più compatto. La selezione delle funzionalità consente di ridurre il costo dell'addestramento e della pubblicazione dei modelli senza influire in modo significativo sulla qualità del modello.

Se abiliti la selezione delle funzionalità, Feature Transform Engine assegna un punteggio di importanza a ciascuna funzionalità. Puoi scegliere di restituire i punteggi di importanza dell'intero insieme di caratteristiche o di un sottoinsieme ridotto delle caratteristiche più importanti.

Vertex AI offre i seguenti algoritmi di selezione delle funzionalità:

Tieni presente che nessun algoritmo di selezione delle funzionalità funziona sempre al meglio su tutti i set di dati e per tutti gli scopi. Se possibile, esegui tutti gli algoritmi e combina i risultati.

Informazioni reciproche aggiustate (AMI)

L'AMI è un aggiustamento del punteggio di informazione reciproca (MI) per tenere conto della probabilità. Tiene conto del fatto che l'informazione reciproca è generalmente più elevata per due clustering con un numero maggiore di cluster, indipendentemente dal fatto che le informazioni condivise siano effettivamente maggiori.

AMI è in grado di rilevare la pertinenza delle funzionalità e dell'etichetta, ma è insensibile alla ridondanza delle funzionalità. Prendi in considerazione AMI se ci sono molte caratteristiche (ad esempio, più di 2000) e non molta ridondanza delle caratteristiche. È più veloce degli altri algoritmi descritti qui, ma potrebbe rilevare funzionalità ridondanti.

Massimizzazione delle informazioni reciproche condizionali (CMIM)

CMIM è un algoritmo greedy che sceglie le funzionalità in modo iterativo in base all'informazione reciproca condizionale delle funzionalità candidate rispetto a quelle selezionate. In ogni iterazione, seleziona la funzionalità che massimizza le informazioni reciproche minime con l'etichetta che non è ancora stata acquisita dalle funzionalità selezionate.

CMIM è efficace nella gestione della ridondanza delle funzionalità e funziona bene nei casi tipici.

Massimizzazione delle informazioni reciproche congiunte (JMIM)

JMIM è un algoritmo greedy simile a CMIM. JMIM seleziona la funzionalità che massimizza le informazioni reciproche congiunte della nuova funzionalità e di quelle preselezionate con l'etichetta, mentre CMIM tiene maggiormente conto della ridondanza.

JMIM è un algoritmo di selezione delle funzionalità di alta qualità.

Massima pertinenza minima ridondanza (MRMR)

MRMR è un algoritmo greedy che funziona in modo iterativo. È simile a CMIM. Ogni iterazione sceglie la funzionalità che massimizza la pertinenza rispetto all'etichetta riducendo al minimo la ridondanza a coppie rispetto alle funzionalità selezionate nelle iterazioni precedenti.

MRMR è un algoritmo di selezione delle funzionalità di alta qualità.

Passaggi successivi

Dopo aver eseguito l'feature engineering, puoi addestrare un modello per la classificazione o la regressione: