[Tribune] Le Feature Engineering, cœur de métier du Data Scientist – Tome 1 : Mise en place du décor

Episode I : mise en place du décor

Cette tribune est en 3 volets, en voici le 1er extrait, également disponible sur le JDN: Feature engineering.

Tout projet de Machine Learning peut être décomposé, au moins dans ses grandes lignes, en cinq composantes :

  1. la formulation du problème à l'étude,
  2. l'obtention de données brutes propres,
  3. une étape de Feature Engineering pendant laquelle les données sont reformatées, traitées, enrichies ou calibrées,
  4. le choix et la mise en œuvre d'un algorithme de Machine Learning effectuant la tâche cible,
  5. enfin les mesures qualité, l'interprétation et la présentation des résultats sous une forme humainement digeste.
Alexandre Gerussi - Research Lab

Alexandre Gerussi - Research Lab

Si la richesse d'information contenue dans les données brutes est cruciale en termes d'impact sur la qualité finale des résultats, en pratique le data scientist en charge du projet n'aura

que peu de latitude pour agir sur celles-ci. De son point de vue, le levier d'action principal est le Feature Engineering, loin devant le choix de tel ou tel autre algorithme « à la mode ». Ainsi, et quitte à être un peu réducteur, on peut considérer le data scientist essentiellement comme un feature engineer.

Dans ce premier épisode, nous commençons en évoquant des éléments de contexte : l’importance des données, le foisonnement des algorithmes et une définition possible du Feature Engineering, le tout au cœur d’un processus prévisionnel.

 

La data avant tout

Nous sommes dans l'ère du big data. Parmi les multiples acceptions de ce mot figure l'idée que les données sont riches. Riches d'informations que les technologies d'aujourd'hui, parmi lesquelles figure le Machine Learning, permettent de puiser ou d'exploiter. Ne nous y trompons pas : malgré la puissance croissante de ces algorithmes, due aux avancées théoriques et aux moyens de calculs toujours plus énormes, c'est d'abord et avant tout la qualité de la donnée en elle-même dont dépendra in fine la qualité des résultats (prévisions) obtenus. Les données doivent contenir le maximum d'éléments explicatifs et ces éléments sont parfois surprenants ou inattendus.

De ce point de vue, tout retailer intéressé par des prévisions de vente devrait, bien en amont du lancement du projet, commencer par mettre en place les moyens de capter et sauvegarder un maximum de données d'intérêt, propres et normalisées, au sein d'un datamart qui plus tard facilitera grandement le travail du data scientist.

C'est loin d'être la norme : peu de retailers aujourd'hui sont capables de fournir, par exemple, des données fiables concernant les historiques de stocks magasins au-delà de quelques jours à quelques semaines. Pourtant, savoir si un article était effectivement présent dans les rayons un jour donné est une information capitale pour expliquer ses ventes.

Le logiciel libre, terreau de l'essor du machine learning

Au départ, se trouvent les données brutes, puis, à l'autre bout de la chaîne de calcul se trouvent les algorithmes apprenants.

Devant le grand nombre de frameworks de qualité dédiés au machine learning et disponibles librement, le data scientist n'a que l'embarras du choix. D’ailleurs l'open source ambiant a une conséquence importante : les meilleurs algorithmes, les dernières avancées scientifiques publiées se retrouvent implémentées et disponibles quelques semaines après leur parution, parfois même avant, prêtes à l'utilisation ! Sans oublier, la recherche académique, les entreprises spécialisées ou les grands groupes améliorent sans cesse l’existant pour conserver un avantage concurrentiel.

Cependant au-delà de cette course aux algorithmes, qui ne représente pas le métier d’un data scientist prévisionniste aujourd’hui, les gains essentiels garantissant la réussite d’un projet sont à chercher ailleurs. C’est précisément là que le feature engineering entre en jeu.

La nécessaire articulation entre les algorithmes et les données brutes

Au départ, se trouvent les données brutes, puis, à l'autre bout de la chaîne de calcul se trouvent les algorithmes apprenants.

Devant le grand nombre de frameworks de qualité dédiés au Machine Learning et disponibles librement, le data scientist n'a que l'embarras du choix. C'est une banalité que de souligner à quel point la vague des « logiciels libres » contribue et facilite l'essor et l'utilisation du ML partout.

Tout ça n'est rien que très normal pour les jeunes générations, mais les anciens savent que même si la puissance de calcul et de stockage des données actuelle avait été disponible déjà dans les années 80, le ML n'en aurait pas moins été réservé à une infime poignée d'experts, qui eux seuls auraient eu les connaissances nécessaires pour comprendre et implémenter ces algorithmes. L'open-source ambiant a une conséquence importante : les meilleurs algorithmes, les dernières avancées scientifiques publiées se retrouvent implémentées et disponibles quelques semaines après leur parution, parfois même avant, prêtes à l'utilisation ! Avec un corollaire : la recherche académique, les entreprises spécialisées ou les grands groupes améliorent sans cesse l’existant pour conserver un avantage concurrentiel. Au-delà de cette course aux algorithmes, qui ne représente pas le métier d’un data scientist prévisionniste aujourd’hui, les gains essentiels garantissant la réussite d’un projet sont à chercher ailleurs.

