L’ingénierie des caractéristiques pré-traite les données brutes dans un format lisible par une machine. Elle transforme et sélectionne les caractéristiques pertinentes pour optimiser la performance des modèles de ML.
L’ingénierie des caractéristiques consiste à transformer les données brutes en informations pertinentes que les modèles de machine learning peuvent utiliser. En d’autres termes, l’ingénierie des caractéristiques correspond au processus de création des caractéristiques d’un modèle prédictif. Une caractéristique, également appelée dimension, est une variable d’entrée utilisée pour générer les prédictions des modèles. Étant donné que la performance des modèles repose en grande partie sur la qualité des données utilisées lors de leur entraînement, l’ingénierie des caractéristiques est une technique de prétraitement essentielle qui exige la sélection des aspects les plus pertinents des données d’apprentissage brutes pour la tâche prédictive et le type de modèle envisagés.1
Avant de poursuivre, une petite remarque sur la terminologie. De nombreuses sources utilisent les termes ingénierie des caractéristiques et extraction des caractéristiques de manière interchangeable pour décrire la création des variables du modèle.2 Parfois, certaines sources utilisent également le terme extraction des caractéristiques pour désigner le nouveau mappage d’un espace de caractéristiques initial sur un espace de caractéristiques de moindre dimension.3 La sélection des caractéristiques, en revanche, est une forme de réduction de la dimensionnalité. Plus précisément, il s’agit de sélectionner un sous-ensemble de variables afin de créer un nouveau modèle dans le but de réduire la multicolinéarité, et ainsi de maximiser la généralisabilité et l’optimisation du modèle.
Comme la qualité d’un modèle dépend des données sur lesquelles il est basé, les data scientists consacrent une grande partie de leur temps à la préparation des données et à la création de caractéristiques afin d’obtenir des modèles de haute qualité. En fonction de la complexité des données brutes et du modèle prédictif recherché, l’ingénierie des caractéristiques pourra demander beaucoup d’essais et d’erreurs.
Une poignée de sources et de tutoriels en ligne décomposent l’ingénierie des caractéristiques en étapes distinctes, dont le nombre et le nom varient généralement. Ces étapes peuvent inclure la compréhension des caractéristiques, la structuration ou la construction, la transformation, l’évaluation, l’optimisation, etc.4 Bien que cette stratification puisse être utile pour fournir une vue d’ensemble des tâches impliquées dans l’ingénierie des caractéristiques, elle suggère que cette dernière est un processus linéaire. En réalité, l’ingénierie des caractéristiques est un processus itératif.
L’ingénierie des caractéristiques dépend du contexte. Elle nécessite une excellente connaissance du domaine et de l’analyse des données. En effet, le codage à appliquer aux caractéristiques peut être déterminé par le type de modèle utilisé, par la relation entre les prédicteurs et les résultats, ainsi que par le problème que le modèle est censé traiter.5 Ceci est lié au fait que différents types de jeux de données (par exempletexte versus images) peuvent être mieux adaptés à différentes techniques d’ingénierie des caractéristiques.6 Il peut donc être difficile de formuler des remarques spécifiques sur la meilleure façon de mettre en œuvre l’ingénierie des caractéristiques dans un algorithme de machine learning donné.
Bien qu’il n’existe pas de méthode ou de pipeline d’ingénierie des caractéristiques universellement recommandé, il existe quelques tâches courantes qui permettent de créer des caractéristiques à partir de différents types de données pour différents modèles. Avant de mettre en œuvre l’une de ces techniques, pensez toutefois à effectuer une analyse approfondie des données afin d’identifier à la fois les caractéristiques pertinentes et d’en déterminer la quantité nécessaire pour le traitement du problème donné. En outre, il est préférable d’implémenter plusieurs techniques de nettoyage et de prétraitement des données, telles que l’imputation des données ou des valeurs manquantes, tout en traitant les données aberrantes qui peuvent avoir un impact négatif sur les prédictions du modèle.
La transformation des caractéristiques consiste à convertir un type de caractéristiques vers un autre format, plus lisible pour un modèle donné. Il s’agit de transformer les données continues en données catégorielles, ou inversement.
Binning ou groupement des données par classe. Cette technique transforme essentiellement des valeurs numériques continues en caractéristiques catégorielles. Plus précisément, le binning compare chaque valeur au voisinage des valeurs qui l’entourent, puis trie les points de données dans plusieurs classes. Nous pouvons citer comme exemple rudimentaire de binning la démographie par âge, dans laquelle les âges continus sont divisés en groupes d’âge, par exemple 18-25, 25-30, etc. Une fois les valeurs placées dans les classes, on peut encore les lisser en utilisant des moyennes, des médianes ou des limites. Le lissage d’une classe remplace les valeurs qu’elle contient par des valeurs qui en sont dérivées. Par exemple, si nous lissions une classe contenant des valeurs d’âge comprises entre 18 et 25 ans par moyenne, nous remplacerions chaque valeur de cette classe par la moyenne des valeurs qu’elle contient. Le binning crée des valeurs catégorielles à partir de valeurs continues. Le lissage des classes est une forme de lissage local destinée à réduire le bruit dans les données d’entrée.7
Encodage one-hot. C’est l’inverse du binning. Cet encodage crée des caractéristiques numériques à partir de variables catégorielles. L’encodage one-hot permet de faire correspondre des caractéristiques catégorielles à des représentations binaires, qui sont utilisées pour cartographier la caractéristique dans une matrice ou un espace vectoriel. La littérature désigne souvent cette représentation binaire par le terme variable factice ou fictive. Étant donné que l’encodage one-hot ne tient compte d’aucun ordre particulier, il est mieux adapté aux catégories nominales. Les modèles bag of words sont un exemple d’encodage one-hot fréquemment utilisé dans les tâches de traitement automatique du langage naturel. Citons comme autre exemple d’encodage one-hot la classification pour le filtrage antispam, dans laquelle les catégories spam et non-spam sont converties respectivement en 1 et 0.8
L’extraction de caractéristiques est une technique permettant de créer un nouvel espace dimensionnel pour un modèle en combinant des variables dans de nouvelles variables de substitution, ou permettant de réduire les dimensions de l’espace de caractéristiques du modèle.9 En comparaison, la sélection des caractéristiques désigne des techniques permettant de sélectionner un sous-ensemble des caractéristiques les plus pertinentes pour représenter un modèle. L’extraction et la sélection de caractéristiques sont toutes deux des formes de réduction de la dimensionnalité, et sont donc adaptées aux problèmes de régression impliquant un grand nombre de caractéristiques et des échantillons de données disponibles limités.
Analyse en composantes principales. L’analyse en composantes principales (ACP) est une méthode courante d’extraction de caractéristiques qui combine et transforme les caractéristiques initiales d’un jeu de données pour produire de nouvelles caractéristiques, appelées composantes principales. L’ACP sélectionne un sous-ensemble de variables du modèle qui, ensemble, comprennent une grande partie ou l’intégralité de la variance présente dans l’ensemble initial de variables du modèle. L’ACP projette ensuite les données sur un nouvel espace défini par ce sous-ensemble de variables.10
Analyse discriminante linéaire. À l’instar de l’ACP, l’analyse discriminante linéaire (LDA) projette les données du modèle sur un nouvel espace dimensionnel, de taille inférieure. Comme avec l’ACP, les dimensions (ou caractéristiques) de cet espace modèle sont dérivées des caractéristiques du modèle initial. Contrairement à l’ACP, la LDA conserve les étiquettes de classification dans le jeu de données d’origine. Alors que l’ACP produit de nouvelles variables visant à maximiser la variance des données, la LDA produit des variables principalement destinées à maximiser la différence de classe dans les données.11
Certaines caractéristiques ont des limites supérieures et inférieures intrinsèques aux données qui restreignent leurs valeurs possibles, par exemple les données de séries chronologiques ou l’âge. Mais dans de nombreux cas, les caractéristiques du modèle peuvent ne pas être limitées sur les valeurs possibles, et de telles amplitudes dans les caractéristiques (différence entre les valeurs les plus basses et les plus élevées d’une caractéristique) peuvent avoir des effets négatifs sur certains modèles. Le dimensionnement des caractéristiques (parfois appelé normalisation des caractéristiques), est une technique de standardisation qui permet de redimensionner les caractéristiques et de limiter l’impact des grandes amplitudes sur les modèles.12 Alors que la transformation des caractéristiques convertit les données d'un type en un autre, la mise à l’échelle des caractéristiques transforme les données en termes d’étendue et de distribution, en conservant le type de données d’origine.13
Mise à l’échelle min-max. La mise à l’échelle min-max redimensionne toutes les valeurs d’une caractéristique donnée afin qu’elles se situent entre les valeurs minimale et maximale spécifiées, souvent 0 et 1. La valeur de chaque point de données pour la caractéristique sélectionnée (représentée par x) est calculée en fonction des valeurs minimale et maximale décidées pour cette caractéristique, min(x) et max(x) respectivement, produisant la nouvelle valeur de caractéristique pour ce point de données (représentée par x̃). La mise à l’échelle min-max est calculée à l’aide de la formule suivante :14
Mise à l’échelle du score Z. La littérature spécialisée emploie également les termes de normalisation et de mise à l’échelle de la variance. Alors que la mise à l’échelle min-max met à l’échelle les valeurs des caractéristiques pour qu’elles s’adaptent aux valeurs minimales et maximales désignées, la mise à l’échelle du score Z redimensionne les caractéristiques pour obtenir un écart type partagé de 1 avec une moyenne de 0. La mise à l’échelle du score Z est représentée par la formule suivante :
Ici, une valeur de caractéristique donnée (x) est calculée par rapport à la moyenne de la caractéristique redimensionnée et divisée par l’écart-type standardisé (représenté par sqrt(var(x))). La mise à l’échelle du score Z peut s’avérer utile lors de la mise en œuvre de méthodes d’extraction de caractéristiques comme l’APC et la LDA, car ces deux techniques nécessitent que les caractéristiques soient à la même échelle.15
Automatisation. L’ingénierie automatisée des caractéristiques est un domaine qui intéresse la recherche depuis des dizaines d’années.16 Les bibliothèques Python telles que « tsflex » et « featuretools » permettent d’automatiser l’extraction et la transformation des caractéristiques pour les données de séries chronologiques. Les développeurs continuent de proposer de nouveaux packages et algorithmes destinés à automatiser l’ingénierie des caractéristiques pour les modèles de régression linéaire et d’autres types de données augmentant la précision des modèles.17 Plus récemment, l’ingénierie automatisée des caractéristiques a été intégrée à des efforts plus vastes visant à créer des systèmes de machine learning automatisé (AutoML), avec pour objectif de rendre le machine learning plus accessible aux non-spécialistes.18
Apprentissage profond. L’ingénierie des caractéristiques peut être un processus laborieux et chronophage, impliquant de longues séries d’essais et d’erreurs. Dans le contexte de l’apprentissage profond, l’utilisateur peut spécifier un petit ensemble de caractéristiques de base que l’architecture du réseau neuronal agrège en caractéristiques de niveau supérieur, également appelées représentations.19 Citons comme exemple le traitement d’images et la reconnaissance de formes de la vision par ordinateur, dans lesquels un modèle apprend à identifier des objets sémantiquement significatifs (par exemple voitures, personnes, etc.) en termes de concepts simples (par exemple bords, contours, etc.) via la concaténation de cartes de caractéristiques.20 Des études récentes ont cependant combiné l’ingénierie des caractéristiques avec des réseaux neuronaux et d’autres techniques d’apprentissage profond pour des tâches de classification, telles que la détection des fraudes, avec des résultats prometteurs.21
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.
1 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018. Sinan Ozdemir and Divya Susarla, Feature Engineering Made Easy, Packt, 2018.
2 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.
3 Suhang Wang, Jiliang Tang et Huan Liu, « Feature Selection », Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
4 Sinan Ozdemir, Feature Engineering Bookcamp, Manning Publications, 2022. Sinan Ozdemir et Divya Susarla, Feature Engineering Made Easy, Packt, 2018.
5 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
6 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
7 Jaiwei Han, Data Mining: Concepts and Techniques, 3rd edition, 2012.
8 Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012. Soledad Galli, Python Feature Engineering Cookbook, 2nd edition, Packt, 2022.
9 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
10 I.T. Jollife, Principal Component Analysis, Springer, 2002.
11 Chris Albon, Machine Learning with Python Cookbook, O’Reilly, 2018.
12 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
13 Zahraa Abdallah, Lan Du, and Geoffrey Webb, « Data preparation, » Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
14 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
15 Zahraa Abdallah, Lan Du, and Geoffrey Webb, « Data preparation, » Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
16 James Kanter and Kalyan Veeramachaneni, « Deep feature synthesis: Towards automating data science endeavors, » IEEE International Conference on Data Science and Advanced Analytics, 2015, https://ieeexplore.ieee.org/document/7344858.
17 Udayan Khurana, Deepak Turaga, Horst Samulowitz, and Srinivasan Parthasrathy, « Cognito: Automated Feature Engineering for Supervised Learning, » IEEE 16th International Conference on Data Mining Workshops, 2016, p. 1304-130, https://ieeexplore.ieee.org/abstract/document/7836821. Franziska Horn, Robert Pack, and Michael Rieger, « The autofeat Python Library for Automated Feature Engineering and Selection, » Joint European Conference on Machine Learning and Knowledge Discovery in Databases, 2019, p. 111-120, https://link.springer.com/chapter/10.1007/978-3-030-43823-4_10.
18 Ahmad Alsharef, Karan Aggarwal, Sonia, Manoj Kumar, and Ashutosh Mishra, « Review of ML and AutoML Solutions to Forecast Time‑Series Data, » Archives of Computational Methods in Engineering, Vol. 29, 2022, p. 5297–5311, https://link.springer.com/article/10.1007/s11831-022-09765-0. Sjoerd Boeschoten, Cagatay Catal, Bedir Tekinerdogan, Arjen Lommen, and Marco Blokland, « The automation of the development of classification models andimprovement of model quality using feature engineering techniques, » Expert Systems with Applications, Vol. 213, 2023, https://www.sciencedirect.com/science/article/pii/S0957417422019303. Shubhra Kanti Karmaker, Mahadi Hassan, Micah Smith, Lei Xu, Chengxiang Zhai, and Kalyan Veeramachaneni, « AutoML to Date and Beyond: Challenges and Opportunities, » ACM Computing Surveys, Vol. 54, n° 8, 2022, p. 1-36, https://dl.acm.org/doi/abs/10.1145/3470918.
19 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.
20 Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016, https://www.deeplearningbook.org/
21 Xinwei Zhang, Yaoci Han, Wei Xu, and Qili Wang, « HOBA: A novel feature engineering methodology for credit card fraud detection with a deep learning architecture, » Information Sciences, Vol. 557, 2021, p. 302-316, https://www.sciencedirect.com/science/article/abs/pii/S002002551930427X. Daniel Gibert, Jordi Planes, Carles Mateu, and Quan Le, « Fusing feature engineering and deep learning: A case study for malware classification, » Expert Systems with Applications, Vol. 207, 2022, https://www.sciencedirect.com/science/article/pii/S0957417422011927. Ebenezerm Esenogho, Ibomoiye Domor Mienye, Theo Swart, Kehinde Aruleba, and George Obaido, « A Neural Network Ensemble With Feature Engineering for Improved Credit Card Fraud Detection, » IEEE Access, Vol. 10, 2020, p. 16400-16407, https://ieeexplore.ieee.org/abstract/document/9698195.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io