Ami ou ennemi du datascientist ?
Si la donnée, or noir du 21ème siècle, est présente partout de nos jours en quantité telle qu’on ne cesse de créer de nouvelles unités de stockage, le datascientist, ce précieux ouvrier qui peut l’exploiter, reste quant à lui une ressource rare. Ce qui rend ce dernier si recherché est la multiplicité des compétences qu’on lui associe. En effet, quand on parle de datascience, on parle de personnes ayant des profils mixtes : connaissant à la fois la théorie mathématique mais ayant également des compétences fortes en programmation, le tout saupoudré de capacités analytiques et business significatives. Même s’il est souvent utopique de penser trouver quelqu’un cochant toutes ces cases, et que c’est pour cela que l’on parle plus d’équipe datascience, recruter quelqu’un qui les réunit partiellement est déjà un réel challenge. Les cursus académiques spécialisés sur le domaine se sont pourtant développés mais cela ne suffit pas à répondre aux besoins actuels.
Les outils auto-ML : une réponse à la pénurie des datascientist ?
Les entreprises cherchant à se renforcer sur la data et la maturité autour du sujet aidant, les outils « d’autoML » se sont mis à fleurir sur le marché, avec souvent la même « promesse » : permettre de modéliser simplement, sans connaissances avancées ni en Machine Learning ni en programmation (voire même avec la possibilité d’industrialiser et de mettre en production facilement).
Le datascientist va-t-il passer en quelques années de perle rare à personne « has been » ?
Pour se faire une philosophie, le plus simple est de comprendre comment fonctionnent ces outils et comment ils s’inscrivent dans la démarche analytique.
Ci-dessous, un rapide rappel des étapes classiques du traitement d’une problématique datascience et les compétences associées
Pour en parler, il faut essayer : mon retour d’expérience sur l’utilisation de Driverless d’H2O
Consortia a eu l’occasion dernièrement de tester Driverless d’H2O (www.h2O.ai) afin de répondre à plusieurs problématiques de modélisation (notamment pour de l’appétence produit).
Pour les premières étapes, la prise du besoin et l’identification des données à récupérer, ce sont des connaissances métier, business et SI d’entreprise qui sont nécessaires. L’utilisation de l’outil ne commence donc qu’une fois celles-ci réalisées.
Entrée en matière
Avant toute chose, il faut « nourrir la bête ». En entrée, l’outil a besoin d’une base de données « structurées » avec la variable à modéliser ainsi que les informations disponibles en format colonnes.
Ici, il faut donc soit avoir des compétences d’extraction et de reconsolidation des données soit une entité qui crée celles-ci pour l’utilisateur. Sachant que passer par une entité rajoute du délai, nécessite de bien spécifier le besoin, et que cela fait perdre mécaniquement en fluidité (notamment en cas de souhait de données complémentaires).
Analyse exploratoire des données
Une fois la base ingérée, on peut commencer à jouer !
Les fonctionnalités exploratoires permettent rapidement et graphiquement d’analyser les distributions, valeurs aberrantes, manquantes des différentes données, ainsi que de produire les analyses de corrélations.
Même si les analyses en elles-mêmes ne sont pas nouvelles, le côté visuel, sans besoin de programmation, les rend accessibles rapidement et facilement. Cela me permet de me consacrer principalement sur la partie analytique, de croiser les données dans tous les sens et de me faire une première idée de leur contenu ainsi que de leur qualité.
Nettoyage / création de variables
Comme bien souvent, il va falloir gérer des valeurs manquantes, aberrantes et il m’est venu quelques idées de création de variables composites lors de l’analyse exploratoire.
Cette partie n’est pas le point fort de l’outil mais ce n’est pas non plus sa vocation (même si sur la partie valeur manquante, plusieurs solutions sont proposées).
Donc si on doit retravailler les données, on le fait en amont (ou on le fait faire) puis on les réimporte.
La modélisation
Ça y est, le set de données nettoyées est prêt à l’emploi. On va pouvoir attaquer la phase de modélisation !
Ici, l’outil s’occupe quasi de tout : on paramètre le temps que l’on souhaite allouer, la précision que l’on souhaite du modèle et l’interprétabilité de celui-ci. On peut accéder également à des choix de paramètres plus fins mais déjà ceux-ci permettent d’avoir pas mal de possibilités.
Pour mon premier test, je lance un modèle avec un paramètre de temps au minimum, une interprétabilité au maximum et une précision maximum, pour avoir un premier jalon. L’outil fait itérer et l’on voit la qualité du modèle évoluer au fil des tours.
Il converge assez vite et met à disposition les modèles testés ainsi que leur qualité, mais également un rapport détaillé. Celui-ci fournit de multiples informations qui n’ont pas forcément toutes une forte utilité mais on y trouve notamment les variables issues du modèle avec leur ordre d’importance, les différentes transformations testées, les choix de modélisation.
Ce qui est surprenant au premier abord, ce sont les transformations, recodage de variables qui sont faites. L’outil teste de multiples fonctions de recodage (exemple : pour les dates, extractions du numéro du jour, de la seconde, de la minute, etc.), d’association, de transformation sans connaissance métier, ce qui amène à des variables significatives « surprenantes » mais « efficaces ».
Ici, on arrive sans effort à des modèles efficients, sans coder, mais si l’on n’a pas un minimum de verni « datascience », il n’est, à mon sens, pas aisé de bien lire et comprendre toutes les sorties, ce qui peut être gênant si l’on doit expliquer ce qui a été fait. De même, selon le niveau d’interprétabilité choisi, il n’est pas simple de mettre du sens sur les « variables » retenues qui peuvent être des transformations statistiques de la donnée.
Niveau qualité des modèles mis à disposition, s’ils ne sont pas forcément bien meilleurs que ceux faits à la main, ils ont nécessité peu de travail pour être mis en place.
La validation du modèle
L’outil permet de gérer les échantillons d’apprentissage, de validation ainsi que les cross validation de manière fluide avec peu d’effort.
Le rapport détaillé nous met à disposition tous les éléments « techniques » pour la validation mathématique du modèle. Pour la validation métier, qui est souvent nécessaire, les variables qui ressortent, leur niveau d’importance et les représentations graphiques aident à le faire.
La possibilité de gérer le niveau de transformation automatique des variables et des recodages permet de refaire tourner des modèles en cas d’interprétation difficile.
Comme pour la construction, l’outil fournit sur étagère les éléments de validation mais, encore une fois, sans un verni minimum, ils peuvent être complexes à exploiter.
Le monitoring / l’industrialisation
Point intéressant chez Driverless : la possibilité d’extraire les codes Python permettant de calculer le score, ce qui n’est pas toujours le cas, certaines solutions proposant plutôt une API. Quelle que soit la possibilité de l’outil, cela facilite l’intégration dans une chaîne de traitement mais il faudra également ici un minimum de compétences de programmation pour échanger avec les interlocuteurs qui réaliseront cette tâche.
Au final
Repartons du déroulé « classique » du traitement d’une problématique datascience et regardons l’apport de l’outil, poste par poste :
Il ressort que les outils d’autoML sont d’une grande aide sur les parties programmations « génériques » à savoir : la mise à disposition de représentations graphiques, l’optimisation de modèle, la création de variables composites « mécaniques ». Ils ont moins d’apport sur la création d’indicateurs « métiers » et ne peuvent pas, à date, réaliser le travail analytique/business d’un datascientist.
Les outils d’autoML ne sont donc pas une substitution mais plutôt une aide aux datascientists, qui leur permettra de gagner du temps sur la partie exploration, test de modèle. Des connaissances en programmation ainsi qu’un bon verni mathématique restent nécessaires, même s’ils sont moins indispensables, pour bien exploiter et comprendre les capacités de ces outils. Pour autant, cela permettra aux datascientists de se concentrer sur ce qui est le cœur de notre métier, à savoir la partie analytique et la valorisation de la donnée