Introduction
Des données partout
Tout est donnée. La moindre information stockée sur un support numérique peut être récupérée et exploitée. Peu importe la nature du fichier : document texte, tableur, image, logs ou même un fichier vidéo, tout est exploitable. Ces fichiers ne se limitent pas à nos ordinateurs, nous les retrouvons partout : dans notre téléphone, notre voiture, sur le Web ou dans de simples capteurs. Et il n’est question ici que de données préexistantes. Cette immense bibliothèque de savoirs peut encore être enrichie par tout ce qui n’est pas encore enregistré : des photos papier, des livres ou des choses qui ne sont actuellement que dans notre tête comme une histoire personnelle ou une recette de cuisine.
Il n’y a pas de pénurie de données. Parfois, nous pourrions même avoir l’impression qu’il y en a trop. C’est pourquoi l’expression « infobésité » a été créée pour décrire ce phénomène.
Cette surabondance nous ouvre néanmoins les portes de possibilités infinies en termes de connaissances nouvelles et tout un champ des possibles qui en découle. Nous sommes dans une situation où ce n’est pas tant la matière première qu’est la donnée qui devrait nous préoccuper mais notre capacité à en évaluer sa qualité, la sélectionner, l’acquérir et la transformer pour en extraire des informations utiles. Tout processus de data science part des données et nous allons nous attacher pour commencer à étudier leur provenance.
1. Provenance des données
Ainsi, les données sont omniprésentes, en constante évolution et prennent diverses formes. Il suffit de les mettre à jour, et l’expression « data mining », ou extraction de données, illustre clairement ce processus consistant à extraire de l’information cachée et précieuse par analogie avec l’extraction de gemmes.
Les gisements d’informations ne sont pas équivalents en termes de qualité. Nous pouvons définir trois grandes familles de provenance des données.
a. Le Web
Le Web est à l’origine un gigantesque réservoir anarchique de données. Avec la prise de conscience de leur importance, nous avons assisté au développement de l’open data. Mais qu’est-ce que l’open data concrètement ? Nous pourrions la définir comme la volonté d’organiser les données accumulées pour en faciliter l’accès et l’utilisation. Ce mouvement a pris beaucoup d’ampleur et nous pouvons désormais avoir accès rapidement et simplement à tout type d’information. Toutes les organisations, au premier rang duquel les États, ont mis à disposition gratuitement leurs données au grand public dans des formats accessibles et réutilisables. Ces données vont ensuite pouvoir être utilisées par tout un chacun pour des projets de toute nature, qu’ils soient commerciaux ou non. Voici une liste non exhaustive de liens pour se familiariser avec :
-
Données gouvernementales portant sur de multiples sujets :
-
Données d’ONG :
-
Données locales :
-
Sites généralistes ou spécialisés :
En dehors de l’open data, des milliards de données attendent encore de délivrer leurs secrets. Mais il faudra alors le faire nous-mêmes en veillant à respecter les conditions de récupération et d’utilisation des informations des sites. C’est le web scraping auquel nous nous initierons simplement un peu plus tard.
b. Les données privées
Les entreprises détiennent également une quantité très importante de données qui vont former la deuxième grande source. Toute information, qu’elle soit financière, commerciale ou technique, peut être analysée. Toutefois, cela doit être réalisé dans le cadre du règlement général de la protection des données (RGPD) visant à protéger la vie privée des individus et garantir la sécurité des données personnelles en Europe.
Le RGPD est européen mais il a des équivalents dans le monde entier comme PIPEDA au Canada, LGPD au Brésil ou APPI au Japon. Tous ont pour but de protéger les données personnelles mais il existe des variations spécifiques à chaque...
La data science
La data science est un domaine pluridisciplinaire qui mobilise une variété de techniques statistiques, mathématiques et informatiques.
Son objectif se résume en deux grandes étapes :
-
Feature engineering : collecter, nettoyer, explorer et analyser les données.
-
Modélisation : mettre en place, optimiser et maintenir les systèmes décisionnels.
Le schéma suivant nous servira de vue d’ensemble et facilitera la navigation dans ce livre :

