Le prétraitement des données est l'étape du pipeline de apprentissage automatique qui convertit des données brutes et désordonnées en un format propre et structuré, adapté à l'analyse et à l'entraînement des modèles. Il englobe un large éventail de techniques - notamment le nettoyage, la transformation, la réduction et l'ingénierie des caractéristiques - qui traitent des problèmes tels que les valeurs manquantes, les formats incohérents, les valeurs aberrantes et les informations redondantes. L'objectif est d'améliorer la qualité des données et, par conséquent, la précision et la fiabilité des modèles en aval, qu'il s'agisse d'algorithmes classiques ou de réseaux de apprentissage profond. Bien que souvent considéré comme une étape banale, le prétraitement peut consommer une part importante du temps d'un data scientist et est essentiel pour éviter des prédictions biaisées ou erronées.
La nécessité du prétraitement découle du fait que les données du monde réel sont rarement prêtes pour une consommation directe. Des sources comme les capteurs, les saisies utilisateur et les journaux web produisent des enregistrements bruités, incomplets et hétérogènes. Par exemple, un ensemble de données peut contenir des entrées en double, des champs de date dans des formats différents ou des variables catégorielles avec des fautes de frappe. Sans prétraitement, les modèles peuvent échouer à converger, produire des résultats asymétriques ou surajuster des motifs non pertinents. Dans le contexte des systèmes d'intelligence artificielle, le prétraitement aide également à aligner les données sur les exigences spécifiques des algorithmes, comme la mise à l'échelle pour l'optimisation par gradient ou l'encodage pour les architectures de réseaux de neurones.
Nettoyage des données
Le nettoyage des données est la première et la plus fondamentale étape du prétraitement. Il implique l'identification et la correction des erreurs, la gestion des valeurs manquantes et la suppression des doublons. Les données manquantes peuvent être traitées par suppression (retrait des lignes ou colonnes avec des taux d'absence élevés) ou par imputation (remplissage des lacunes avec des mesures statistiques comme la moyenne, la médiane ou le mode, ou avec des méthodes plus avancées comme les k-plus proches voisins). Les valeurs aberrantes, qui sont des valeurs extrêmes s'écartant significativement de la norme, sont souvent détectées à l'aide de scores z ou d'intervalles interquartiles et peuvent être plafonnées, transformées ou supprimées selon le contexte. Les enregistrements en double, qui peuvent résulter d'erreurs de fusion de données, sont généralement identifiés sur la base de champs clés et éliminés pour éviter une surreprésentation.
Transformation des données
La transformation convertit les données en une échelle ou une distribution cohérente. Les techniques courantes incluent la normalisation (mise à l'échelle des caractéristiques dans une plage, souvent de 0 à 1) et la standardisation (centrage de la moyenne à 0 et mise à l'échelle de la variance à 1). Ces techniques sont essentielles pour les algorithmes qui reposent sur des mesures de distance, comme les k-plus proches voisins, et pour les optimiseurs par gradient comme optimiseur Adam et variantes de la descente de gradient stochastique. Pour les distributions asymétriques, les transformations logarithmiques ou de puissance peuvent réduire l'asymétrie et rendre les motifs plus apparents. L'encodage des variables catégorielles est une autre transformation clé : l'encodage par étiquettes attribue des entiers aux catégories, tandis que l'encodage one-hot crée des colonnes binaires pour chaque catégorie, souvent préféré pour les modèles qui supposent aucune relation ordinale. Les champs de date et d'heure peuvent être décomposés en composants comme l'année, le mois et le jour de la semaine.
Réduction des données et ingénierie des caractéristiques
La réduction des données vise à diminuer le volume de données tout en préservant les informations essentielles. Les techniques de réduction de dimensionnalité, comme l'analyse en composantes principales (ACP) et t-SNE, projettent des données de haute dimension dans des espaces de dimension inférieure, réduisant le coût computationnel et atténuant la malédiction de la dimensionnalité. Les méthodes de sélection de caractéristiques, y compris les approches par filtre, par enveloppe et intégrées, identifient les variables les plus pertinentes et éliminent celles qui sont redondantes. L'ingénierie des caractéristiques, en revanche, crée de nouvelles caractéristiques à partir de celles existantes pour mieux capturer les motifs sous-jacents. Par exemple, à partir d'un horodatage, on peut dériver « heure du jour » ou « est_weekend », et à partir d'un historique d'achats, on peut calculer « valeur moyenne de transaction ». Dans le augmentation de données, qui est une forme de prétraitement courante dans les tâches d'images et de texte, des variations synthétiques sont générées pour augmenter la taille de l'ensemble de données et améliorer la généralisation.
Prétraitement pour l'apprentissage profond
Les modèles d'apprentissage profond, en particulier les architectures basées sur transformeurs comme les grands modèles de langage, ont des exigences spécifiques en matière de prétraitement. Les données textuelles doivent être tokenisées - divisées en mots, sous-mots ou caractères - et converties en identifiants numériques, souvent à l'aide d'un vocabulaire construit pendant l'entraînement. Les séquences sont complétées ou tronquées à une longueur fixe pour permettre le traitement par lots. Pour les données d'image, le prétraitement peut inclure le redimensionnement, le recadrage et la normalisation des couleurs. De plus, des techniques comme le normalisation par lots et le normalisation de couche sont appliquées dans les réseaux pour stabiliser l'entraînement, bien qu'elles soient parfois considérées comme faisant partie de l'architecture du modèle plutôt que du prétraitement. Pour les tâches de séquence à séquence, le prétraitement peut impliquer le tri des séquences par longueur pour optimiser le calcul. Le choix des étapes de prétraitement peut avoir un impact significatif sur les performances de modèles comme réseau résiduel ou U-Net, et il est souvent ajusté dans le cadre du pipeline global.
Outils et bonnes pratiques
En pratique, le prétraitement des données est effectué à l'aide de bibliothèques de programmation telles que pandas et scikit-learn en Python, ou d'outils spécialisés dans les plateformes cloud comme Amazon Web Services, Azure et Google Cloud. Les bonnes pratiques incluent la documentation de chaque transformation, la création de pipelines reproductibles et la division des données en ensembles d'entraînement, de validation et de test avant tout prétraitement pour éviter les fuites de données. Les paramètres de mise à l'échelle doivent être ajustés uniquement sur l'ensemble d'entraînement et appliqués aux données de test. À partir du milieu des années 2020, les outils d'apprentissage automatique automatisé (AutoML) intègrent de plus en plus d'étapes de prétraitement, mais la supervision humaine reste essentielle pour garantir que les transformations s'alignent sur les connaissances du domaine et n'introduisent pas de biais.
Conclusion
Le prétraitement des données est une étape fondamentale dans tout projet d'apprentissage automatique ou d'IA. Il comble l'écart entre les données brutes et la préparation des modèles, influençant directement la qualité des prédictions. Bien qu'il manque de l'attrait des architectures de modèles ou des algorithmes d'entraînement, son importance ne peut être surestimée : un ensemble de données bien prétraité peut faire la différence entre un modèle qui échoue et un modèle qui fonctionne de manière fiable en production. À mesure que les volumes de données augmentent et que les sources deviennent plus diverses, le rôle du prétraitement ne fera que devenir plus critique, avec des recherches continues sur des méthodes automatisées et adaptatives.