Ingénierie des caractéristiques
Améliorez la précision de l'apprentissage automatique grâce à l'ingénierie des caractéristiques. Découvrez les techniques de création, de transformation et de sélection de caractéristiques percutantes.
L'ingénierie des caractéristiques est l'art et la science de tirer parti des connaissances du domaine pour transformer les données brutes en attributs informatifs qui représentent le problème sous-jacent de manière plus efficace pour les modèles prédictifs.
informatifs qui représentent le problème sous-jacent de manière plus efficace pour les modèles prédictifs. Dans le cadre plus large de
l 'apprentissage machine (ML), les données brutes sont rarement prêtes à être
Elles contiennent souvent du bruit, des valeurs manquantes ou des formats que les algorithmes ne peuvent pas interpréter directement.
directement. En créant de nouvelles caractéristiques ou en modifiant celles qui existent déjà, les ingénieurs peuvent améliorer de manière significative la précision et les performances des modèles, ce qui permet souvent d'obtenir de meilleurs résultats.
la précision et la performance du modèle, ce qui permet souvent d'obtenir de meilleurs résultats que le simple passage à un modèle plus complexe.
souvent de meilleurs résultats que le simple passage à un algorithme plus complexe. Ce processus permet de combler le fossé entre les informations brutes
et la représentation mathématique nécessaire à la modélisation
la modélisation prédictive.
Techniques de base de l'ingénierie des fonctionnalités
Le processus comprend généralement plusieurs étapes itératives destinées à mettre en évidence les signaux les plus pertinents dans les données. Alors que des
outils tels que la bibliothèque Python en Python facilitent ces manipulations, la
repose en grande partie sur la compréhension du domaine spécifique du problème.
-
Imputation et nettoyage : Avant de créer de nouvelles caractéristiques, les données doivent être stabilisées. Cela implique
le traitement des valeurs manquantes au moyen de
techniques de nettoyage des données, telles que le comblement des lacunes par la moyenne, la médiane ou une valeur prédite.
par la moyenne, la médiane ou une valeur prédite, un processus connu sous le nom d'imputation.
imputation.
-
Transformation et mise à l'échelle : De nombreux algorithmes sont peu performants lorsque les variables d'entrée ont des échelles très différentes.
des échelles très différentes. Des techniques telles que
la normalisation (mise à l'échelle des données dans une fourchette de 0 à 1)
ou la normalisation (centrer les données autour de la moyenne) garantissent qu'aucune caractéristique ne domine le processus d'apprentissage en raison de son ampleur.
uniquement en raison de son ampleur.
-
Encodage des données catégorielles : Les modèles nécessitent généralement des données numériques. L'ingénierie des caractéristiques implique
convertir des étiquettes de texte ou des
données catégorielles en
en nombres. Les méthodes courantes comprennent l'encodage des étiquettes et l'encodage à un coup, qui crée des colonnes binaires pour chaque catégorie.
l'encodage à un point, qui crée des colonnes binaires pour chaque catégorie.
-
Construction des caractéristiques : Il s'agit de l'aspect créatif où de nouvelles variables sont dérivées. Par exemple, dans
dans un ensemble de données immobilières, au lieu d'utiliser séparément la "longueur" et la "largeur", un ingénieur pourrait les multiplier pour créer une caractéristique de "superficie", qui est plus fortement corrélée avec le prix.
les multiplier pour créer une caractéristique "superficie", qui présente une corrélation plus forte avec le prix.
-
Sélection des caractéristiques : L'ajout d'un trop grand nombre de caractéristiques peut entraîner un surajustement, c'est-à-dire que le modèle mémorise le bruit.
à un surajustement, où le modèle mémorise le bruit.
Des techniques telles que l'élimination récursive des caractéristiques ou la
réduction de la dimensionnalité permettent d'identifier
d'identifier et de conserver uniquement les attributs les plus significatifs.
Ingénierie des caractéristiques dans le domaine de la vision par ordinateur
Dans le domaine de la vision par ordinateur (VA), l'ingénierie
caractéristiques prend souvent la forme d'une
l 'augmentation des données. Alors que les modèles modernes d'apprentissage profond
d'apprentissage profond modernes apprennent automatiquement la hiérarchie et les modèles, nous pouvons "concevoir" les données d'entraînement pour qu'elles soient plus robustes en simulant différentes conditions environnementales.
en simulant différentes conditions environnementales. Modifier
configurations de réglage des hyperparamètres pour
pour inclure des transformations géométriques permet au modèle d'apprendre des caractéristiques invariantes à l'orientation ou à la perspective.
L'extrait de code suivant montre comment appliquer l'ingénierie des caractéristiques basée sur l'augmentation au cours de la formation d'un modèle d'analyse de l'environnement.
YOLO11 modèle. En ajustant des arguments tels que
degrees et shearnous synthétisons de nouvelles variations de caractéristiques à partir de l'ensemble de données original.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Train with augmentation hyperparameters acting as on-the-fly feature engineering
# 'degrees' rotates images +/- 10 deg, 'shear' changes perspective
model.train(data="coco8.yaml", epochs=3, degrees=10.0, shear=2.5)
Applications concrètes
La valeur de l'ingénierie des fonctionnalités est mieux comprise grâce à son application pratique dans différentes industries.
-
Évaluation des risques financiers : Dans le secteur financier, les journaux de transactions bruts sont insuffisants pour
pour évaluer la solvabilité. Les experts utilisent l
l'IA dans la finance
pour construire des ratios tels que le "ratio dette/revenu" ou le "taux d'utilisation du crédit". Ces caractéristiques
Ces caractéristiques techniques fournissent un signal direct de la santé financière, ce qui permet une modélisation plus précise du risque de crédit par rapport à l'utilisation de données brutes.
plus précise du risque de crédit par rapport à l'utilisation
de salaire ou d'endettement pris isolément.
-
Maintenance prédictive dans l'industrie manufacturière : En
l 'IA dans l'industrie manufacturière, les capteurs recueillent
des données à haute fréquence sur les vibrations et la température. L'introduction directe des données brutes des capteurs dans un modèle est souvent bruyante et inefficace.
et inefficace. Au lieu de cela, les ingénieurs utilisent
l 'analyse des séries temporelles pour créer des caractéristiques telles que
"la moyenne mobile de la température au cours de la dernière heure" ou "l'écart-type des vibrations". Ces
Ces caractéristiques agrégées capturent les tendances et les anomalies indicatives de l'usure de la machine bien mieux que les valeurs instantanées.
instantanées.
Distinction par rapport aux termes apparentés
Il est utile de distinguer l'ingénierie des fonctionnalités des concepts similaires afin d'éviter toute confusion dans les discussions sur le flux de travail.
-
Ingénierie des caractéristiques et extraction des caractéristiques : Bien qu'ils soient souvent utilisés de manière interchangeable, il y a une nuance.
L'ingénierie des caractéristiques implique un processus manuel et créatif de construction de nouvelles entrées basées sur la connaissance du domaine.
connaissance du domaine. À l'inverse, l'extraction de caractéristiques
l'extraction de caractéristiques fait souvent référence à des
automatisées ou à des projections mathématiques (comme l'ACP) qui distillent des données à haute dimension en une représentation dense. Dans l'apprentissage
l 'apprentissage profond (DL), les couches des
réseaux neuronaux convolutifs (CNN)
effectuent une extraction automatisée des caractéristiques en apprenant des filtres pour les bords et les textures.
-
Ingénierie des caractéristiques vs : Dans le traitement moderne du
traitement moderne du langage naturel (NLP), la création manuelle de caractéristiques (comme le comptage de la fréquence des mots) a été largement remplacée par les
embeddings. Les embeddings sont des représentations vectorielles denses
représentations vectorielles denses apprises par le modèle lui-même pour capturer le sens sémantique. Les embeddings sont une forme de caractéristiques,
ils sont appris par
processus d'apprentissage automatique (AutoML)
plutôt que d'être explicitement "conçus" à la main.
En maîtrisant l'ingénierie des fonctionnalités, les développeurs peuvent construire des modèles qui sont non seulement plus précis, mais aussi plus efficaces,
nécessitant moins de puissance de calcul pour atteindre des performances élevées.