{"id":12988,"date":"2021-01-19T19:40:08","date_gmt":"2021-01-19T19:40:08","guid":{"rendered":"http:\/\/timi.eu\/?p=12988"},"modified":"2024-06-14T11:17:55","modified_gmt":"2024-06-14T11:17:55","slug":"data-preparation-definition-exemples-conseils","status":"publish","type":"post","link":"https:\/\/timi.eu\/fr\/blog-fr\/data-preparation-definition-exemples-conseils\/","title":{"rendered":"Data pr\u00e9paration : d\u00e9finition, exemples, conseils"},"content":{"rendered":"\n<div\n\t class=\"wpml-ls-statics-shortcode_actions wpml-ls wpml-ls-legacy-dropdown js-wpml-ls-legacy-dropdown\">\n\t<ul>\n\n\t\t<li tabindex=\"0\" class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-fr wpml-ls-current-language wpml-ls-item-legacy-dropdown\">\n\t\t\t<a href=\"#\" class=\"js-wpml-ls-item-toggle wpml-ls-item-toggle\">\n                                                    <img\n            class=\"wpml-ls-flag\"\n            src=\"https:\/\/timi.eu\/wp-content\/plugins\/sitepress-multilingual-cms\/res\/flags\/fr.png\"\n            alt=\"\"\n            width=18\n            height=12\n    \/><span class=\"wpml-ls-native\">Fran\u00e7ais<\/span><\/a>\n\n\t\t\t<ul class=\"wpml-ls-sub-menu\">\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-en wpml-ls-first-item\">\n\t\t\t\t\t\t<a href=\"https:\/\/timi.eu\" class=\"wpml-ls-link\">\n                                                                <img\n            class=\"wpml-ls-flag\"\n            src=\"https:\/\/timi.eu\/wp-content\/plugins\/sitepress-multilingual-cms\/res\/flags\/en.png\"\n            alt=\"\"\n            width=18\n            height=12\n    \/><span class=\"wpml-ls-display\">Anglais<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-es\">\n\t\t\t\t\t\t<a href=\"https:\/\/timi.eu\/es\/\" class=\"wpml-ls-link\">\n                                                                <img\n            class=\"wpml-ls-flag\"\n            src=\"https:\/\/timi.eu\/wp-content\/plugins\/sitepress-multilingual-cms\/res\/flags\/es.png\"\n            alt=\"\"\n            width=18\n            height=12\n    \/><span class=\"wpml-ls-display\">Espagnol<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-nl\">\n\t\t\t\t\t\t<a href=\"https:\/\/timi.eu\/nl\/\" class=\"wpml-ls-link\">\n                                                                <img\n            class=\"wpml-ls-flag\"\n            src=\"https:\/\/timi.eu\/wp-content\/plugins\/sitepress-multilingual-cms\/res\/flags\/nl.png\"\n            alt=\"\"\n            width=18\n            height=12\n    \/><span class=\"wpml-ls-display\">N\u00e9erlandais<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-ru wpml-ls-last-item\">\n\t\t\t\t\t\t<a href=\"https:\/\/timi.eu\/ru\/\" class=\"wpml-ls-link\">\n                                                                <img\n            class=\"wpml-ls-flag\"\n            src=\"https:\/\/timi.eu\/wp-content\/plugins\/sitepress-multilingual-cms\/res\/flags\/ru.png\"\n            alt=\"\"\n            width=18\n            height=12\n    \/><span class=\"wpml-ls-display\">Russe<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t<\/ul>\n\n\t\t<\/li>\n\n\t<\/ul>\n<\/div>\n\nCet article est un extrait de l&rsquo;aticle initial publi\u00e9 par le Dr. Pierre-Nicolas Schwabb sur le blog de IntoTheMind.<\/p>\n<h1 style=\"margin-top: 50px;\">Data preparation : d\u00e9finition, exemples, conseils<\/h1>\n<p>Pour parler de la data preparation, quoi de mieux que de partir d\u2019un constat.&nbsp;<strong>Dans le monde de la data, il y une r\u00e8gle que tout le monde conna\u00eet : 80% du temps d\u2019un data scientist est pass\u00e9 \u00e0 pr\u00e9parer ses donn\u00e9es&nbsp;<\/strong>; et seulement 20% \u00e0 exploiter les donn\u00e9es, notamment \u00e0 les&nbsp;visualiser. Dans cet article nous donnons un coup de projecteur sur la data preparation : les probl\u00e8mes les plus souvent rencontr\u00e9s, les outils et les tendances. En route pour de nouvelles dataventures !<\/p>\n<h2>Sommaire<\/h2>\n<ul>\n<li><a href=\"#para1\">i. Introduction<\/a><\/li>\n<li><a href=\"#para2\">ii. Data preparation : d\u00e9finition<\/a><\/li>\n<li><a href=\"#para3\">iii. Les 5 \u00e9tapes de la data preparation<\/a><\/li>\n<li><a href=\"#para4\">iv. Les outils de data preparation<\/a><\/li>\n<li><a href=\"#para5\">v. Probl\u00e8mes r\u00e9currents en data preparation<\/a><\/li>\n<\/ul>\n<hr class=\"wp-block-separator\">\n<p><img decoding=\"async\" class=\"aligncenter wp-image-13404 size-full\" src=\"\/wp-content\/uploads\/2021\/04\/introduction-banner.jpg\" alt=\"Introduction\" width=\"50%\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/introduction-banner.jpg 1200w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/introduction-banner-600x200.jpg 600w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/introduction-banner-300x100.jpg 300w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/introduction-banner-1024x341.jpg 1024w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/introduction-banner-768x256.jpg 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h2><a id=\"para1\"><\/a>i. Introduction<\/h2>\n<p>Il ne vous aura pas \u00e9chapp\u00e9 que les donn\u00e9es sont partout et qu\u2019elles constituent le moteur de l\u2019innovation digitale. La multiplication des applications, la part grandissante d\u2019Internet dans notre vie, la mont\u00e9e en puissance de l\u2019IoT, sont autant de facteurs qui expliquent que&nbsp;<strong>des activit\u00e9s sp\u00e9cifiques se d\u00e9veloppent autour des donn\u00e9es<\/strong>. Dans les services informatiques sont donc apparues de nouvelles fonctions :&nbsp;data engineer, data visualisation specialist, data scientist. Chacun intervient \u00e0 diff\u00e9rentes \u00e9tapes du processus de valorisation des donn\u00e9es. Mais tous ont un besoin commun : celui de donn\u00e9es de qualit\u00e9. C\u2019est tout l\u2019enjeu de la data preparation.<\/p>\n<div style=\"background-color: #eee; padding: 30px; margin: 30px 0 30px 0;\">\n<h2>Trois conseils pour le choix d\u2019un outil de pr\u00e9paration des donn\u00e9es (\u00ab\u00a0ETL\u00a0\u00bb)<\/h2>\n<ol>\n<li>Choisissez un outil avec de nombreux connecteurs en entr\u00e9e<\/li>\n<li>Il est important de disposer de nombreuses fonctionnalit\u00e9s pour transformer les donn\u00e9es. Les ETL fonctionnent souvent avec des \u201cbo\u00eetes\u201d \u00e0 connecter entre elles. V\u00e9rifiez donc que l\u2019ETL que vous choisissez est tr\u00e8s complet au niveau de ces bo\u00eetes de Transformation (\u00ab\u00a0T\u00a0\u00bb).<\/li>\n<li>Les jointures sont particuli\u00e8rement importantes. Privil\u00e9giez un outil qui dispose de plusieurs types de jointures. Une jointure avec fuzzy matching se r\u00e9v\u00e8le souvent tr\u00e8s utile et doit faire partie des fonctionnalit\u00e9s offertes.<\/li>\n<\/ol>\n<\/div>\n<hr class=\"wp-block-separator\">\n<h2><a id=\"para2\"><\/a>ii. Data preparation : d\u00e9finition<\/h2>\n<p>Le terme \u201cdata preparation\u201d (ou \u00ab pr\u00e9paration des donn\u00e9es \u00bb en fran\u00e7ais) d\u00e9signe les op\u00e9rations qui sont effectu\u00e9es sur des donn\u00e9es brutes afin de les rendre analysables.<\/p>\n<p>La data preparation s\u2019attache \u00e0 importer les donn\u00e9es, \u00e0 en v\u00e9rifier la consistance, \u00e0 corriger les probl\u00e8mes de qualit\u00e9 et ensuite \u00e0 enrichir les donn\u00e9es par l\u2019apport d\u2019autres datasets. Ensuite, si on veut faire du machine learning, on normalisera les donn\u00e9es et on cr\u00e9era des \u00ab\u00a0features\u00a0\u00bb. Si on veut faire des dashboards, on calculera des KPI&rsquo;s.<\/p>\n<p>Chaque \u00e9tape est importante et n\u00e9cessite l\u2019usage de fonctionnalit\u00e9s sp\u00e9cifiques au moment de la transformation des donn\u00e9es.<\/p>\n<hr class=\"wp-block-separator\">\n<blockquote class=\"wp-block-quote\" style=\"font-size: 30px; line-height: 35px; margin: 10px 0px 30px 20px;\"><p><img decoding=\"async\" loading=\"lazy\" class=\"size-thumbnail wp-image-13436 alignleft\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/quotes-150x150.png\" alt=\"\" width=\"75\" height=\"75\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/quotes-150x150.png 150w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/quotes-300x300.png 300w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/quotes-100x100.png 100w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/quotes-85x85.png 85w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/quotes.png 500w\" sizes=\"(max-width: 75px) 100vw, 75px\" \/>Data preparation = les op\u00e9rations qui sont effectu\u00e9es sur des donn\u00e9es brutes afin de les rendre analysables<\/p><\/blockquote>\n<hr class=\"wp-block-separator\">\n<h2><a id=\"para3\"><\/a>iii. Les 5 \u00e9tapes de la data preparation<\/h2>\n<p>Disons-le tout de suite, il n\u2019y pas de \u201cworkflow\u201d unique et je n\u2019affirme pas pr\u00e9senter la v\u00e9rit\u00e9 absolue en mati\u00e8re de pr\u00e9paration des donn\u00e9es. Sur la base de mon exp\u00e9rience j\u2019ai simplement essay\u00e9 de&nbsp;<strong>regrouper les t\u00e2ches r\u00e9currentes en \u00e9tapes logiques<\/strong>. Qu\u2019il y en ait 5, 6 ou 7 a au final peu d\u2019importance. Ce qui compte c\u2019est que vous compreniez le contenu de chaque op\u00e9ration.<\/p>\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-13407\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/1-banner-470x157-1.jpg\" alt=\"\" width=\"470\" height=\"157\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/1-banner-470x157-1.jpg 470w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/1-banner-470x157-1-300x100.jpg 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/figure>\n<h3>Importation ou acquisition des donn\u00e9es<\/h3>\n<p>La 1\u00e8re \u00e9tape consiste \u00e0 \u201cacqu\u00e9rir\u201d les donn\u00e9es qui sont n\u00e9cessaires au travail. Ces donn\u00e9es peuvent venir de diff\u00e9rents endroits, avoir diff\u00e9rents formats. Il est donc important d\u2019<strong>adopter un outil qui dispose de multiples connecteurs<\/strong>&nbsp;pour ne pas \u00eatre bloqu\u00e9. Si les fichiers plats constituent un des formats les plus courants, il ne faut certainement pas n\u00e9gliger des formats plus exotiques. Dans cet exemple de&nbsp;<a href=\"https:\/\/timi.eu\/fr\/blog-fr\/obtenir-plus-de-vues-et-dengagement-sur-linkedin\/\" target=\"_blank\" rel=\"noopener\">data preparation \u00e0 partir de fichiers extraits de LinkedIn<\/a>, des fichiers plats (au format .JSON) ont d\u00fb \u00eatre pr\u00e9par\u00e9s aux c\u00f4t\u00e9s de simples fichiers .CSV. En mati\u00e8re d\u2019importation de donn\u00e9es il faut \u00eatre pr\u00eat \u00e0 toutes les \u00e9ventualit\u00e9s !<\/p>\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-13410\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/2-banner-470x157-1.jpg\" alt=\"\" width=\"470\" height=\"157\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/2-banner-470x157-1.jpg 470w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/2-banner-470x157-1-300x100.jpg 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/figure>\n<h3>D\u00e9couverte<\/h3>\n<p>La 2\u00e8me \u00e9tape est assez excitante. Il s\u2019agit de partir \u00e0 la d\u00e9couverte des donn\u00e9es, de les explorer. Le but \u00e0 ce stade n\u2019est pas d\u2019analyser les corr\u00e9lations mais plut\u00f4t de chercheurs les erreurs qui auraient pu se glisser ici et l\u00e0. Il est important de rep\u00e9rer les champs vides et les formats de donn\u00e9es. Une petite visualisation rapide est utile \u00e0 cet effet car elle vous permettra tout de suite de voir si le format de donn\u00e9es est le bon (essayez de faire un graphique si vos donn\u00e9es sont stock\u00e9es en texte). Lorsque j\u2019utilise <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a>, j\u2019appr\u00e9cie avoir de pouvoir en 1 clic des statistiques descriptives des donn\u00e9es. Cela permet de rep\u00e9rer tout de suite les cat\u00e9gories erron\u00e9es, les valeurs aberrantes et surtout les \u201cNull\u201d.<\/p>\n<p>Profitez de l\u2019\u00e9tape de d\u00e9couverte des donn\u00e9es pour effectuer quelques petits tests simples afin de d\u00e9tecter les probl\u00e8mes moins \u00e9vidents \u00e0 corriger dans l\u2019\u00e9tape suivante. Utilisez par exemple des fonctions de tri pour d\u00e9tecter les doublons.<\/p>\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-13389\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/3-banner-470x157-1.jpg\" alt=\"\" width=\"470\" height=\"157\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/3-banner-470x157-1.jpg 470w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/3-banner-470x157-1-300x100.jpg 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/figure>\n<h3>Nettoyage des donn\u00e9es (data cleaning)<\/h3>\n<p>Dans la 3\u00e8me \u00e9tape de la data pr\u00e9paration (on dit aussi \u201cdata prep\u201d pour faire pro), il faut organiser les donn\u00e9es et les nettoyer. On appelle ce processus de \u201cnetoyage\u201d de plus en plus \u201cdata wrangling\u201d ou \u201cdata munging\u201d. Ce que j\u2019aime faire \u00e0 ce stade c\u2019est d\u00e9j\u00e0 de r\u00e9organiser et renommer les colonnes, d\u2019\u00e9liminer celles qui sont redondantes quand c\u2019est le cas. Cela vous permet d\u2019avoir les pr\u00e9misses d\u2019un \u00ab\u00a0data model\u00a0\u00bb et la premi\u00e8re pierre de votre diagramme UML.<\/p>\n<p>Ensuite vient le moment d\u2019aller plus dans le d\u00e9tail. Lors de l\u2019\u00e9tape de d\u00e9couverte, vous avez d\u00e9j\u00e0 pu corriger les probl\u00e8mes de formats les plus \u00e9vidents. Maintenant, il est temps de faire appara\u00eetre les probl\u00e8mes les moins \u00e9vidents. Je pense ici par exemple aux probl\u00e8mes de doublons (d\u00e9duplication), \u00e0 la s\u00e9paration des donn\u00e9es.&nbsp; Le nettoyage des donn\u00e9es peut \u00e9galement comporter une partie \u201ctransformation\u201d. Vous pourriez, par exemple, d\u00e9tecter une cat\u00e9gorie de donn\u00e9es qui doit \u00eatre modifi\u00e9e afin d\u2019\u00eatre exploitable). Dans le cas o\u00f9 votre jeu de donn\u00e9es contiendrait des valeurs aberrantes, les op\u00e9rations de transformation sont utiles pour pouvoir quand m\u00eame exploiter vos pr\u00e9cieuses donn\u00e9es.<\/p>\n<figure id=\"attachment_13392\" aria-describedby=\"caption-attachment-13392\" style=\"width: 470px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-13392\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/jointure-power-bi-470x308-1.jpg\" alt=\"\" width=\"470\" height=\"308\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/jointure-power-bi-470x308-1.jpg 470w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/jointure-power-bi-470x308-1-300x197.jpg 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><figcaption id=\"caption-attachment-13392\" class=\"wp-caption-text\">Lorsque vous faites une jointure dans PowerBI vous obtenez d\u00e9j\u00e0 les pr\u00e9misses d\u2019un diagramme UML.<\/figcaption><\/figure>\n<p><strong><em>.<\/em><\/strong><\/p>\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-13395\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/4-banner-470x157-1.jpg\" alt=\"\" width=\"470\" height=\"157\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/4-banner-470x157-1.jpg 470w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/4-banner-470x157-1-300x100.jpg 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/figure>\n<h3>Enrichissement<\/h3>\n<p>L\u2019enrichissement des donn\u00e9es consiste \u00e0&nbsp;<strong>\u201caugmenter\u201d votre dataset avec des donn\u00e9es externes<\/strong>. Il vous faudra pour cela r\u00e9aliser des jointures. Il existe diff\u00e9rents types de jointures. Ce que j\u2019appr\u00e9cie avec une solution comme <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a> c\u2019est la possibilit\u00e9 de choisir parmi de nombreux types de jointures. L\u2019une d\u2019entre elles est particuli\u00e8rement unique puisqu\u2019il s\u2019agit d\u2019une jointure de type \u201cfuzzy matching\u201d. Cette fonctionnalit\u00e9 est tellement unique que j\u2019en ai m\u00eame fait&nbsp;<a href=\"https:\/\/www.intotheminds.com\/blog\/fuzzy-matching-dans-alteryx-tests-resultats-et-comparaison\/\" target=\"_blank\" rel=\"noreferrer noopener\">un article<\/a>&nbsp;pour comparer les processus entre <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a>, Alteryx et Tableau Prep.<\/p>\n<p>Les jointures simples (lorsque toutes les donn\u00e9es ont \u00e9t\u00e9 nettoy\u00e9es) peuvent aussi \u00eatre faites dans votre solution de data visualisation (voir&nbsp;<a href=\"https:\/\/www.intotheminds.com\/blog\/data-visualisation\/\" target=\"_blank\" rel=\"noreferrer noopener\">ici<\/a>&nbsp;notre guide de la dataviz). Il y a des avantages et des inconv\u00e9nients \u00e0 une telle pratique. En ce qui me concerne, je pr\u00e9f\u00e8re pr\u00e9parer mes donn\u00e9es dans un seul logiciel (c\u00e0d dans le logiciel de data preparation) et une fois que le processus est fini commencer le travail d\u2019analyse. Nous reviendrons avec plus de d\u00e9tails sur ce sujet ci-apr\u00e8s.<\/p>\n<p>C&rsquo;est aussi lors de cette \u00e9tape qu&rsquo;on d\u00e9veloppera les r\u00e8gle complexes pour pour calculer les KPI&rsquo;s (pour faire des dashboards) ou qu&rsquo;on normalisera les donn\u00e9es (pour faire du machine learning).<\/p>\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-13398\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/5-banner-470x157-1.jpg\" alt=\"\" width=\"470\" height=\"157\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/5-banner-470x157-1.jpg 470w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/04\/5-banner-470x157-1-300x100.jpg 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/figure>\n<h3>Publication<\/h3>\n<p>Une fois que tout est bien organis\u00e9, nettoy\u00e9, enrichi et normalis\u00e9 il n\u2019y a plus qu\u2019\u00e0 publier le dataset final. La plupart du temps les donn\u00e9es seront simplement \u201cpouss\u00e9es\u201d soit en local, soit vers le Cloud. En fonction de l\u2019utilisation que vous ferez des donn\u00e9es apr\u00e8s la data preparation, il peut \u00eatre utile d\u2019opter pour une exportation dans un format de donn\u00e9es optimis\u00e9. Par exemple, si vous travaillez comme moi sous Tableau, il est recommand\u00e9 d\u2019exporter les fichiers au format \u00ab\u00a0.hyper\u00a0\u00bb. L\u2019ETL que j\u2019utilise (<a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a>) \u00e9tait le premier \u00e0 ma connaissance \u00e0 disposer d\u2019une sortie dans ce format. <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a> permet aussi de travailler tr\u00e8s facilement avec PowerBI dans le cloud (voici <a href=\"https:\/\/www.youtube.com\/watch?v=aX5pt-BBB4Q\" target=\"_blank\" rel=\"noopener\">une vid\u00e9o tr\u00e8s sympa \u00e0 ce sujet<\/a>).<\/p>\n<hr class=\"wp-block-separator\">\n<h2><a id=\"para4\"><\/a>iv. Data preparation : les outils<\/h2>\n<p>Si certains d\u00e9veloppeurs hardcore pr\u00e9f\u00e8rent toujours tout faire \u00e0 la main avec des lignes de code, j\u2019ai depuis longtemps opt\u00e9 pour des solutions \u201cno code\u201d qui sont largement plus efficaces. En ce qui me concerne, je pratique surtout <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a>. Mais certains ne jurent que par Tableau Prep, Alteryx, Informatica Power Center, Talend, Azure Data Factory. Vous l\u2019aurez compris, les outils sont l\u00e9gion et c\u2019est peut-\u00eatre le probl\u00e8me. Il y en a tellement que le choix devient difficile.<\/p>\n<p>Si vous \u00eates \u00e0 la recherche d\u2019une&nbsp;<a href=\"https:\/\/timi.eu\/fr\/timi\/ethique\/#free\" target=\"_blank\" rel=\"noreferrer noopener\">solution gratuite<\/a> ou tr\u00e8s performante, je vous conseille&nbsp;<strong><a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a>, commercialis\u00e9 par la soci\u00e9t\u00e9 TIMi.&nbsp;<\/strong>En ce qui me concerne, je suis un fan et j\u2019apprends m\u00eame \u00e0 mon fils de 11 ans \u00e0 s\u2019en servir. Il fait quelques d\u00e9mos en vid\u00e9os sur des probl\u00e8mes data divers et vari\u00e9s (<a href=\"https:\/\/youtu.be\/G8IWXIcXrHg\" target=\"_blank\" rel=\"noreferrer noopener\">s\u00e9paration des donn\u00e9es<\/a>,&nbsp;<a href=\"https:\/\/youtu.be\/nc73Bhuegcs\" target=\"_blank\" rel=\"noreferrer noopener\">d\u00e9duplication<\/a>).<\/p>\n<figure id=\"attachment_20064\" aria-describedby=\"caption-attachment-20064\" style=\"width: 750px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-20064\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/anatella-NLP-linkedin-1024x287-1-300x84.jpg\" alt=\"\" width=\"750\" height=\"210\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/anatella-NLP-linkedin-1024x287-1-300x84.jpg 300w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/anatella-NLP-linkedin-1024x287-1-768x215.jpg 768w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/anatella-NLP-linkedin-1024x287-1-600x168.jpg 600w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/anatella-NLP-linkedin-1024x287-1.jpg 1024w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><figcaption id=\"caption-attachment-20064\" class=\"wp-caption-text\">Workflow r\u00e9alis\u00e9 sous <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a> pour l\u2019enrichissement de donn\u00e9es via un algorithme de NLP (Natural Language Processing)<\/figcaption><\/figure>\n<p>Pour certains points sp\u00e9cifiques de la data preparation, des solutions alternatives existent. Par exemple, une jointure peut \u00eatre r\u00e9alis\u00e9e dans un ETL ou bien directement dans la plupart des solutions de data visualisation. Le choix vous revient. Gardez en t\u00eate que si vous travaillez en groupe il est important de garder une seule version nettoy\u00e9e \u00ab\u00a0de r\u00e9f\u00e9rence\u00a0\u00bb des donn\u00e9es (\u201c<em>One source of truth<\/em>\u201c), ce pour quoi l\u2019outil de data praparation est essentiel. R\u00e9f\u00e9rez-vous au tableau ci-dessous pour voir les inconv\u00e9nients de l\u2019une et l\u2019autre approche.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr style=\"background-color: #eee;\">\n<td width=\"20%\"><\/td>\n<td>Avantages<\/td>\n<td>Inconv\u00e9nients<\/td>\n<\/tr>\n<tr>\n<td>Jointure dans un logiciel de data preparation (ETL)<\/td>\n<td>Vous pouvez g\u00e9rer tous les aspects de la data preparation \u00e0 un seul endroit. Le nettoyage des donn\u00e9es en particulier n\u2019est pas toujours possible dans un logiciel de data visualisation. Seules les op\u00e9rations les plus simples sont possibles dans un logiciel de dataviz.Seule approche possible si vous voulez maintenir \u201c<em>one source of truth<\/em>\u201c.<\/td>\n<td>Si vous avez fait une erreur (d\u00e9couverte dans le logiciel de visualisation), vous devrez rouvrir votre ETL et r\u00e9exporter les donn\u00e9es<\/td>\n<\/tr>\n<tr style=\"background-color: #fafafa;\">\n<td>Jointure dans un logiciel de data visualisation<\/td>\n<td>La facilit\u00e9 : vous faites la jointure et vous pouvez voir le r\u00e9sultat visualis\u00e9 directement. Pas besoin, comme avec un logiciel ETL, d\u2019exporter les donn\u00e9es dans un format interm\u00e9diaire.<\/td>\n<td>Impossible de faire des op\u00e9rations de transformation complexes sur les donn\u00e9es. Dans PowerBI ou Tableau vous pouvez modifier des formats de donn\u00e9es, s\u00e9parer des donn\u00e9es qui sont dans une m\u00eame colonne, mais \u00e7a ne va gu\u00e8re plus loin.Le principe \u201cOne Source of Truth\u201d ne peut pas \u00eatre respect\u00e9 puisque chacun fait son travail de son c\u00f4t\u00e9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<div style=\"background-color: #eee; padding: 30px; margin: 50px 0 30px 0;\">\n<h2>Qu\u2019est-ce qu\u2019un ETL (Extract \u2013 Transform \u2013 Load) ?<\/h2>\n<p>Les logiciels d\u2019ETL, ou Extract-Transform-Load, sont les anc\u00eatres des logiciels de data preparation. L&rsquo;acronyme ETL signifie :<\/p>\n<ul>\n<li>Extract : extraire les donn\u00e9es \u00e0 partir d\u2019un fichier quel que soit son format<\/li>\n<li>Transform : nettoyer et transformer les donn\u00e9es afin de les rendre utilisables<\/li>\n<li>Load : exporter les donn\u00e9es et les charger dans un environnement o\u00f9 elles deviennent disponibles pour la prochaine \u00e9tape de valorisation<\/li>\n<\/ul>\n<p>En 2020, la grande majorit\u00e9 des ETL se consacrent uniquement \u00e0 faire les op\u00e9rations \u00ab\u00a0E\u00a0\u00bb et \u00ab\u00a0L\u00a0\u00bb (Extract et Load) et laissent de c\u00f4t\u00e9 le c\u00f4t\u00e9 \u00ab\u00a0T\u00a0\u00bb (transformation). Les outils adapt\u00e9s pour faire des Transformations (\u00ab\u00a0T\u00a0\u00bb) sur les donn\u00e9es sont les outils de data preparation. Vous trouverez plus de d\u00e9tails sur l&rsquo;historique des outils de ETL et leur \u00e9volutipon vers les outils de data preparation sur <a href=\"https:\/\/timi.eu\/fr\/blog-fr\/news-fr\/etl-guide-2022\/\">cette page<\/a>.<\/p>\n<\/div>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-20075\" src=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/scratching-head-banner-300x100.jpg\" alt=\"scratching-head-banner\" width=\"645\" height=\"215\" srcset=\"https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/scratching-head-banner-300x100.jpg 300w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/scratching-head-banner-1024x341.jpg 1024w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/scratching-head-banner-768x256.jpg 768w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/scratching-head-banner-600x200.jpg 600w, https:\/\/timi.eu\/wp-content\/uploads\/2021\/01\/scratching-head-banner.jpg 1200w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/p>\n<hr class=\"wp-block-separator\">\n<h2><a id=\"para5\"><\/a>v. Data preparation : probl\u00e8mes r\u00e9currents<\/h2>\n<p>J\u2019ai essay\u00e9 de lister ci-dessous quelques-uns des probl\u00e8mes les plus courants que vous serez amen\u00e9s \u00e0 rencontrer en mati\u00e8re de data preparation.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr style=\"background-color: #eee;\">\n<td width=\"20%\">Probl\u00e8me<\/td>\n<td>Description<\/td>\n<td>Solution<\/td>\n<\/tr>\n<tr>\n<td>Doublons<\/td>\n<td>Des donn\u00e9es sont r\u00e9p\u00e9t\u00e9es dans le dataset qui risquent d\u2019induire des erreurs d\u2019analyses. Par exemple, on tente d&rsquo;importer des clients d\u00e9j\u00e0 existants.<\/td>\n<td>D\u00e9duplication des donn\u00e9es sur un ou plusieurs champs (voir&nbsp;<a href=\"https:\/\/youtu.be\/nc73Bhuegcs\" target=\"_blank\" rel=\"noreferrer noopener\">cette vid\u00e9o<\/a>)<\/td>\n<\/tr>\n<tr style=\"background-color: #fafafa;\">\n<td>Jointure et Enrichissement<\/td>\n<td>Liaison de 2 ou plus jeux de donn\u00e9es gr\u00e2ce \u00e0 une \u201ccl\u00e9\u201d de jointure.<\/td>\n<td>Les ETL disposent g\u00e9n\u00e9ralement de plusieurs types de jointures. <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a> par exemple propose 7 types de jointure dont: une jointure en fuzzy matching bien utile, une jointure sur des coordonn\u00e9es g\u00e9ographiques.<\/td>\n<\/tr>\n<tr>\n<td>Diff\u00e9rences d\u2019orthographe<\/td>\n<td>Les utilisateurs ont entr\u00e9 des donn\u00e9es (nom, pr\u00e9nom, ville) de mani\u00e8res diff\u00e9rentes ce qui rend impossible l\u2019analyse.<\/td>\n<td>Correction sur la base d\u2019un dictionnaire ou en fuzzy matching (voir&nbsp;<a href=\"https:\/\/www.intotheminds.com\/blog\/fuzzy-matching-comparaison-methodes-jointure\/\" target=\"_blank\" rel=\"noreferrer noopener\">cet article<\/a>&nbsp;pour plus d\u2019information sur le fuzzy matching)<\/td>\n<\/tr>\n<tr style=\"background-color: #fafafa;\">\n<td>Diff\u00e9rences de format<\/td>\n<td>Le probl\u00e8me le plus commun est l\u2019utilisation du point pour la d\u00e9cimale dans le monde anglo-saxon au lieu de la virgule.<\/td>\n<td>Adaptation des formats r\u00e9gionaux au moment de l\u2019import des donn\u00e9es ou adaptation par la suite. Dans les outils de BI il est possible d\u2019indiquer le format r\u00e9gional lorsque les donn\u00e9es sont import\u00e9es.<\/td>\n<\/tr>\n<tr>\n<td>Chiffres stock\u00e9s en texte<\/td>\n<td>Erreur souvent due \u00e0 la pr\u00e9sence d\u2019espaces ou autres signes qui emp\u00eachent la reconnaissance du format<\/td>\n<td>\u00c9liminer d\u2019abord les signes qui \u201cpolluent\u201d le champ (qu\u2019ils soient visibles ou non) puis changer le format. Dans les outils de BI on peut utiliser la commande \u201cscinder\u201d (extraire dans PowerBI). Dans les ETL comme <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a> je conseille l\u2019utilisation de la bo\u00eete \u201cchangeDataType\u201d<\/td>\n<\/tr>\n<tr style=\"background-color: #fafafa;\">\n<td>Diff\u00e9rence d\u2019encodage<\/td>\n<td>\u201ctext encoding\u201d qui change entre 2 fichiers qui doivent \u00eatre trait\u00e9s dans un m\u00eame process (Latin1\/iso8859 et utf-8 par exemple).<\/td>\n<td>Sp\u00e9cification de la m\u00e9thode d\u2019encodage au moment de l\u2019import des donn\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Espaces dans les cellules<\/td>\n<td>Probl\u00e8me tr\u00e8s courant mais difficile \u00e0 d\u00e9tecter car l\u2019espace peut ne pas \u00eatre pr\u00e9sent dans toutes les cellules<\/td>\n<td>Suppression des espaces ind\u00e9sirables \u00e0 l\u2019import des donn\u00e9es. Dans <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a> l\u2019option \u201cTrim\u201d est activ\u00e9e par d\u00e9faut \u00e0 chaque importation de donn\u00e9es<\/td>\n<\/tr>\n<tr style=\"background-color: #fafafa;\">\n<td>Pivoter<\/td>\n<td>Lors de l&rsquo;importation d&rsquo;une table de donn\u00e9es, des donn\u00e9es pr\u00e9sentes sur plusieurs lignes doivent \u00eatre regroup\u00e9es sur une seul ligne (et invers\u00e9ment: on devra parfois mettre sur plusieurs lignes des donn\u00e9es pr\u00e9sentes sur une seule ligne)<\/td>\n<td>Dans <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">Anatella<\/a>, on fera \u00e7a en quelques clicks avec les boites \u00ab\u00a0flatten\u00a0\u00bb et \u00ab\u00a0unflatten\u00a0\u00bb<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p style=\"margin-top: 30px;\">Source: <a href=\"https:\/\/timi.eu\/fr\/blog-fr\/data-preparation-definition-exemples-conseils\/\" target=\"_blank\" rel=\"noopener\">IntoTheMind<\/a><\/p>\n<p><b>Plus d&rsquo;infos sur Anatella <a href=\"https:\/\/timi.eu\/fr\/timi\/anatella\/\">ici<\/a>.<br \/>\nT\u00e9l\u00e9chargez gratuitement Anatella (dans la Suite TIMi) <a href=\"https:\/\/timi.eu\/fr\/downloads\/\">ici<\/a>.<\/b><\/p>\n","protected":false},"excerpt":{"rendered":"D\u00e9couvez les probl\u00e8mes les plus souvent rencontr\u00e9s, les outils et les tendances en data preparation.","protected":false},"author":1,"featured_media":13187,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[248,184],"tags":[309,317,316],"_links":{"self":[{"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/posts\/12988"}],"collection":[{"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/comments?post=12988"}],"version-history":[{"count":45,"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/posts\/12988\/revisions"}],"predecessor-version":[{"id":20098,"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/posts\/12988\/revisions\/20098"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/media\/13187"}],"wp:attachment":[{"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/media?parent=12988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/categories?post=12988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/timi.eu\/fr\/wp-json\/wp\/v2\/tags?post=12988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}