Glossaire

Ingénierie de pointe

Augmente la précision de l'apprentissage automatique grâce à l'ingénierie des caractéristiques des experts. Apprends les techniques de création, de transformation et de sélection de caractéristiques percutantes.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

L'ingénierie des caractéristiques est le processus crucial de sélection, de transformation et de création de caractéristiques à partir de données brutes pour les rendre plus adaptées aux modèles d'apprentissage automatique (ML). Il s'agit d'utiliser les connaissances du domaine et les techniques d'analyse des données pour façonner des entrées qui représentent mieux le problème sous-jacent, pour finalement améliorer les performances, la précision et l'interprétabilité du modèle. Imagine que c'est comme préparer les meilleurs ingrédients pour une recette ; même le chef (ou le modèle) le plus compétent a du mal avec des ingrédients de mauvaise qualité(données d'entraînement). Cette étape est souvent considérée comme l'une des parties les plus critiques et les plus chronophages du flux de travail de ML.

Pourquoi l'ingénierie des fonctionnalités est-elle importante ?

Les données brutes collectées dans le monde réel sont rarement prêtes à être utilisées directement dans les algorithmes de ML. Elles peuvent contenir des valeurs manquantes, des incohérences, des informations non pertinentes ou se présenter sous des formats inadaptés à la consommation de modèles (comme du texte ou des données catégorielles). L'ingénierie des caractéristiques s'attaque à ces problèmes en :

  • Améliorer les performances des modèles : Les caractéristiques bien conçues mettent en évidence les modèles pertinents pour le problème, ce qui facilite l'apprentissage et la généralisation des modèles.
  • Réduction de la complexité : il peut simplifier les modèles en fournissant des entrées plus informatives, réduisant parfois le besoin d'architectures ou d'algorithmes de détection d'objets très complexes.
  • Traitement de divers types de données : Il fournit des méthodes pour convertir divers types de données (texte, images, catégoriques) en représentations numériques que les algorithmes comprennent. Pour aller plus loin, explore les techniques de prétraitement des données.
  • Améliorer l'interprétabilité : Les caractéristiques significatives peuvent parfois faciliter la compréhension des raisons pour lesquelles un modèle fait certaines prédictions, ce qui contribue à l'IA explicable (XAI).

Techniques courantes d'ingénierie des fonctionnalités

Plusieurs techniques relèvent de l'ingénierie des caractéristiques :

  • Imputation : Traiter les données manquantes en comblant les lacunes par des valeurs estimées (par exemple, la moyenne, la médiane ou des méthodes plus sophistiquées). Le traitement des données manquantes est une première étape courante.
  • Mise à l'échelle et normalisation : Ajustement de l'étendue ou de la distribution des caractéristiques numériques (par exemple, mise à l'échelle Min-Max, normalisation du score Z) pour éviter que les caractéristiques ayant des valeurs plus importantes ne dominent le processus d'apprentissage.
  • Encodage de variables catégorielles : La conversion de données non numériques (comme les catégories 'rouge', 'vert', 'bleu') en formats numériques (par exemple, One-Hot Encoding, Label Encoding). Voir codage des données catégorielles.
  • Création de caractéristiques (génération) : Dérivation de nouvelles caractéristiques à partir de caractéristiques existantes en fonction de la connaissance du domaine ou de l'analyse des interactions (par exemple, création de l'"âge" à partir de la "date_de_naissance", combinaison de la "taille" et du "poids" pour obtenir l'"IMC", ou extraction de caractéristiques textuelles à l'aide du TF).
  • Binning (discrétisation) : Regroupement de données numériques continues en bacs ou intervalles discrets.
  • Transformation logarithmique : Appliquer une transformation logarithmique pour traiter les distributions de données asymétriques. Explore les transformations de données pour plus de détails.
  • Sélection des caractéristiques : Identifier et conserver uniquement les caractéristiques les plus pertinentes, en écartant celles qui sont redondantes ou non pertinentes afin de simplifier le modèle et d'améliorer potentiellement les performances. Cela est étroitement lié à la réduction de la dimensionnalité.

Ingénierie des caractéristiques vs. extraction des caractéristiques