1. Feature engineering
Le feature engineering, littéralement ingénierie des caractéristiques en français, représente la première grande étape de l’intervention d’un data scientist. Elle englobe toutes les opérations précédant la modélisation des systèmes décisionnels tels que l’acquisition, le nettoyage, l’exploration, l’analyse, la sélection et la préparation des données. Nous pourrions la définir comme la phase de préparation préalable à l’action. C’est une étape cruciale car la qualité de notre modélisation future dépendra largement du soin apporté à cette phase. Attachons-nous à détailler, dans l’ordre, ces différentes étapes en nous appuyant sur un exemple fictif.
a. La collecte des données
Un glacier nous a missionnés pour l’aider à comprendre et améliorer ses ventes. Il nous en fournit le détail. Nous allons commencer par vérifier si les données se présentent sous une forme exploitable. En effet, en fonction des analyses souhaitées, il sera souvent nécessaire de modifier la présentation des données pour répondre à nos besoins. De plus, ces données sont très souvent composées de plusieurs tables pour lesquelles il faudra identifier les clés primaires pour les lier.
Rappelons qu’une clé primaire est une colonne ou un ensemble de colonnes dont les valeurs sont uniques pour chaque ligne et qui permettent d’identifier de manière unique chaque enregistrement dans une table.
Supposons que nous ayons le détail des ventes et le parfum de la glace, il faudra certainement lier ce parfum à son prix unitaire présent dans une autre table. Dans ce cas, le parfum sera la clé primaire.
Dans des cas plus complexes, le recours à un dictionnaire des variables peut s’avérer nécessaire. Ce document servira de guide détaillant la signification, le type des variables ou toute autre information propice à la compréhension des données. Il ne faut pas passer à l’étape suivante du nettoyage avant de s’être pleinement familiarisé avec l’ensemble des données qui vont être utilisées.
b. Le nettoyage
Les données nécessitent souvent une étape de nettoyage pour être prêtes à l’emploi. Elles nécessitent toujours des remises en forme ou des corrections. Un cas classique pour notre exemple serait d’afficher le prix avec le symbole € qui indique au consommateur la monnaie utilisée mais va nous empêcher de faire des calculs car la variable risque de ne pas être considérée comme numérique. Ces modifications sont légères et rapides à corriger mais d’autres, comme les valeurs manquantes, vont être plus difficiles à arbitrer. Dans ce cas, il faut d’abord se demander si l’absence de réponse est possible ou acceptable. Si ce n’est pas le cas, nous pouvons compléter en faisant ce qu’on appelle une imputation.
Cette opération consiste à remplacer les valeurs manquantes par la moyenne de la variable, sa médiane ou sa modale pour les variables numériques et simplement la modale pour les variables catégorielles. Il existe également des techniques plus sophistiquées que nous développerons dans la partie pratique dédiée. Dans les cas où l’imputation s’avère trop hasardeuse, nous pourrons envisager de ne pas prendre en compte les données trop peu remplies. Cet arbitrage est un vrai enjeu et nécessite de s’interroger sur les implications de chaque option.
Une fois le nettoyage réalisé, nous pouvons commencer à manipuler les données pour les évaluer.
c. L’exploration
Nous ne savons pas a priori quelles sont les caractéristiques de notre jeu de données. Commençons par découvrir ses dimensions, la qualité de remplissage puis, en manipulant et en visualisant, nous apprendrons combien de glaces sont vendues par jour en moyenne, est-ce qu’il y a des parfums qui ne se vendent pas, quelle fut la meilleure et la pire journée, est-ce que les ventes ont tendance à augmenter ou non. Nous allons alors prendre conscience de la réalité du terrain. La visualisation va devenir une alliée précieuse en mettant tout de suite en exergue...
Python
Python a été créé en février 1991, par Guido van Russom, un développeur néerlandais. Ce langage, d’âge moyen par rapport à ses pairs, a connu depuis de nombreuses versions pour devenir progressivement le plus populaire au monde. Nous allons présenter ici les origines de son succès.

1. Les atouts naturels de Python
Python est reconnu pour sa simplicité et sa flexibilité, ce qui en fait un choix pertinent pour quiconque débute dans la programmation. Les utilisateurs plus expérimentés vont en outre apprécier sa polyvalence, sa puissance et sa capacité à favoriser le travail en équipe pour collaborer et maintenir des projets. Avec de tels atouts, de nombreuses communautés se sont formées au fil du temps et ont activement contribué à sa diffusion dans les milieux professionnels, renforçant encore sa popularité. Progressivement, il est devenu le langage le plus populaire et a su évoluer avec son temps. Il doit certainement son secret de longévité aux différentes et puissantes librairies mises en place par sa communauté.
2. Les librairies spécialisées
La polyvalence de Python n’a pas été laissée en jachère. Dans chaque domaine, des modules dédiés ont vu le jour et sont devenus au fil du temps des références.
Ainsi, dans le domaine de la data, Pandas s’est imposé car il facilite grandement tout le cycle d’actions qu’on peut retrouver dans un ETL (Extract Transform Load - Extraire Transformer et Charger) classique :
-
Pandas gère une grande variété de sources différentes de données.
-
Il offre une large gamme de fonctionnalités permettant d’effectuer tous les types de manipulations de données.
-
Les données peuvent ensuite être exportées en de multiples formats.
Et ces possibilités ne s’arrêtent pas là. Nous avons également la possibilité de produire tout un éventail de contrôles, de statistiques ou de visualisations bien qu’elles soient plus limitées que celles offertes par les librairies dédiées.
Matplotlib et Seaborn sont les deux librairies les plus connues pour visualiser les données. Elles permettent de représenter facilement n’importe quel type de graphique et de gérer efficacement...