Ingénierie des fonctionnalités
Améliorez la précision de l'apprentissage automatique grâce à l'ingénierie des caractéristiques. Apprenez les techniques de création, de transformation et de sélection de caractéristiques percutantes.
L'ingénierie des caractéristiques est le processus qui consiste à utiliser les connaissances du domaine pour sélectionner, créer et transformer les données brutes en caractéristiques qui représentent mieux le problème sous-jacent pour les modèles prédictifs. Il s'agit d'une étape critique et souvent chronophage du pipeline d'apprentissage automatique, car la qualité des caractéristiques a un impact direct sur les performances et la précision du modèle résultant. Une ingénierie des caractéristiques efficace peut faire la différence entre un modèle médiocre et un modèle très précis, et permet souvent des gains de performance plus importants que le choix d'un algorithme différent ou le réglage approfondi des hyperparamètres.
## Le processus d'ingénierie des fonctionnalités
L'ingénierie des caractéristiques est à la fois un art et une science, mêlant l'expertise du domaine aux techniques mathématiques. Le processus peut être décomposé en plusieurs activités communes, souvent gérées à l'aide de bibliothèques telles que le module de prétraitement de scikit-learn ou d'outils spécialisés pour l'ingénierie des caractéristiques automatisée.
- Création de fonctionnalités : Il s'agit de créer de nouvelles caractéristiques à partir de caractéristiques existantes. Par exemple, dans un ensemble de données sur le commerce de détail, vous pouvez soustraire une "date d'achat" d'une date "client depuis" pour créer une caractéristique "durée de la fidélité du client". Dans l'analyse des séries chronologiques, vous pouvez dériver des caractéristiques telles que les moyennes mobiles ou la saisonnalité à partir d'un horodatage.
- Transformations : Les données brutes doivent souvent être transformées pour répondre aux hypothèses d'un algorithme d'apprentissage automatique. Il s'agit notamment de mettre à l'échelle les caractéristiques numériques, d'appliquer des transformations logarithmiques pour traiter les données asymétriques ou d'utiliser des techniques telles que le binning pour regrouper les nombres en catégories.
- Encodage : De nombreux modèles de ML ne peuvent pas traiter directement les données catégorielles. Le codage consiste à convertir les catégories textuelles en représentations numériques. Les méthodes courantes comprennent l'encodage à un coup, où chaque valeur de catégorie est convertie en une nouvelle colonne binaire, et l'encodage d'étiquettes.
- Sélection des caractéristiques : Toutes les caractéristiques ne sont pas utiles. Certaines peuvent être redondantes ou non pertinentes, introduisant un bruit qui peut conduire à un surajustement. La sélection des caractéristiques vise à choisir un sous-ensemble des caractéristiques les plus pertinentes afin d'améliorer les performances du modèle et de réduire les coûts de calcul.
## Applications dans le monde réel
L'impact de l'ingénierie des caractéristiques est évident dans de nombreux secteurs. Son efficacité repose souvent sur une connaissance approfondie du domaine pour créer des caractéristiques qui capturent réellement les signaux prédictifs.
- L'évaluation du crédit : En finance, les données brutes sur les clients peuvent inclure le revenu, l'âge et l'historique des prêts. Un ingénieur pourrait créer de nouvelles variables telles que le "ratio dette/revenu" (division de la dette totale par le revenu brut) ou l'"utilisation du crédit" (division du solde de la carte de crédit par la limite de crédit). Ces caractéristiques techniques fournissent un signal beaucoup plus clair de la santé financière d'une personne que les seuls chiffres bruts, ce qui permet d'élaborer des modèles de risque de crédit plus précis.
- Maintenance prédictive : Dans l'industrie manufacturière, les capteurs installés sur les machines produisent de vastes flux de données brutes telles que les vibrations, la température et la vitesse de rotation. Pour prévoir les pannes, un ingénieur peut créer des caractéristiques telles que la "moyenne mobile de la température au cours des dernières 24 heures" ou l'"écart type des vibrations". Ces caractéristiques peuvent révéler des schémas subtils de dégradation qui précèdent une défaillance mécanique, ce qui permet une maintenance proactive et évite des temps d'arrêt coûteux.
## Ingénierie des fonctionnalités et concepts connexes
Il est important de distinguer l'ingénierie des caractéristiques des termes apparentés dans l'IA et la science des données.
- Ingénierie des caractéristiques et extraction des caractéristiques: L'ingénierie des caractéristiques est un processus largement manuel qui consiste à créer de nouvelles caractéristiques sur la base de l'intuition et de l'expertise. L'extraction de caractéristiques est généralement un processus automatisé de transformation des données en un ensemble réduit de caractéristiques. Dans l'apprentissage profond, des modèles tels que les réseaux neuronaux convolutifs (CNN) effectuent automatiquement l'extraction de caractéristiques, en apprenant des caractéristiques hiérarchiques (bords, textures, formes) à partir de données pixellisées brutes, sans intervention humaine.
- Ingénierie des caractéristiques et emboîtements: Les embeddings sont une forme sophistiquée de représentation des caractéristiques, couramment utilisée dans le domaine du NLP et de la vision par ordinateur. Au lieu de créer manuellement des caractéristiques, un modèle apprend un vecteur dense qui capture la signification sémantique d'un élément (comme un mot ou une image). Par conséquent, les embeddings sont le résultat d'un apprentissage automatisé des caractéristiques, et non d'une ingénierie manuelle.
- Ingénierie des caractéristiques et prétraitement des données: Le prétraitement des données est une catégorie plus large qui comprend l'ingénierie des caractéristiques comme l'une de ses étapes clés. Il englobe également d'autres tâches essentielles telles que le nettoyage des données (traitement des valeurs manquantes et des valeurs aberrantes) et la préparation des ensembles de données pour la formation.
Si les architectures modernes, comme celles des modèles YOLO d'Ultralytics, automatisent l'extraction de caractéristiques pour des tâches basées sur l'image telles que la détection d'objets et la segmentation d'instances, les principes de l'ingénierie des caractéristiques restent fondamentaux. Il est essentiel de comprendre comment représenter efficacement les données pour déboguer les modèles, améliorer la qualité des données et résoudre des problèmes complexes qui impliquent la combinaison de données visuelles et de données structurées. Des plateformes comme Ultralytics HUB fournissent des outils pour gérer l'ensemble du cycle de vie, de la préparation des données au déploiement des modèles.