[glossaire] #data-scientist

 

Glossaire - data scientist


Ami n°1. « Tu vois, Thomas, ce que tu racontes à l’air super intéressant, et le sujet me branche bien. Mais quand tu racontes, je comprends 2-3 paragraphes, puis tu mets des références compliquées, puis tu sors des inside jokes ou des gros sous-entendus techniques que je ne comprends pas. Donc quand je te lis, je me sens un peu con, et j’ai l’impression d’effleurer un domaine super intéressant, mais je reste sur ma faim. Donc ça m’énerve ».

Ami n°2. « Je comprends les mots, mais je comprends pas les phrases ».

Dont acte. Troisième article du glossaire, qui va essayer de couvrir des points techniques (ou pseudo) sans jargon ni étalage aléatoire de technique.

Points précédents : data, intelligence artificielle.

 

Qu'est-ce que c'est ?

Data scientist : scientifique des données, littéralement, ou spécialiste en science des données. J’affirme, en accord avec Stéphane Mallat, que c’est une science à part entière, entre théorie et expérience, au croisement de trois domaines : les mathématiques, l'informatique et l'algorithmie. Avant les années 2010, on parlait plus généralement de statisticien ou d'expert en maths appliquées ... avant que les besoins de traitement de données massives nécessitent d'ajouter des compétences logicielles à ces profils. Un data scientist est un professionnel du traitement, de la manipulation et de la valorisation des données. Il maîtrise habituellement des outils informatiques comme Python ou R, ainsi que les bibliothèques mathématiques très spécialisées, qui lui permettent de mener des analyses complexes, longues et parfois hasardeuses.

Termes plus ou moins proches : data analyst, business intelligence, business analytics.

 

D'où ça vient ?

Dater l'apparition d'un mot ou d'une expression apporte des informations intéressantes. Si aujourd'hui, tout jeune, fraîchement diplômé d'une école d'ingénieur ou de fac, transforme ses deux, trois cours du trimestre autour de Matlab ou python en un titre de data scientist, ou data analyst pour les moins offensifs, la réalité du terrain est bien différente ! Ce qui compte, c'est la capacité de savoir transformer (presque) tous les jeux de données brutes en une source d'information et de connaissance ; et à ce jeu là, l'expérience compte. Bref : cette mode montre l'importance du phénomène. J'ai choisi, arbitrairement, de le dater de 2012, suite à l'article du Harvard Business Review, Data Scientist: The Sexiest Job of the 21st Century [0]. Rapprochons cet article de la création de la chaire de science des données au Collège de France, pour l'année 2017-2018 [1].

Un historique rapide et partiel des outils principalement utilisés par les data scientists.

Tensor Flow. Cadriciel (framework) libre permettant d'instancier et de paramétrer des réseaux de neurones : création 2009, première version stable en 2015 (Google).
Scikit-learn. Collection libre d'outils et d'algorithmes d'apprentissage automatique, première version stable en 2010 [2], Inria.
Numpy, scipy. Bibliothèques mathématiques libres, (2006, 2001).
R. Langage de programmation libre spécialisé en statistiques (2000)

C'est peut-etre un biais personnel [*], mais je note un fort usage d'outils libres (open-source) par les data scientists, tout comme dans la communauté scientifique d'analyse de données expérimentales.

Qu’en fait-on ?

Un data scientist sait transformer des données brutes en informations pertinentes, pour un besoin métier : aide à la décision, connaissance client, étude des comportements, exploration de données, etc.

Le travail est assez cadré et consiste principalement à écrire du code, corriger du code, admirer les résultats ... puis être frustré de ne pas pouvoir optimiser les performances ou nettoyer le code. Voici la chronologie classique.

0. Rendez-vous avec une équipe métier (banque, assurance, industrie, commerce B2C etc) pour comprendre ce qu'ils attendent de la data science.
0 (bis). Expliquer que l'IA forte n'existe pas, que l'IA faible est principalement constituée de programmes écrits sur-mesure, efficaces sur des points très précis et totalement idiots sur le reste.
1. Etablir un périmètre de travail, un besoin clair, un résultat attendu.
2. Récupération les données ainsi que le contexte d'acquisition, la signification des champs et catégories, les indicateurs de données manquantes et toutes autres informations utiles pour rattacher les tableaux de nombres ou textes sur lesquels le data scientist va travailler.
3. Exploration des données.
4. Modélisation du problème au regard des attendus et des données.
5. Ecriture des programmes, résolution du problème.
6. Présentation et explication des résultats.

Le code n'intervient que lors des étapes 3 et 5. Les mathématiques lors de l'étape 4. Le gros du travail est souvent de comprendre ce que veut l'équipe métier, le traduire correctement dans la modélisation puis comprendre pourquoi les résultats fournis par le code.

 
data_rules.png

Et ça sert à ... ?

Comme les extracteurs de jus, le data scientist est un extracteur de valeur. Et comme les extracteurs de jus, je recommande de ne s'en servir que si on est suffisamment motivé pour entrer dans un processus un peu long et parfois complexe [*2] .

Une autre façon de voir un data scientist est de le considérer comme une interface humaine à peu près compréhensible avec les algorithmes velus, incluant parfois des programmes d'apprentissage automatique (machine learning).

Si le processus peut être douloureux, les bénéfices sont tout de même intéressants. L’apprentissage automatique permet de ne pas avoir, par exemple, à modéliser un problème à partir de règles et laisser la machine les inférer toute seule. Ex: on a une liste de textes préalablement classés selon certains critères subjectifs et on aimerait reproduire ces résultats automatiquement sur de nouveaux textes, inconnus ? On fait appel à un classeur basé sur un algorithme d'apprentissage automatique supervisé. On doit classer des clients selon leur activité bancaire (VIP, à risques, classiques, prometteurs) ? On fait appel à un modèle mathématique un peu tordu et on lance un algorithme de regroupement (clustering) non-supervisé.

Certains cas ne font pas appel à des quantités astronomiques de données et demandent une modélisation poussée ainsi qu’une approche algorithmique complexe. Ex: un livreur doit acheminer des colis chez 30 personnes différentes ? On fait appel à une heuristique mathématique issue de l'analyse du problème du voyageur de commerce [3] pour résoudre ce problème en quelques minutes au lieu de quelques semaines, voire beaucoup plus [*3].

Ces outils sont très puissants et permettent de traiter efficacement de grosses quantités de données ou des problèmes complexes, en réduisant drastiquement les temps de traitement, avec toujours ce compromis nécessaire et permanent entre vitesse, performances et temps de développement.


 

Notes

[*] que je revendiquerais d’ailleurs fièrement et promptement
[*2] j'aimerais vivre dans un monde où les extracteurs de jus seraient simples à nettoyer.
[*3] la résolution brutale (brute force) est en n!, avec comme taille de problème le nombre de points n. C’est rapidement énorme. Des versions un peu moins naïves donnent dans le n^2 2^n, ce qui est tout de même assez problématique.

Liens

[0] http://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century
[1] http://www.college-de-france.fr/site/stephane-mallat/index.htm
[2] Institut national de recherche en informatique et en automatique, inria.fr
[3] http://fr.wikipedia.org/wiki/Problème_du_voyageur_de_commerce

 
Thomas GerbaudComment