Ce document décrit comment Feature Transform Engine effectue l'extraction de caractéristiques. Feature Transform Engine effectue une sélection de caractéristiques et des transformations de caractéristiques. Si la sélection de caractéristiques est activée, Feature Transform Engine crée un ensemble classé de caractéristiques importantes. Si les transformations de caractéristiques sont activées, Feature Transform Engine traite les caractéristiques pour s'assurer que les entrées pour l'entraînement et la diffusion du modèle sont cohérentes. Feature Transform Engine peut être utilisé seul ou avec n'importe quel workflow d'entraînement tabulaire. Il est compatible avec les frameworks TensorFlow et non TensorFlow.
Entrées
Vous devez fournir les entrées suivantes à Feature Transform Engine :
- Données brutes (ensemble de données BigQuery ou CSV).
- Configuration de la division des données.
- Configuration de la sélection de caractéristiques.
- Configuration de la transformation des caractéristiques.
Sorties
Feature Transform Engine génère les résultats suivants :
dataset_stats
: statistiques décrivant l'ensemble de données brut. Par exemple,dataset_stats
indique le nombre de lignes dans l'ensemble de données.feature_importance
: score d'importance des caractéristiques. Ce résultat est généré si la sélection des caractéristiques est activée.materialized_data
, qui est la version transformée d'un groupe de répartition des données contenant les divisions d'entraînement, d'évaluation et de test.training_schema
: schéma de données d'entraînement dans la spécification OpenAPI, qui décrit les types de données des données d'entraînement.instance_schema
: schéma d'instance dans la spécification OpenAPI, qui décrit les types de données des données de prédiction.transform_output
: métadonnées de la transformation. Si vous utilisez TensorFlow pour la transformation, les métadonnées incluent le graphe TensorFlow.
Étapes de traitement
Feature Transform Engine effectue les étapes suivantes :
- Génère des divisions d'ensemble de données pour l'entraînement, l'évaluation et les tests.
- Génère des statistiques
dataset_stats
sur l'ensemble de données d'entrée, qui décrivent l'ensemble de données brut. - Effectue une sélection de caractéristiques.
- Traitez la configuration de la transformation à l'aide des statistiques de l'ensemble de données, en transformant les paramètres de transformation automatique en paramètres de transformation manuels.
- Transforme les caractéristiques brutes en caractéristiques techniques. Différentes transformations sont effectuées pour différents types de caractéristiques.
Sélection des caractéristiques.
L'objectif principal de la sélection des caractéristiques est de réduire le nombre de caractéristiques utilisées dans le modèle. L'ensemble de caractéristiques réduit est censé capturer la plupart des informations sur les étiquettes de manière plus compacte. La sélection des caractéristiques vous permet de réduire les coûts d'entraînement et de diffusion des modèles sans impact significatif sur la qualité des modèles.
Si la sélection de caractéristiques est activée, Feature Transform Engine attribue un score d'importance à chaque caractéristique. Vous pouvez choisir de générer les scores d'importance de l'ensemble complet de caractéristiques ou d'un sous-ensemble réduit des caractéristiques les plus importantes.
Vertex AI propose les algorithmes de sélection de caractéristiques suivants :
- Informations mutuelles ajustées (AMI)
- Maximisation des informations mutuelles conditionnelles (CMIM)
- Maximisation des informations mutuelles jointes (JMIM)
- Pertinence maximale, redondance minimale (MRMR)
Notez qu'aucun algorithme de sélection de caractéristiques ne fonctionne toujours au mieux sur tous les ensembles de données et à toutes les fins. Si possible, exécutez tous les algorithmes et combinez les résultats.
Informations mutuelles ajustées (AMI)
L'AMI est un ajustement du score MI (informations mutuelles) permettant de tenir compte de la probabilité. Cela tient compte du fait que le MI est généralement plus élevé pour deux clusterings avec un plus grand nombre de clusters, qu'il y ait ou non plus d'informations partagées.
L'AMI permet de détecter la pertinence des caractéristiques et l'étiquette, mais il n'est pas sensible à la redondance des caractéristiques. L'AMI doit être pris en compte s'il présente de nombreuses caractéristiques (par exemple, plus de 2 000) et des caractéristiques peu redondantes. Cet algorithme est plus rapide que les autres décrits sur cette page, mais il peut détecter des caractéristiques redondantes.
Maximisation des informations mutuelles conditionnelles (CMIM)
CMIM est un algorithme gourmand en ressources qui choisit les caractéristiques de manière itérative en fonction des informations mutuelles conditionnelles des caractéristiques candidates par rapport aux caractéristiques sélectionnées. À chaque itération, il sélectionne la caractéristique qui maximise les informations mutuelles minimales avec l'étiquette qui n'a pas encore été capturée par les caractéristiques sélectionnées.
CMIM gère efficacement la redondance des caractéristiques et fonctionne bien dans les cas typiques.
Maximisation des informations mutuelles jointes (JMIM)
JMIM est un algorithme gourmand en ressources semblable à CMIM. JMIM sélectionne la caractéristique qui maximise les informations mutuelles jointes des caractéristiques nouvelles et présélectionnées associées à l'étiquette, tandis que CMIM prend davantage en compte la redondance.
JMIM est un algorithme de sélection de caractéristiques de haute qualité.
Pertinence maximale, redondance minimale (MRMR)
Le MRMR est un algorithme gourmand en ressources qui fonctionne de manière itérative. Il est semblable à CMIM. Chaque itération choisit la caractéristique qui optimise la pertinence par rapport à l'étiquette, tout en minimisant la redondance par paire par rapport aux caractéristiques sélectionnées dans les itérations précédentes.
MRMR est un algorithme de sélection de caractéristiques de haute qualité.
Étapes suivantes
Après avoir effectué l'extraction de caractéristiques, vous pouvez entraîner un modèle pour la classification ou la régression :
- Entraînez un modèle avec AutoML de bout en bout.
- Entraînez un modèle avec TabNet.
- Entraînez un modèle avec des modèles wide et deep learning.