En considérant les différents algorithmes de ML comme des « boites noires » cherchant à faire des associations entre features et ventes, afin de les expliquer et finalement les prévoir, il tentera de leur présenter les éléments adéquats. C’est ici que le Feature Engineering entre en jeu.

La nécessaire articulation entre les algorithmes et les données brutes

Les informations explicatives doivent non seulement être présentes dans les données brutes, d'où leur importance, mais également présentées de manière pertinente. Les données brutes ainsi transformées et prémâchées, telles que l'algorithme apprenant les recevra en entrée, sont appelées features.

Plus un algorithme est « simple », plus il sera sensible à leur qualité. A contrario, des algorithmes complexes peuvent s'accommoder de features moins abouties.

Cependant, dans ce cas, la médaille a son revers : le modèle de prévision obtenu sera d'autant plus complexe et obscur. Ceci peut être un problème majeur pour beaucoup de prévisionnistes encore attachés à des méthodes plus traditionnelles basées par exemple sur le calcul de certains coefficients multiplicateurs censés gouverner l'effet d'une promotion ou d'une nouveauté, et qui ont l'avantage de la clarté.

Une feature est une information potentiellement intéressante pour effectuer une prévision. La condition sine qua non pour que des prévisions soient possibles est que le phénomène à prévoir (ici les ventes, ou plus précisément la demande) ne soit pas totalement aléatoire : il doit pouvoir être expliqué au moins partiellement. Les features sont donc des informations diminuant la part d'aléatoire apparent. Il en restera toujours : soit parce que le phénomène possède un aspect réellement aléatoire, mais plus sûrement parce que la prise en compte exhaustive de tous les facteurs explicatifs est hors de portée.

Nous appellerons Feature Engineering l'ensemble des interventions effectuées sur les données brutes avant qu'elles ne soient prises en compte par un algorithme apprenant. Cette définition très large n'est pas la seule possible et à notre connaissance il n'existe pas de consensus dans ce domaine. Certains auteurs distinguent par exemple le « data cleaning » du Feature Engineering. Ils classent dans cette catégorie un certain nombre de stratégies basiques de nettoyage de données, comme par exemple le traitement des valeurs manquantes par suppression pure et simple des échantillons concernés, ou encore la détection (et l'élimination) des valeurs aberrantes par un intervalle de fluctuation normal. Nous objectons à cela que le nettoyage de données peut également bénéficier de traitements plus complexes qui méritent complètement d'appartenir à la catégorie « ingénierie des données ».

Dans le cadre d’un processus prévisionnel, le bénéfice premier attendu du Feature Engineering est l'obtention de meilleures prévisions, c'est-à-dire l'augmentation de la forecast accuracy ou d'autres indicateurs de qualité tels que le biais. Mais ce n'est pas le seul.

Nous l'avons déjà évoqué : si l'on peut ultimement rêver d'un algorithme si puissant qu'il permettrait de se contenter de très peu de Feature Engineering, voire directement des données brutes, un tel algorithme serait probablement très complexe et le modèle qu'il engendrerait d'autant moins lisible. Un des objectifs potentiels d'un Feature Engineering bien effectué est la réduction et la clarté des features engendrées, qui permettront d'obtenir un modèle plus compréhensible et sur lequel il est possible d’agir. Nous évoquerons cet aspect dans le troisième épisode.

L’interprétabilité est importante pour un prévisionniste car elle donne confiance. Ceci lui permettra d'autant plus facilement de « vendre » ses résultats aux personnes en charge de prendre les décisions basées sur les prévisions, par exemple les quantités d'articles à commander.

Enfin un modèle simple et épuré est également plus rapide à entraîner, ce qui peut être un critère important lorsque le volume journalier des données à traiter devient critique.

Nous avons posé les bases afin de présenter ce qu’est le Feature Engineering au sein d’un processus prévisionnel. Il est nécessaire à l’articulation entre les algorithmes et les données brutes. Dans la deuxième partie de cette tribune (« une infinité de possibles »), nous présenterons plusieurs exemples concrets qui permettront d’entrevoir la richesse et la diversité qui se cachent derrière cette activité.

Pourquoi et comment fiabiliser ses stocks à l'ère digitale ?

Livre Blanc Vekia

L’objectif principal d’une Supply Chain est de mettre à disposition du client final le bon produit, dans la bonne quantité de stock, au bon moment et au bon endroit. Mais cela ne suffit pas...

Récemment, une nouvelle génération d’outils d’approvisionnement est apparue sur le marché. Leur déploiement est permis par l’utilisation du Big Data et l’utilisation du Machine Learning.

Quelques infos clés du livre blanc :

  • Garantir une disponibilité maximale des produits ;
  • Maximiser le taux de disponibilité linéaire ;
  • Découvrez les nouvelles générations d’outils d’approvisionnement.
livre blanc IA et gestion des stocks
Téléchargez notre livre blanc