Dans le chapitre précédent, vous avez découvert le cycle de travail du data scientist. Nous allons maintenant parler spécifiquement de la partie qui nous intéresse dans ce cours, c'est-à-dire la modélisation. Et pour modéliser les données, un vrai data scientist utilise son arme secrète de ninja : le fameux machine learning.
Démystifions le machine learning
Lorsqu'on entend parler de machine learning – ou plus généralement de l'intelligence artificielle, dont le machine learning est un sous-domaine – on pense généralement à ça :

Mais les experts du domaine sont formels : malgré toutes les inquiétudes évoquées dans les médias, le machine learning, et de manière plus générale l'intelligence artificielle, ne constituent pas une réelle menace. En l'état actuel, on est vraiment loin d'avoir atteint un niveau d'intelligence suffisant chez les machines pour avoir de quoi s'inquiéter.
Le machine learning constitue, comme on l'a vu dans le chapitre précédent, une manière de modéliser des phénomènes, dans le but de prendre des décisions stratégiques.
Avant la modélisation
Comme nous l'avons vu dans la partie précédente, les étapes de travail d'un data scientist sont les suivantes :

Un exemple concret
Un data scientist qui travaille dans le web a souvent la possibilité de récupérer les analytics du site pour lequel il travaille (des informations sur les visites et le comportement des utilisateurs sur le site). À partir de ces données brutes, il va sélectionner, nettoyer et transformer les données pertinentes. Par exemple, au lieu de récupérer directement le nombre de visites journalières, il va plutôt récupérer leurs variations d'un jour sur l'autre.
Il va ensuite explorer ces données pré-traitées, c'est-à-dire visualiser les différentes variables, essayer de comprendre les comportements (les valeurs extrêmes ou aberrantes, les corrélations, etc.). Une fois qu'il a une bonne idée de ce à quoi il a affaire, il peut définir une problématique plus précise à laquelle répondre.
Pour amener de la valeur ajoutée à partir de ces données, le data scientist pourrait effectuer un classement des utilisateurs les plus susceptibles de revenir sur le site, ce qui permettrait ensuite de cibler les utilisateurs les plus engagés par des campagnes marketing ciblées.
Une fois l'exploration faite et la question de recherche définie, le data scientist peut passer à l'étape de modélisation.
L'étape de modélisation
Imaginez que vous êtes un data scientist. Vous êtes maintenant à l'aise avec l'ensemble des données récupérées pour vos analyses. Vous avez une connaissance des objectifs principaux de l'entreprise, ce qui vous a aidé à synthétiser les différentes variables qui interviennent, ainsi de visualiser les différents comportements et corrélations présents au sein de ces données.
Le problème de machine learning constitue l'étape suivante et permet à un ordinateur de modéliser les données qui lui sont fournies.
"Modéliser" signifie dans ce cas représenter le comportement d'un phénomène, afin de pouvoir aider à la résolution d'un problème concret de l'entreprise.
Mais pourquoi parle-t-on d'apprentissage ?
En machine learning, l'algorithme se construit une "représentation interne" afin de pouvoir effectuer la tâche qui lui est demandée (prédiction, identification, etc.). Pour cela, il va d'abord falloir lui entrer un jeu de données d'exemples afin qu'il puisse s'entraîner et s'améliorer, d'où le mot apprentissage. Ce jeu de données s'appelle le training set. On peut appeler une entrée dans le jeu de données une instance ou une observation.
Voici un exemple de jeu de données images classique qui permet d'entraîner un modèle de machine learning. Chaque image constitue une observation du data set.

Vous allez donc être responsable dans une première phase du choix et de l'entraînement de l'algorithme d'apprentissage du modèle, mais le traitement de la tâche spécifique sera appris à partir du training set et ensuite effectué par l'algorithme lui-même dans une seconde phase.
Dans le schéma ci-dessous, vous pouvez voir les différentes étapes qui interviennent dans l'utilisation d'un algorithme de machine learning. Vous serez responsable de la phase 1 et vous pourrez ensuite simplement passer les données dans le modèle durant la phase 2.

