feature engineering machine learning

Ingénierie des fonctionnalités : des données brutes à l'ensemble de formation

Tim Filzinger

L'ingénierie des caractéristiques permet de préparer les données pour un entraînement aussi efficace que possible des modèles d'IA. Différentes techniques sont utilisées pour la création et la modification de variables (caractéristiques). L'objectif est de créer la structure de données individuellement adaptée au processus d'apprentissage prévu. L'ingénierie des caractéristiques est donc l'un des processus les plus importants du Machine Learning et contribue de manière décisive à la qualité et à la précision des algorithmes correspondants.

Qu'est-ce que l'ingénierie des fonctionnalités ?

Feature Engineering est un terme générique qui désigne les techniques visant à préparer des données d'apprentissage pour les modèles d'IA. Il s'agit de créer une structure mathématique de variables qui facilite le traitement des données par l'algorithme et permet un processus d'apprentissage efficace. Peu importe que les données soient sous forme de texte, d'image ou autre. Seules l'approche pratique et les techniques spécifiques sont adaptées en fonction du type de données et de la nature du modèle d'IA. Dans l'ensemble, l'ingénierie des fonctionnalités comprend la création, la sélection et la modification de variables appropriées, appelées fonctionnalités dans ce contexte. Leur nature, leur structure et leur utilité pour le modèle prévu contribuent de manière décisive à sa qualité et à la réussite du projet. De nombreux processus et sous-domaines de l'apprentissage automatique se déroulent en grande partie de manière automatisée. Ce n'est pas le cas de l'ingénierie des fonctionnalités, qui requiert une grande expertise et une grande créativité. C'est pourquoi il est généralement confié à des personnes expérimentées. Ingénieurs de données et Scientists.

ingénierie des données

Caractéristiques de Deep Dive

Dans le contexte de l'apprentissage automatique, les caractéristiques sont des propriétés, des caractéristiques ou des variables représentatives qui sont extraites des données d'entrée et utilisées pour prédire un résultat ou une variable cible. Les caractéristiques sont donc un élément essentiel du Machine Learning et servent d'entrée aux algorithmes d'apprentissage. Elles apparaissent sous différentes formes : En continu décrit des valeurs métriques non finies. Discret sont des valeurs numériques, mais qui peuvent être comptées. Un catégorique Feature comprend les catégories qui n'ont pas besoin d'être classées. Les autres types sont binaire Caractéristiques . En fin de compte, presque toutes les propriétés d'un objet peuvent être codées mathématiquement de cette manière et rendues mesurables par un algorithme.

Un exemple : pour déterminer le prix d'une voiture, on peut considérer des caractéristiques telles que la marque, le modèle, l'année de construction, la couleur, la puissance et l'équipement. Elles peuvent toutes être exprimées mathématiquement, comme décrit ci-dessus, et peuvent renseigner un algorithme sur la valeur de la voiture. L'essentiel est que ces caractéristiques nécessaires à la détermination du prix aient été déterminées et codées. Dans la pratique, les algorithmes d'apprentissage doivent toutefois traiter un nombre nettement plus important de caractéristiques et de propriétés.

sélection de modèles

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

L'apprentissage automatique est en grande partie constitué de statistiques appliquées et de les prédictions probabilistes. C'est la raison pour laquelle il faut transformer les informations en une forme mathématiquement saisissable avant de procéder à l'apprentissage nécessaire. Ce n'est qu'ainsi que le contenu informatif des données devient lisible de manière algorithmique. L'ingénierie des caractéristiques comprend de nombreuses étapes de traitement nécessaires pour créer la structure appropriée à l'aide de caractéristiques. Celle-ci dépend en grande partie de ce que l'algorithme doit apprendre et exécuter ultérieurement. L'exemple de la détermination du prix des voitures permet de voir rapidement quelles sont les fonctionnalités nécessaires. En revanche, s'il s'agit de modèles complexes de Machine Learning pour, par exemple, des images ou des données, il est nécessaire d'utiliser des outils spécifiques. Reconnaissance de texteIl n'est plus aussi simple de déterminer les caractéristiques appropriées et surtout de transformer les données en conséquence. C'est précisément là qu'interviennent des techniques telles que l'imputation, la mise à l'échelle ou la discrétisation. Le choix et la mise en œuvre de ces techniques requièrent beaucoup de doigté et une approche individuelle de chaque cas particulier.

Non seulement l'absence de fonctionnalités importantes et bien structurées, mais aussi la prise en compte d'informations superflues peuvent affaiblir considérablement un modèle. En revanche, une ingénierie des fonctionnalités précise permet de compenser certaines insuffisances de l'algorithme. Cet effet est particulièrement important pour les modèles prédictifs qui doivent prendre des décisions probabilistes - par exemple pour Classification d'objets, par exemple. Dans ce cas, on travaille généralement avec des variables de résultat et de prédicteur qui sont créées au moyen de l'ingénierie des caractéristiques.

L'ingénierie des fonctionnalités en 3 étapes

