Introduction à la transformation des données

L'extraction de caractéristiques consiste à déterminer les caractéristiques qui peuvent être utiles pour entraîner un modèle, puis à les créer en transformant les données brutes trouvées dans des fichiers journaux et d'autres sources. Dans cette section, nous nous concentrerons sur la transformation des données numériques et catégorielles, ainsi que sur leur transformation, ainsi que sur les compromis entre différentes approches.

Raisons de la transformation des données

Nous transformons les caractéristiques principalement pour les raisons suivantes:

  1. Transformations obligatoires pour assurer la compatibilité des données. Exemples :

    • Convertir des caractéristiques non numériques en valeurs numériques Vous ne pouvez pas effectuer de multiplication matricielle sur une chaîne. Nous devons donc convertir la chaîne en une représentation numérique.
    • Redimensionnement des entrées à une taille fixe. Les modèles linéaires et les réseaux de neurones à transfert avant ont un nombre fixe de nœuds d'entrée. Par conséquent, vos données d'entrée doivent toujours avoir la même taille. Par exemple, les modèles d'images doivent remodeler les images de leur ensemble de données afin qu'elles aient une taille fixe.
  2. Transformations de qualité facultatives susceptibles d'améliorer les performances du modèle. Exemples :

    • Tokenisation ou réduction de la casse pour les caractéristiques textuelles
    • Caractéristiques numériques normalisées (la plupart des modèles sont plus performants par la suite).
    • Permettre aux modèles linéaires d'introduire des non-linéarités dans l'espace des caractéristiques.

À proprement parler, les transformations de qualité ne sont pas nécessaires. Votre modèle pourrait tout de même s'exécuter sans elles. Cependant, l'utilisation de ces techniques peut permettre au modèle d'améliorer les résultats.

Où se transformer ?

Vous pouvez appliquer des transformations lors de la génération des données sur disque ou dans le modèle.

Transformer avant l'entraînement

Cette approche consiste à effectuer la transformation avant l'entraînement. Ce code est distinct de votre modèle de machine learning.

Avantages

  • Le calcul n'est effectué qu'une seule fois.
  • Le calcul peut examiner un ensemble de données entier pour déterminer la transformation.

Inconvénients

  • Les transformations doivent être reproduites au moment de la prédiction. Attention aux décalages !
  • Toutes les modifications de transformation nécessitent de réexécuter la génération de données, ce qui ralentit les itérations.

Le décalage est plus dangereux dans les cas impliquant la publication en ligne. Pour la diffusion hors connexion, vous pouvez peut-être réutiliser le code qui génère vos données d'entraînement. Dans la diffusion en ligne, le code qui crée votre ensemble de données et celui utilisé pour gérer le trafic en direct sont presque nécessairement différents, ce qui facilite l'introduction d'un décalage.

Transformation dans le modèle

Dans cette approche, la transformation fait partie du code du modèle. Le modèle reçoit des données non transformées en entrée et les transforme dans le modèle.

Avantages

  • Itérations faciles. Si vous modifiez les transformations, vous pouvez toujours utiliser les mêmes fichiers de données.
  • Les mêmes transformations sont garanties au moment de l'entraînement et de la prédiction.

Inconvénients

  • Les transformations coûteuses peuvent augmenter la latence du modèle.
  • Les transformations sont effectuées par lot.

Il existe de nombreux points à prendre en compte pour la transformation par lot. Supposons que vous souhaitiez normaliser une caractéristique en fonction de sa valeur moyenne, c'est-à-dire modifier les valeurs des caractéristiques pour avoir une moyenne 0 et un écart type 1. Lors de la transformation dans le modèle, cette normalisation n'aura accès qu'à un seul lot de données, et non à l'ensemble de données complet. Vous pouvez normaliser les données en fonction de la valeur moyenne d'un lot (dangereux si les lots sont très variables), ou précalculer la moyenne et la corriger en tant que constante dans le modèle. Nous parlerons de la normalisation dans la section suivante.

Explorer, nettoyer et visualiser vos données

Explorer et nettoyer vos données avant d'effectuer des transformations sur celles-ci Vous avez peut-être effectué certaines des tâches suivantes lorsque vous avez collecté et compilé votre ensemble de données:

  • Examinez plusieurs lignes de données.
  • de vérifier les statistiques de base ;
  • Correction des entrées numériques manquantes.

Visualisez fréquemment vos données. Les graphiques peuvent aider à détecter des anomalies ou des schémas qui ne sont pas clairs sur les statistiques numériques. Par conséquent, avant d'aller plus loin dans l'analyse, examinez vos données sous forme graphique, soit via des graphiques à nuage de points, soit avec des histogrammes. Affichez les graphiques non seulement au début du pipeline, mais aussi tout au long de la transformation. Les visualisations vous aident à vérifier en permanence vos hypothèses et les effets des modifications majeures.