Comme on peut le voir sur le schéma ci-dessus, un problème d'apprentissage machine comporte ainsi différents éléments spécifiques :
les données (les données d'entraînement mais aussi les nouvelles données) ;
la tâche spécifique à accomplir (prédire, recommander, décider quelque chose, etc.) ;
l'algorithme d'apprentissage en lui-même ;
l'analyse d'erreur (ou mesure des performances du modèle).
Laissez-moi maintenant détailler un peu plus chacun de ces éléments dans les prochaines sections !
Les données
Nous l'avons déjà dit, les données constituent littéralement le nerf de la guerre de la data science. 😉
Plus vous aurez une bonne compréhension de vos données, plus vous serez à même de pouvoir les utiliser à bon escient lors de la phase d'entraînement de votre modèle statistique. Nous allons rapidement donner une vue d'ensemble du type de données habituelles rencontrées en machine learning.
Les bases de données
Cela coule de source, mais les bases de données constituent la source principale de récupération de données par les data scientists. Ces bases de données peuvent comprendre différents types d'information, une bonne partie généralement spécifique à l'activité de l'entreprise.
À titre d'exemple et de manière non exhaustive :
les logs d'un serveur web ;
le catalogue produits d'un site de e-commerce ;
les transactions bancaires ;
les comportements des utilisateurs d'un site.
Les données brutes
D'autres données brutes, souvent plus complexes et nécessitant des pré-traitements spécifiques pour les rendre manipulables par les algorithmes, peuvent servir de sources pour un problème de modélisation.
Le texte
Le texte libre, rédigé en langage naturel (humain), est ainsi une autre source de données principale pour le travail de data scientist. Cela comporte tous les types de texte auxquels on peut penser naturellement (articles, livres, messages, etc), mais aussi d'autres types de textes tels que du code HTML ou encore des séquences d'ADN.
Les images (et vidéos)
Les images sont aussi une des sources de captation de l'environnement souvent utile sur des problématiques d'entreprise. Beaucoup d'entreprises ont des banques d'images à traiter pour les classer par type ou autre.

IoT (Internet des objets)
Les objets connectés sont une autre source de données brutes, qui récupèrent un grand nombre de données grâce à leurs capteurs. Un bon exemple est l'entreprise Nest, qui a utilisé la data science pour créer un thermostat intelligent qui optimise la consommation d'électricité en surveillant à la fois la température, la présence des habitants, etc.

La tâche à accomplir
La tâche spécifique à accomplir correspond au problème qu'on cherche à résoudre grâce à la modélisation du phénomène. On peut distinguer un certain nombre de cas qui reviennent souvent dans un environnement business, tels que les recommandations de produits par exemple. Je vous ai aussi déjà cité l'identification de transactions frauduleuses, la prédiction de l'impact d'une campagne marketing sur le taux de conversion ou la prédiction du prix optimal d'un produit pour maximiser le nombre de ventes.
Chaque tâche se traduira différemment et nécessitera, bien sûr, le choix d'algorithmes différents. Nous examinerons dans le dernier chapitre de cette partie quelques problématiques courantes et comment elles se traduisent en problèmes de machine learning.
L'algorithme d'apprentissage
L'algorithme d'apprentissage constitue la méthode avec laquelle le modèle statistique va se paramétrer à partir des données d'exemple. Il existe de nombreux algorithmes différents ! On choisira un type d'algorithme particulier en fonction du type de tâche que l'on souhaite accomplir et du type de données dont on dispose. En gros, quelle est l'entrée de l'algorithme et quelle est la sortie.
Quelques exemples d'algorithmes de machine learning, dont vous avez peut-être déjà entendu parler :
la régression linéaire ;
K-nn ;
les Support Vector Machine (SVM) ;
les réseaux de neurones ;
les random forests.
La mesure des performances
Mesurer les performances fait partie intégrante du travail de modélisation. Il faut en général déterminer une mesure principale, souvent spécifique à la tâche à accomplir. Le choix de cette métrique est très important ! Vous allez comprendre pourquoi avec un petit exemple simple.
Exemple
Imaginez que vous voulez créer un algorithme de détection de fraudes bancaires. Vous voulez mesurer à quel point votre programme est performant. Une manière de faire serait de mesurer la proportion totale de transactions détectées comme fraude. Cependant, on compte ici les transactions qui ne sont pas des fraudes et qui ont quand même été notées comme en étant (appelé "faux positifs"). Donc, avec ce genre de métrique, on n'est pas exigeant sur ce type d'erreur produit par notre algorithme. Il faut peut-être utiliser une autre métrique plus pertinente. Par exemple, préciser la proportion de "vraies fraudes" détectées par rapport au total de transactions détectées comme frauduleuses.
On voit donc qu'il faut bien réfléchir à une métrique plus pertinente pour être sûr de mesurer correctement la qualité de son algorithme.
En résumé
Le machine learning est l'apprentissage d'un modèle statistique par la machine grâce à des données d'entraînement. Un problème de machine learning comporte plusieurs éléments spécifiques :
des données ;
une tâche à accomplir ;
un algorithme d'apprentissage ;
une mesure des performances.