Bien qu'elles soient souvent utilisées de façon interchangeable, l'ingénierie des caractéristiques et l'extraction des caractéristiques ont des nuances distinctes.

  • Ingénierie des caractéristiques : Un processus plus large qui comprend l' extraction de caractéristiques, mais aussi la création manuelle de nouvelles caractéristiques, la transformation des caractéristiques existantes en fonction de l'expertise du domaine, et la sélection des meilleures caractéristiques. Il nécessite souvent de la créativité et une compréhension approfondie des données et du problème.
  • Extraction de caractéristiques : Se concentre spécifiquement sur la transformation automatique de données brutes, souvent de haute dimension (comme des images ou des relevés bruts de capteurs) en un ensemble de caractéristiques de dimension inférieure, plus facile à gérer. Des techniques telles que l'analyse en composantes principales (ACP) ou l'apprentissage automatique des caractéristiques effectué par les couches des réseaux neuronaux convolutionnels (CNN) sont des exemples d'extraction de caractéristiques.

Par essence, l'extraction de caractéristiques est souvent un outil utilisé dans le cadre du processus plus large de l'ingénierie des caractéristiques.

Applications dans le monde réel

  1. Maintenance prédictive : Dans la fabrication, les données brutes des capteurs (vibration, température, pression) des machines peuvent être bruyantes et à haute dimension. L'ingénierie des caractéristiques pourrait impliquer le calcul de moyennes glissantes, d'écarts types sur des fenêtres temporelles, de caractéristiques dans le domaine des fréquences (comme la FFT), ou la création de caractéristiques indiquant des pics ou des changements soudains. Ces caractéristiques élaborées permettent à un modèle ML de prédire plus facilement les défaillances potentielles de l'équipement avant qu'elles ne se produisent, comme nous l'avons vu dans l'article L'IA dans la fabrication.
  2. Prédiction du taux d'attrition des clients : Pour prédire quels clients pourraient cesser d'utiliser un service, les données brutes comprennent les journaux d'utilisation, les données démographiques, l'historique des tickets d'assistance et les enregistrements d'achat. L'ingénierie des fonctionnalités pourrait impliquer la création de fonctionnalités telles que la "durée moyenne de la session", le "temps écoulé depuis le dernier achat", le "nombre de tickets d'assistance au cours du dernier mois", le "rapport entre les commentaires positifs et négatifs" ou la "valeur de la durée de vie du client". Ces caractéristiques dérivées fournissent des signaux plus riches pour prédire le désabonnement par rapport aux seuls logs bruts. Cela est pertinent pour l'IA dans les domaines de la finance et de la vente au détail.

Ingénierie des fonctionnalités et Ultralytics

Alors que les modèles avancés comme Ultralytics YOLO excellent dans des tâches telles que la détection d'objets et la segmentation d'images en apprenant automatiquement les caractéristiques visuelles pertinentes grâce à leurs architectures de réseaux neuronaux profonds(colonne vertébrale, cou, tête), les principes d'ingénierie des caractéristiques restent pertinents. Par exemple, le prétraitement des images d'entrée (égalisation de l'histogramme pour varier l'éclairage, réduction du bruit à l'aide de bibliothèques comme OpenCV, ou application d'augmentations de données spécifiques adaptées au domaine du problème) avant de les introduire dans un modèle YOLO est une forme d'ingénierie des caractéristiques qui peut améliorer la robustesse et les performances du modèle. De plus, les résultats de YOLO (comme les coordonnées de la boîte englobante, les classes d'objets, les nombres) peuvent être transformés en caractéristiques pour les tâches en aval ou combinés avec d'autres sources de données pour une analyse plus complexe, éventuellement gérée par des plateformes comme Ultralytics HUB qui aide à organiser les ensembles de données et les modèles. Explore la documentation et les tutoriels d' Ultralytics pour en savoir plus sur l'utilisation des modèles, la formation personnalisée et le prétraitement des données annotées. Des outils comme Featuretools peuvent également aider à automatiser certaines parties du processus d'ingénierie des caractéristiques, en s'alignant sur les concepts de l'apprentissage automatique de la machine (AutoML). Une ingénierie des caractéristiques efficace, même aux côtés de puissants modèles d'apprentissage profond, reste un aspect essentiel des pratiques MLOps réussies.

Tout lire