• Dataiku
  • Data Science & IA
coversite_stories-Empower-ProcessPredictDataiku.jpg

Industrialisez votre processus prédictif avec Dataiku

 « A datascientist is someone who is better at statistics than any software engineer and better at software engineering than any statistician ».

Soyons honnête, il s’agit d’une définition idéalisée du métier, voir humoristique car dans les faits nous rencontrons beaucoup de datascientists canal ingénierie et de data scientists canal analytique … entre ces deux publics le fossé est parfois considérable et les différences d’outillage en sont souvent le reflet.

La plateforme DSS de Dataiku a réalisé le tour de force de créer un pont entre ces deux mondes, un atout différenciant notable de DSS est notamment de faciliter l’industrialisation et la production des processus data science.

Une application à la prévision

Certaines fonctionnalités de Dataiku permettent “d’opérationnaliser” le processus prédictif selon le terme consacré par l’éditeur lui-même.

Le projet à but pédagogique consistait tout d’abord en une phase d’étude où des modèles mathématiques ont été postulés et entraînés pour prédire l’évolution de la courbe épidémique des cas de COVID-19 en France, en Italie et en Chine en se basant sur la source ECDC (Centre européen de prévention et de contrôle des maladies).

Nous avions précédemment fait référence à ce projet dans un article et nous reprécisons, à toutes fins utiles, qu’il s’agit d’une approche agnostique basée uniquement sur l’ajustement d’une fonction sigmoïde aux données de cas positifs recensés dans chaque pays.

Ce travail est typique de la phase « statistique » du projet data science et pour le réaliser nous avons utilisé Python et ses librairies notamment “Scipy” et “Statsmodels” pour les modélisations. A l’issue de cette étape, des projections ont été établies, un apport de connaissances et d’insights a été réalisé, un article a été publié mais le processus prédictif lui, est figé !

img01_ProcessPredictDataiku.png

Vue du dashboard 
Tableau Public dont les données sont actualisées quotidiennement par DSS

Comment passer à l’étape suivante ?

Faut-il rafraîchir quotidiennement les données, ré-entraîner les modèles, refaire les prévisions, republier les résultats sur un dashboard Tableau, Shiny ?

Actualiser au quotidien les prévisions

 

Notre approche ici a été d’utiliser l’outil DSS pour ses capacités d’industrialisation et ainsi encapsuler le code Python dans un pipeline data de bout-en-bout :

  • Collecte des données Open Data ECDC
  • Préparation : sélection, nettoyage, typage, sélection de 7 pays
  • Apprentissage des modèles pays avec deux fonctions logistiques et gompertz
  • Prévisions des courbes à horizon 01/01/2020+200 jours
  • Publication sur un cloud storage (« système de fichier adapté au stockage de données brutes »)
img02_ProcessPredictDataiku.png

Vue de la console DSS® dataiku – diagramme représentant le processus data de bout-en-bout (flow)

Quels sont les apports de DSS ?

  • Basculer d’un travail dont le livrable est un code Python notebook jetable à un livrable sous la forme d’un projet collaboratif et partageable avec l’équipe projet et notamment les ops.
  • Tirer profit des capacités de Dataiku pour sourcer et publier facilement des données sur le cloud. 
  • Définir une programmation quotidienne des exécutions sur la base d’un trigger et d’un plan d’exécution. 
  • Déporter l’exécution du projet vers une instance (serveur dit « automation node ») dédiée à la production. 
  • Faciliter la gestion des divergences d’outils entre l’instance d’étude et l’instance de production. 
    Monitorer le bon déroulement des exécutions en étant informé par message ou via une interface du statut des jobs. 
  • Monitorer avec un œil statistique les exécutions en programmant des calculs de métriques visant à observer une dérive éventuelle des modèles.
img03_ProcessPredictDataiku.png

Vue de la console DSS® dataiku de monitoring des runs d’un plan d’exécution (scénario)

La liste est longue et elle marque la frontière entre le monde de l’analyse et le monde de l’opérationnel. DSS permet au datascientist qui ne possède pas de compétences IT avancées de franchir ce pas. Selon les organisations et les rôles, la production data science pourra alors être conservée par l’équipe data science ou être confiée à une équipe de production.

Le plus important ce n'est pas le modèle mais son application

Même avec l’expérience de projets data il n’est jamais inutile de le rappeler : les vraies difficultés dans un projet prédictif résident particulièrement sur les phases ante et post modélisation. Une fois votre modèle appris, comparé, évalué, justifié et présenté, il reste une grande part du chemin : quelle application va l’intégrer, quelle application va le consommer, qui va assurer l’exécution des prédictions, quelle fréquence de rafraîchissement, quelle fréquence d’entrainement, comment le backtester, comment le maintenir … ?

Les réponses à ces questions sont essentielles et font partie intégrante du travail de datascientist qui apprécie les capacités « all-in-one » de Dataiku DSS.


Article écrit par :

PORTRAIT EPSILON Damien Garrouste

Damien Garrouste

Senior Manager Data Science