Quelle recette pour nettoyer ses données ?

J’ai testé deux solutions de data preparation utiles pour nettoyer ses données avant de les analyser.

page.alt
  • Data preparation
  • Préparation de données
  • Wrangler
  • Nettoyage de données

Quelle recette pour nettoyer ses données ?

La préparation des données est une étape nécessaire mais fastidieuse souvent boudée par les métiers. Or cette étape est essentielle pour travailler avec des outils de business intelligence. Si les données ne sont pas “propres” au démarrage, l’analyse et le reporting ne pourront pas, eux non plus, être de qualité. J’ai testé deux solutions de préparation de données. Voici les résultats du match.


La préparation de données, c’est quoi ?

En 2016, Forbes publiait l’article « Nettoyage de données : le plus gros consommateur de temps, la moins plaisante des tâches » dans lequel il décrivait que les data scientists passeraient près de 80% de leur temps à faire de la data prep. Mais dédoublonner, enrichir, nettoyer, uniformiser, organiser, sélectionner, valider sont des actions facilitées par l’arrivée depuis quelques années d’outils comme celui de Talend, Dataiku, Trifacta, Datawatch, ou encore Open refine (anciennement Google refine).


Similitudes des outils de data prep

J’ai réalisé mes tests d’outils de data preparation à partir d’un fichier compilant les données brutes d’une étude. Ce fichier de 256 colonnes et 2 056 lignes est le résultat d’une étude sur la popularité des marques réalisée par un institut de sondages. Plusieurs anomalies sont présentes dans ce fichier et nous empêchent d’analyser les données :

  • les noms des colonnes ne sont pas compréhensibles,
  • les réponses dans les cellules sont encodées,
  • les colonnes sont mal organisées,
  • il manque des informations comme le nom des communes alors que nous avons les codes postaux.
tableau de données Tableau de données

Le fonctionnement des outils de data prep est relativement similaire. Nous importons des fichiers de données, puis nous créons des flows. Un flow correspond à une succession de traitements (recettes) à appliquer sur un fichier. Pour obtenir un fichier propre, nous sélectionnons donc une ou plusieurs sources de données, comme un fichier Excel par exemple, sur lesquelles on applique des flows. L’avantage de cette solution est que si la source de données entrante est évolutive, il n’est pas nécessaire de refaire les traitements, tout est automatique.

tableau de données Construction recette

La complexité réside dans l’élaboration des recettes qui permettront par la suite de réaliser les actions à mener sur les données. L’écran des recettes est celui sur lequel nous passons le plus de temps. Il ressemble à un tableur amélioré, avec au dessus des colonnes la détection des types (texte, chiffre, date, etc.), et une jauge de remplissage et de validité de la colonne. La différence avec Excel, où nous agissons presque exclusivement sur les colonnes, est que nous intervenons sur le détail des cellules. Certaines actions, impossibles dans Excel, deviennent un jeu d’enfant comme la jointure de deux fichiers à partir d’une même colonne, utilisée comme clé de jointure.


Comparaison de deux outils

J’ai testé les outils de Trifacta et de Dataiku qui nous semblaient les plus accessibles. Ces deux sociétés proposent une version gratuite de leur logiciel avec la limite acceptable de 100 Mo de données à traiter.


Trifacta Wrangler

J’ai commencé par tester le logiciel américain Trifacta Wrangler, développé par des doctorants de Berkeley et Stanford et précurseur sur son marché. L’interface est quelque peu compliquée à prendre en main mais après un temps d’adaptation, les écrans sont très compréhensibles. Pour automatiser le nettoyage de mon fichier, je sélectionne une action à réaliser dans la liste et j’indique sur quelles colonnes je veux réaliser cette action. C’est très efficace.

tableau de données Écran Trifacta

Cependant, le logiciel a montré des lenteurs importantes sous Mac OS, contrairement à Dataiku alors qu’aucun souci de ralentissement n’est à noter avec une configuration Windows. J’ai donc cherché une solution pour travailler plus rapidement sous Mac OS. Comme Trifacta Wrangler propose d’importer sa recette écrite en code, je rédige toutes les actions de ma recette dans un éditeur de texte en dehors du logiciel, puis je l’importe dans Trifacta. Impossible. Finalement, j’ai écrit mes recettes directement dans le logiciel. C’est tout autant fastidieux que d’utiliser Excel mais nettement plus simple.

Dataiku DSS

La solution Dataiku DSS de la start-up française éponyme est une très belle surprise. Des clients nous avaient dit que l’installation et la prise en main était plutôt experte, ce que j’appréhendais mais qui se sont finalement bien passées. Les trois points fort du logiciel sont la simplicité d’édition des recettes, la rapidité de réponse de l’outil et le design plaisant de l’interface.

tableau de données Écran Dataiku DSS

Contrairement à Trifacta, la data preparation n’est pas l’unique métier de Dataiku qui va plus loin dans la chaîne de traitement des données avec des fonctionnalités de machine learning, de business intelligence, etc. L’interface de Dataiku DSS est donc surchargée de possibilités inutiles dans mon cas. Enfin, les tutoriels de Trifacta sont tellements bien réalisés et utiles que Dataiku perd quelques points pour moi sur cet aspect.


Conclusion

Même si j’ai préféré utiliser la solution de Dataiku, celle de Trifacta est aussi de très haut niveau. Ce que je retiens de ces tests est avant tout la facilité avec laquelle j’ai préparé mes données sans compétence technique. Le grand bénéfice est un gain de temps : j’ai nettoyé mon fichier en 2 heures, là où j’aurais mis 12 heures avec Excel.


Liens :
Article : Cleaning Big Data: Most Time-Consuming, Least Enjoyable Data Science Task, Survey Says
Site : Trifacta
Site : Dataiku