In diesem Dokument wird beschrieben, wie Feature Transform Engine Feature Engineering durchführt. Feature Transform Engine führt eine Featureauswahl und Featuretransformationen durch. Wenn die Auswahl von Merkmalen aktiviert ist, erstellt Feature Transform Engine eine Reihe von wichtigen Features. Wenn Featuretransformationen aktiviert sind, verarbeitet Feature Transform Engine die Features, damit die Eingabe für das Modelltraining und die Modellbereitstellung konsistent ist. Feature Transform Engine kann eigenständig oder mit jedem der tabellarischen Workflows für das Training verwendet werden. Sie unterstützt sowohl TensorFlow- als auch Nicht-TensorFlow-Frameworks.
Eingaben
Sie müssen die folgenden Eingaben für Feature Transform Engine angeben:
- Rohdaten (BigQuery- oder CSV-Dataset).
- Konfiguration der Datenaufteilung.
- Featureauswahl konfigurieren.
- Featuretransformationskonfiguration.
Ausgaben
Feature Transform Engine generiert die folgenden Ausgaben:
dataset_stats
: Statistiken, die das Roh-Dataset beschreiben. Beispielsweise gibtdataset_stats
die Anzahl der Zeilen im Dataset an.feature_importance
: Der Wichtigkeitswert der Features. Diese Ausgabe wird generiert, wenn die Feature-Auswahl aktiviert ist.materialized_data
: Dies ist die transformierte Version einer Datenaufteilungsgruppe, die die Trainingsaufteilung, die Bewertungsaufteilung und die Testaufteilung enthält.training_schema
: Trainingsdatenschema in der OpenAPI-Spezifikation, das die Datentypen der Trainingsdaten beschreibt.instance_schema
: Instanzschema in der OpenAPI-Spezifikation, die die Datentypen der Vorhersagedaten beschreibt.transform_output
: Metadaten der Transformation. Wenn Sie TensorFlow für die Transformation verwenden, enthalten die Metadaten die TensorFlow-Grafik.
Verarbeitungsschritte
Feature Transform Engine führt die folgenden Schritte aus:
- Generieren Sie Dataset-Aufteilungen für Training, Bewertung und Tests.
- Generieren Sie Eingabe-Dataset-Statistiken
dataset_stats
, die das Roh-Dataset beschreiben. - Führen Sie eine Featureauswahl durch.
- Verarbeiten Sie die Transformationskonfiguration anhand der Dataset-Statistiken und lösen Sie automatische Transformationsparameter in manuelle Transformationsparameter auf.
- Wandeln Sie Rohfeatures in Engineered Features um. Für unterschiedliche Arten von Features werden unterschiedliche Transformationen durchgeführt.
Auswahl von Merkmalen
Der Hauptzweck der Featureauswahl besteht darin, die Anzahl der im Modell verwendeten Features zu reduzieren. Es wird davon ausgegangen, dass die reduzierten Feature-Informationen die meisten Informationen des Labels kompakter erfassen. Mit der Feature-Auswahl können Sie die Kosten für das Training und die Bereitstellung von Modellen senken, ohne die Modellqualität erheblich zu beeinträchtigen.
Wenn die Featureauswahl aktiviert ist, weist Feature Transform Engine jedem Feature einen Konfidenzwert zu. Sie können entweder die Konfidenzwerte der vollständigen Features oder eine reduzierte Teilmenge der wichtigsten Features ausgeben.
Vertex AI bietet die folgenden Algorithmen für die Featureauswahl:
- Adjusted Mutual Information (AMI)
- Conditional Mutual Information Maximization (CMIM)
- Joint Mutual Information Maximization (JMIM)
- Maximum Relevance Minimum Redundancy (MRMR)
Beachten Sie, dass es keinen Algorithmus zur Feature-Auswahl gibt, der immer für alle Datasets und für alle Zwecke am besten funktioniert. Führen Sie nach Möglichkeit alle Algorithmen aus und kombinieren Sie die Ergebnisse.
Adjusted Mutual Information (AMI)
AMI ist eine Korrektur der Mutual Information-Punktzahl (MI), um Wahrscheinlichkeiten zu berücksichtigen. Beachten Sie, dass die MI-Werte für zwei Clusterings mit einer größeren Anzahl von Clustern im Allgemeinen höher sind, unabhängig davon, ob tatsächlich mehr Informationen freigegeben sind.
AMI erkennt die Relevanz von Features und das Label gut, ist jedoch nicht anfällig für Merkmalsredundanz. AMI sollte berücksichtigt werden, wenn es viele Features gibt (z. B. mehr als 2.000) und nicht viele Featureredundanzen. Es ist schneller als die anderen hier beschriebenen Algorithmen, kann aber redundante Features nutzen.
Conditional Mutual Information Maximization (CMIM)
CMIM ist ein gieriger Algorithmus, der Features basierend auf bedingten gegenseitigen Informationen von Kandidaten-Features in Bezug auf ausgewählte Features iterativ auswählt. Bei jeder Iteration wird das Feature ausgewählt, das die minimalen gegenseitigen Informationen mit dem Label maximiert, das noch nicht von ausgewählten Features erfasst wurde.
CMIM ist robust in der Verarbeitung von Featureredundanz und funktioniert in typischen Fällen gut.
Joint Mutual Information Maximization (JMIM)
JMIM ist ein gieriger Algorithmus, der CMIM ähnelt. JMIM wählt das Feature aus, das die gemeinsamen gegenseitigen Informationen des neuen und der vorab ausgewählten Features mit dem Label maximiert, während CMIM die Redundanz mehr berücksichtigt.
JMIM ist ein hochwertiger Algorithmus zur Featureauswahl.
Maximum Relevance Minimum Redundancy (MRMR)
MRMR ist ein gieriger Algorithmus, der iterativ funktioniert. Er ist mit CMIM vergleichbar. Für jede Iteration wird das Feature ausgewählt, das die Relevanz in Bezug auf das Label maximiert und gleichzeitig die paarweise Redundanz in Bezug auf die ausgewählten Features in früheren Iterationen minimiert.
MRMR ist ein qualitativ hochwertiger Algorithmus zur Featureauswahl.
Nächste Schritte
Nachdem Sie das Feature Engineering durchgeführt haben, können Sie ein Modell für die Klassifizierung oder Regression trainieren:
- Modell mit End-to-End-AutoML trainieren.
- Modell mit TabNet trainieren.
- Modell mit Wide & Deep trainieren.