Data préparation : définition, exemples, conseils

Découvez les problèmes les plus souvent rencontrés, les outils et les tendances en data preparation.

Data préparation : définition, exemples, conseils

Cet article est un extrait de l’aticle initial publié par le Dr. Pierre-Nicolas Schwabb sur le blog de IntoTheMind.

Data preparation : définition, exemples, conseils

Pour parler de la data preparation, quoi de mieux que de partir d’un constat. Dans le monde de la data, il y une règle que tout le monde connaît : 80% du temps d’un data scientist est passé à préparer ses données ; et seulement 20% à exploiter les données, notamment à les visualiser. Dans cet article nous donnons un coup de projecteur sur la data preparation : les problèmes les plus souvent rencontrés, les outils et les tendances. En route pour de nouvelles dataventures !

Sommaire

i. Introduction

Il ne vous aura pas échappé que les données sont partout et qu’elles constituent le moteur de l’innovation digitale. La multiplication des applications, la part grandissante d’Internet dans notre vie, la montée en puissance de l’IoT, sont autant de facteurs qui expliquent que des activités spécifiques se développent autour des données. Dans les services informatiques sont donc apparues de nouvelles fonctions : data engineer, data visualisation specialist, data scientist. Chacun intervient à différentes étapes du processus de valorisation des données. Mais tous ont un besoin commun : celui de données de qualité. C’est tout l’enjeu de la data preparation.

Trois conseils pour le choix d’un outil de préparation des données (« ETL »)

  1. Choisissez un outil avec de nombreux connecteurs en entrée
  2. Il est important de disposer de nombreuses fonctionnalités pour transformer les données. Les ETL fonctionnent souvent avec des “boîtes” à connecter entre elles. Vérifiez donc que l’ETL que vous choisissez est très complet au niveau de ces boîtes de Transformation (« T »).
  3. Les jointures sont particulièrement importantes. Privilégiez un outil qui dispose de plusieurs types de jointures. Une jointure avec fuzzy matching se révèle souvent très utile et doit faire partie des fonctionnalités offertes.

ii. Data preparation : définition

Le terme “data preparation” (ou « préparation des données » en français) désigne les opérations qui sont effectuées sur des données brutes afin de les rendre analysables.

La data preparation s’attache à importer les données, à en vérifier la consistance, à corriger les problèmes de qualité et ensuite à enrichir les données par l’apport d’autres datasets. Ensuite, si on veut faire du machine learning, on normalisera les données et on créera des « features ». Si on veut faire des dashboards, on calculera des KPI’s.

Chaque étape est importante et nécessite l’usage de fonctionnalités spécifiques au moment de la transformation des données.

Data preparation = les opérations qui sont effectuées sur des données brutes afin de les rendre analysables

iii. Les 5 étapes de la data preparation

Disons-le tout de suite, il n’y pas de “workflow” unique et je n’affirme pas présenter la vérité absolue en matière de préparation des données. Sur la base de mon expérience j’ai simplement essayé de regrouper les tâches récurrentes en étapes logiques. Qu’il y en ait 5, 6 ou 7 a au final peu d’importance. Ce qui compte c’est que vous compreniez le contenu de chaque opération.

Importation ou acquisition des données

La 1ère étape consiste à “acquérir” les données qui sont nécessaires au travail. Ces données peuvent venir de différents endroits, avoir différents formats. Il est donc important d’adopter un outil qui dispose de multiples connecteurs pour ne pas être bloqué. Si les fichiers plats constituent un des formats les plus courants, il ne faut certainement pas négliger des formats plus exotiques. Dans cet exemple de data preparation à partir de fichiers extraits de LinkedIn, des fichiers plats (au format .JSON) ont dû être préparés aux côtés de simples fichiers .CSV. En matière d’importation de données il faut être prêt à toutes les éventualités !

Découverte

La 2ème étape est assez excitante. Il s’agit de partir à la découverte des données, de les explorer. Le but à ce stade n’est pas d’analyser les corrélations mais plutôt de chercheurs les erreurs qui auraient pu se glisser ici et là. Il est important de repérer les champs vides et les formats de données. Une petite visualisation rapide est utile à cet effet car elle vous permettra tout de suite de voir si le format de données est le bon (essayez de faire un graphique si vos données sont stockées en texte). Lorsque j’utilise Anatella, j’apprécie avoir de pouvoir en 1 clic des statistiques descriptives des données. Cela permet de repérer tout de suite les catégories erronées, les valeurs aberrantes et surtout les “Null”.

Profitez de l’étape de découverte des données pour effectuer quelques petits tests simples afin de détecter les problèmes moins évidents à corriger dans l’étape suivante. Utilisez par exemple des fonctions de tri pour détecter les doublons.

Nettoyage des données (data cleaning)

Dans la 3ème étape de la data préparation (on dit aussi “data prep” pour faire pro), il faut organiser les données et les nettoyer. On appelle ce processus de “netoyage” de plus en plus “data wrangling” ou “data munging”. Ce que j’aime faire à ce stade c’est déjà de réorganiser et renommer les colonnes, d’éliminer celles qui sont redondantes quand c’est le cas. Cela vous permet d’avoir les prémisses d’un « data model » et la première pierre de votre diagramme UML.

