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:
- Genera divisioni del set di dati per l'addestramento, la valutazione e i test.
- Genera statistiche del set di dati di input
dataset_stats
che descrivono il set di dati non elaborato. - Esegui la selezione delle funzionalità.
- Elabora la configurazione della trasformazione utilizzando le statistiche del set di dati, risolvendo i parametri di trasformazione automatica in parametri di trasformazione manuale.
- Trasforma le caratteristiche non elaborate in caratteristiche create. Vengono eseguite trasformazioni diverse per diversi tipi di caratteristiche.
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à:
- Informazioni reciproche aggiustate (AMI)
- Massimizzazione dell'informazione reciproca condizionale (CMIM)
- Massimizzazione congiunta delle informazioni reciproche (JMIM)
- Maximum Relevance Minimum Redundancy (MRMR)
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:
- Addestrare un modello con End-to-End AutoML.
- Addestra un modello con TabNet.
- Addestra un modello con Wide & Deep.