Bien que l'ingénierie des fonctionnalités englobe de nombreuses techniques différentes, le processus peut typiquement être divisé en trois phases, à savoir

  1. Préparation des données

    Dans la plupart des cas, les données brutes ne sont pas adaptées à la création de fonctions, car elles proviennent souvent de différentes sources et n'ont pas un format uniforme. Or, c'est précisément ce qui est généralement nécessaire pour le Machine Learning. C'est pourquoi les données sont d'abord rassemblées, formatées et standardisées. Les techniques correspondantes comprennent le prétraitement, le nettoyage, le profilage, la transformation et la validation des données. Comme ce processus révèle souvent déjà des informations pertinentes telles que certains mots-clés, il est également possible d'extraire les premières caractéristiques, qui doivent toutefois généralement être traitées plus avant.

  2. Explorative Analyse des données

    Ensuite, il s'agit de mieux comprendre les données et d'identifier les relations importantes qui permettent de créer d'autres fonctionnalités utiles. Pour ce faire, les data scientists utilisent une large gamme d'outils de visualisation qui les aident à déterminer la meilleure approche statistique et les techniques appropriées pour le traitement ultérieur des données. Concrètement, celles-ci sont souvent présentées sous forme d'histogrammes, de box plots ou de diagrammes de dispersion afin d'en déduire les hypothèses correspondantes.

  3. Benchmarking

    A ce stade de l'ingénierie des fonctionnalités, il est important de définir des normes pour les métriques de précision et de qualité et de les appliquer à toutes les fonctionnalités. Cette étape a la plus grande influence sur la performance ultérieure du modèle d'apprentissage automatique. Il est tout d'abord testé à plusieurs reprises sur la base des données afin d'optimiser davantage les caractéristiques et les expressions correspondantes. Cela se fait en sélectionnant les fonctionnalités particulièrement pertinentes, mais aussi en les transformant et en les recréant à l'aide de techniques de combinaison. En principe, l'ingénierie des fonctionnalités n'a pas lieu uniquement avant la phase d'entraînement, mais peut être réutilisée à tout moment pour optimiser le modèle.

sélection de données

Techniques populaires

Comme nous l'avons déjà indiqué, la grande majorité des techniques que l'on peut qualifier de feature engineering s'occupent de Extractiontransformation, la sélection et la création de fonctionnalités. Voici quelques exemples concrets :

Imputation

L'imputation permet d'éliminer les valeurs manquantes, sans quoi des problèmes de probabilité nulle peuvent survenir, en particulier dans les modèles de prévision. La suppression des parties de données correspondantes serait certes une solution possible, mais elle peut entraîner la perte d'informations précieuses. Au lieu de cela, les valeurs catégorielles manquantes sont généralement remplacées par la valeur la plus fréquente. Pour les lacunes numériques, on calcule la moyenne arithmétique de la caractéristique.

Codage catégoriel

Un cas classique de transformation de caractéristiques. En règle générale, les valeurs numériques sont plus faciles à comprendre pour un algorithme que les valeurs catégoriques. C'est pourquoi les valeurs correspondantes sont souvent recodées en chiffres. Le codage à chaud (One Hot Encoding) met en valeur uniquement les zéros et les uns, sans perdre d'informations dans les données. Toutefois, une utilisation trop fréquente de cette technique peut entraîner une corrélation anormalement forte entre les caractéristiques.

ingénierie des données de modèle

Discrétisation

La discrétisation permet de transformer une fonction continue en une fonction discrète. Pour ce faire, les valeurs sont souvent triées dans des "bin". Une classe est créée en divisant les valeurs en intervalles croissants en fonction de leur taille. Ces intervalles peuvent ensuite être décrits de manière discrète.

Mise à l'échelle

Cette méthode de feature engineering est utilisée lorsque les algorithmes sont trop sensibles à certaines échelles de certaines données. L'échelle min-max consiste à mettre les valeurs à l'échelle dans la plage comprise entre 0 et 1 et donc à les normaliser. La valeur minimale est attribuée à 0 et la valeur maximale à 1. L'échelle de variance, quant à elle, vise à créer une moyenne de 0 et une variance de 1 pour la caractéristique concernée. Pour ce faire, la valeur moyenne est soustraite de tous les points de données et le résultat est divisé par la variance de la distribution. Grâce à ces techniques, il est possible de créer des plages de valeurs quelconques pour les données les plus diverses sans perdre les rapports et les informations importantes - un principe de base décisif de l'ingénierie des caractéristiques.

Conclusion

Pour un apprentissage automatique précis et ciblé, il n'y a pas d'autre solution que l'ingénierie des fonctionnalités. Il est trop important de disposer d'une structure de données adaptée, qui sera utilisée sous forme de caractéristiques pour l'apprentissage automatique. Formation des modèles d'intelligence artificielle. Le choix des techniques utilisées dépend en grande partie des objectifs et du fonctionnement prévu de l'algorithme. Toutefois, l'ingénierie des fonctions comprend généralement l'extraction, la transformation, la sélection et la création de fonctions. Le processus sommaire peut être divisé en préparation des données, analyse exploratoire des données et analyse comparative. Les techniques concrètes de l'ingénierie des caractéristiques comprennent principalement le transcodage mathématique, grâce auquel chaque caractéristique peut être mise sous la forme appropriée pour le traitement algorithmique.

À propos de moi

Autres grands articles

devenir un auteur invité

Devenir auteur invité sur le blog IA de Konfuzio

Le blog de Konfuzio.com est toujours à la recherche d'auteur(e)s invité(e)s qualifié(e)s qui apportent leur expertise dans les domaines de l'IA et de l'informatique avec...

Lire l'article
Optimisation des processus grâce à la gouvernance des données

Gouvernance des données : optimisation et sécurité

Qu'est-ce que la gouvernance des données ? La gouvernance des données est une solution complète pour gérer les données de manière professionnelle. Elle se réfère à...

Lire l'article
Traitement automatisé des données

Les tendances et les possibilités du traitement automatisé des données

Lorsque l'on parle de traitement de données, on pense souvent en premier lieu à d'interminables tableaux Excel dans lesquels un...

Lire l'article
Arrow-up