Ensuite vient le moment d’aller plus dans le détail. Lors de l’étape de découverte, vous avez déjà pu corriger les problèmes de formats les plus évidents. Maintenant, il est temps de faire apparaître les problèmes les moins évidents. Je pense ici par exemple aux problèmes de doublons (déduplication), à la séparation des données.  Le nettoyage des données peut également comporter une partie “transformation”. Vous pourriez, par exemple, détecter une catégorie de données qui doit être modifiée afin d’être exploitable). Dans le cas où votre jeu de données contiendrait des valeurs aberrantes, les opérations de transformation sont utiles pour pouvoir quand même exploiter vos précieuses données.

Lorsque vous faites une jointure dans PowerBI vous obtenez déjà les prémisses d’un diagramme UML.

.

Enrichissement

L’enrichissement des données consiste à “augmenter” votre dataset avec des données externes. Il vous faudra pour cela réaliser des jointures. Il existe différents types de jointures. Ce que j’apprécie avec une solution comme Anatella c’est la possibilité de choisir parmi de nombreux types de jointures. L’une d’entre elles est particulièrement unique puisqu’il s’agit d’une jointure de type “fuzzy matching”. Cette fonctionnalité est tellement unique que j’en ai même fait un article pour comparer les processus entre Anatella, Alteryx et Tableau Prep.

Les jointures simples (lorsque toutes les données ont été nettoyées) peuvent aussi être faites dans votre solution de data visualisation (voir ici notre guide de la dataviz). Il y a des avantages et des inconvénients à une telle pratique. En ce qui me concerne, je préfère préparer mes données dans un seul logiciel (càd dans le logiciel de data preparation) et une fois que le processus est fini commencer le travail d’analyse. Nous reviendrons avec plus de détails sur ce sujet ci-après.

C’est aussi lors de cette étape qu’on développera les règle complexes pour pour calculer les KPI’s (pour faire des dashboards) ou qu’on normalisera les données (pour faire du machine learning).

Publication

Une fois que tout est bien organisé, nettoyé, enrichi et normalisé il n’y a plus qu’à publier le dataset final. La plupart du temps les données seront simplement “poussées” soit en local, soit vers le Cloud. En fonction de l’utilisation que vous ferez des données après la data preparation, il peut être utile d’opter pour une exportation dans un format de données optimisé. Par exemple, si vous travaillez comme moi sous Tableau, il est recommandé d’exporter les fichiers au format « .hyper ». L’ETL que j’utilise (Anatella) était le premier à ma connaissance à disposer d’une sortie dans ce format. Anatella permet aussi de travailler très facilement avec PowerBI dans le cloud (voici une vidéo très sympa à ce sujet).

iv. Data preparation : les outils

Si certains développeurs hardcore préfèrent toujours tout faire à la main avec des lignes de code, j’ai depuis longtemps opté pour des solutions “no code” qui sont largement plus efficaces. En ce qui me concerne, je pratique surtout Anatella. Mais certains ne jurent que par Tableau Prep, Alteryx, Informatica Power Center, Talend, Azure Data Factory. Vous l’aurez compris, les outils sont légion et c’est peut-être le problème. Il y en a tellement que le choix devient difficile.

Si vous êtes à la recherche d’une solution gratuite ou très performante, je vous conseille Anatella, commercialisé par la société TIMi. En ce qui me concerne, je suis un fan et j’apprends même à mon fils de 11 ans à s’en servir. Il fait quelques démos en vidéos sur des problèmes data divers et variés (séparation des données, déduplication).

Workflow réalisé sous Anatella pour l’enrichissement de données via un algorithme de NLP (Natural Language Processing)

Pour certains points spécifiques de la data preparation, des solutions alternatives existent. Par exemple, une jointure peut être réalisée dans un ETL ou bien directement dans la plupart des solutions de data visualisation. Le choix vous revient. Gardez en tête que si vous travaillez en groupe il est important de garder une seule version nettoyée « de référence » des données (“One source of truth“), ce pour quoi l’outil de data praparation est essentiel. Référez-vous au tableau ci-dessous pour voir les inconvénients de l’une et l’autre approche.

Qu’est-ce qu’un ETL (Extract – Transform – Load) ?

Les logiciels d’ETL, ou Extract-Transform-Load, sont les ancêtres des logiciels de data preparation. L’acronyme ETL signifie :

  • Extract : extraire les données à partir d’un fichier quel que soit son format
  • Transform : nettoyer et transformer les données afin de les rendre utilisables
  • Load : exporter les données et les charger dans un environnement où elles deviennent disponibles pour la prochaine étape de valorisation

En 2020, la grande majorité des ETL se consacrent uniquement à faire les opérations « E » et « L » (Extract et Load) et laissent de côté le côté « T » (transformation). Les outils adaptés pour faire des Transformations (« T ») sur les données sont les outils de data preparation. Vous trouverez plus de détails sur l’historique des outils de ETL et leur évolutipon vers les outils de data preparation sur cette page.

v. Data preparation : problèmes récurrents

J’ai essayé de lister ci-dessous quelques-uns des problèmes les plus courants que vous serez amenés à rencontrer en matière de data preparation.

Source: IntoTheMind

Plus d’infos sur Anatella ici.
Téléchargez gratuitement Anatella (dans la Suite TIMi) ici.

Get in touch


Stop renting compute power. Start owning your company.

Discuss your constraints, your volumes, your governance requirements.

We will show you how TIMi fits into your architecture.

Opens in a new tab