Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Réalisation d'un mashup de données avec DSS de Dataiku - Première partie

1,700 views

Published on

Cf la seconde partie https://www.slideshare.net/lespetitescases/ralisation-dun-mashup-de-donnes-avec-dss-de-dataiku-et-visualisation-avec-palladio-deuxime-partie

Tutoriel pour réaliser un mashup à partir de jeux de données libres téléchargés sur data.gouv.fr et Wikidata entre autres avec le logiciel DSS de Dataiku. Après une introduction sur la notion de mashup et des exemples, cette première partie s'intéresse à la préparation de deux jeux de données issues de data.gouv.fr et provenant du Centre national du cinéma.

Ce tutoriel a servi de support de cours au Master 2 "Technologies numériques appliqués à l'histoire" de l'Ecole nationale des chartes lors de l'année universitaire 2016-2017.

Published in: Data & Analytics
  • Be the first to comment

Réalisation d'un mashup de données avec DSS de Dataiku - Première partie

  1. 1. Gautier Poupeau gautier.poupeau@gmail.com @lespetitescases http://www.lespetitescases.net Réalisation d’un mashup de données Premier cours
  2. 2. Qu’est-ce-qu’un mashup ? Tristan Eaton, 4-6 rue du Chevaleret, Paris 13 CC-BY https://www.flickr.com/photos/lespetitescases/29003193065/ Un mashup est une œuvre/création originale mise au point à partir de l’assemblage/mise en relation d’œuvres/créations existantes. Le mot mashup est le plus souvent utilisé pour la musique mais on le retrouve dans les autres arts ainsi que dans le monde numérique lorsqu’on parle de mashup de données.
  3. 3. Objectifs de l’exercice noté Chaque groupe devra réaliser un mashup de données. Les propositions : ?
  4. 4. MONUMENTS HISTORIQUES Réutiliser des données en RDF : les mashups
  5. 5. Présentation du projet • Créer une application à forte valeur ajoutée à partir de sources hétérogènes • Consolider des données éparses, individuellement faibles pour créer une application riche. REF DPT COM INSEE TICO PA00078014 10Aix-en-Othe 10003Chapelle Saint-Avit PA00078015 10Aix-en-Othe 10003Eglise de la Nativité PA00078016 10Allibaudières 10004Eglise PA00078017 10Arcis-sur-Aube 10006Château (ancien) PA00078018 10Arcis-sur-Aube 10006Eglise PA00078019 10Arrembécourt 10010Eglise Saint-Etienne PA00078020 10Arsonval 10012Eglise PA00078021 10Auxon 10018Eglise REF : PA00088801 DPT : 75007 ETUD : RecensementimmeublesMH INSEE : 75107 TICO : Tour Eiffel ADRS : Champ-de-Mars STAT : propriété de la commune PPRO : La tour Eiffel : inscription par arrêté du 24 juin AUTR : Eiffel Gustave (maître de l'œuvre) SCLE : 4e quart 19e siècleun fichier .CSV contenant 43 720 enregistrements de monuments Objectifs Source principale
  6. 6. Principes généraux Maillage et enrichissement avec 6 sources complémentaires : stations de métro, de trains, bases de photos et description de Wikipedia… Source principale Sources complémentaires Web Service de géo localisation AIF normalisation et enrichissement AFS moteur de recherche AFS Application Monuments Historiques
  7. 7. Modèle de données
  8. 8. Création des IHMs Le moteur de recherche pour créer simplement des applications riches et faciles d’accès http://labs.antidot.net/widgets/monuments
  9. 9. MUSÉES DE FRANCE Réutiliser des données en RDF : les mashups
  10. 10. Présentation du projet Construire un site agrégeant des informations sur les musées de France
  11. 11. Provenance des jeux de données utilisés
  12. 12. Modèle de données Musée (data.gouv.fr ) Musée (data.gouv.fr ) Musée (MCC) Musée (MCC) Musée (Wikidata) Musée (Wikidata) Catégo Musée (Commons) Catégo Musée (Commons) Musée (BnF) Musée (BnF) Livre (BnF) Livre (BnF) Oeuvre (Wikidata) Oeuvre (Wikidata) Artiste (Wikidata) Artiste (Wikidata) POI (OSM) POI (OSM) Identifiant Museofile Identifiant Museofile Nom du musée Nom du musée Coordonnées géographiques Coordonnées géographiques
  13. 13. Principes généraux d’élaboration Captation Sémantisation Alignement Exploitation du graphe L’ajout d’un nouveau format d’exposition se limite à l’ajout d’un module dans la chaîne d’exploitation du graphe et à l’écriture du mapping.
  14. 14. Création des IHMs Une page de recherche Une page agrégeant toutes les données
  15. 15. PRÉSENTATION DU MASHUP
  16. 16. Jeux de données du mashup Films sur Wikidata via sparqlendpoint Films sur OMDB via API Liste des films agréés CNC 1996-2015 via data.gouv.fr Liste des 1er films agréés CNC 2003-2015 via data.gouv.fr Distribution sur Wikidata via sparqlendpoint Visa d’exploitation Identifiant Wikidata Identifiant Imdb Titre du film + Année
  17. 17. Développement du Mashup avec Dataiku DSS DSS (Data Science Studio) est un logiciel édité par la société française Dataiku ( http://www.dataiku.com/) qui offre un outil complet pour manipuler des données et les traiter avec des algorithmes de machine learning Version gratuite et instructions d’installation  http://www.dataiku.com/dss/trynow/
  18. 18. Visualisation du Mashup avec Palladio Palladio est une application Web du HDALab (http://hdlab.stanford.edu/) de Stanford qui permet de visualiser en quelques clics de souris sous différentes formes (Galerie, Graphe, Carte…) des données historiques en chargeant un ou plusieurs fichiers CSV.  http://hdlab.stanford.edu/palladio/
  19. 19. RÉCUPÉRATION DES DONNÉES SUR DATA.GOUV.FR
  20. 20. Page d’accueil de data.gouv.fr
  21. 21. Utilisation du moteur de recherche
  22. 22. Liste de résultats de recherche
  23. 23. Premier jeu de données pour le mashup http://www.data.gouv.fr/fr/datasets/liste-des-films- cinematographiques-agrees/
  24. 24. Second jeu de données pour le mashup http://www.data.gouv.fr/fr/datasets/liste-des-films-en-premiere- exclusivite/
  25. 25. CHARGEMENT DES DONNÉES DANS DATAIKU
  26. 26. Page d’accueil de Dataiku Liste des projets existants Créer un nouveau projet
  27. 27. Création du projet dans Dataiku
  28. 28. Page d’accueil du projet
  29. 29. Choisir l’origine du jeu de données Charger un fichier depuis votre disque dur
  30. 30. Interface de chargement du fichier Charger le fichier principal du mashup : liste des films agréés CNC 1996-2015 ListeFilmsPremièreExclusivité.xlsx
  31. 31. Interface de prévisualisation du fichier Dans ce cas, les données à charger ne sont pas sur la première feuille affichée par défaut. Les colonnes détectées automatiquement Format du fichier Eléments de configuration spécifiques à chaque format
  32. 32. Interface de prévisualisation du fichier Ignorer les N premières lignes et indiquer la ligne précédant celle correspondant aux en- têtes de colonnes
  33. 33. Interface d’exploration du jeu de données
  34. 34. Manipulation d’une colonne
  35. 35. Analyse d’une colonne
  36. 36. Regroupement de valeurs proches
  37. 37. Filtrage des données
  38. 38. Liste des jeux de données Reproduire la procédure en chargeant le fichier : liste des 1er films agréés 2003-2015 production cinématographique - liste des premiers films.xlsx
  39. 39. Affichage du flux de traitement Les différents types de « recette » de manipulation de données
  40. 40. Type de recette Synchroniser l’ensemble de données avec un entrepôt de données externe
  41. 41. Type de recette Préparer les données : nettoyer, rendre cohérent, supprimer des colonnes, rassembler des colonnes…
  42. 42. Type de recette Mettre au point un échantillon de données
  43. 43. Type de recette Effectuer une opération d’agrégation : somme, moyenne, min, max, premier, dernier…
  44. 44. Type de recette Joindre deux ensembles de données : équivalent à un join dans une base de données relationnelle
  45. 45. Type de recette Séparer un jeu de données
  46. 46. Type de recette Empiler des jeux de données
  47. 47. Type de recette Coder une recette avec un langage de programmation : Python, R, Shell, SQL, Scala…
  48. 48. PRÉPARER LES DONNÉES
  49. 49. Interface de préparation de données Ajouter une étape pour traiter les données
  50. 50. Le travail s’effectue sur un échantillon Quand tous les traitements sont configurés, n’oubliez pas de cliquer sur « Run » pour l’appliquer à tout le jeu de données
  51. 51. Liste des traitements possibles
  52. 52. Filtrer les données Filtrer, repérer ou supprimer des lignes en fonction d’une valeur, d’un intervalle de dates ou de nombres, de la validité de la donnée, de la présence d’une valeur, supprimer des colonnes
  53. 53. Nettoyage de données Normaliser des données de mesure, repérer ou filtrer des données, remplir des cellules vides avec une valeur ou une valeur d’une ligne suivante ou précédente, convertir des nombres…
  54. 54. Manipulation de chaînes de caractères Découper, transformer (casse, trim, diacritiques, encodage URL, XML…), manipuler une chaîne, exécuter une expression régulière
  55. 55. Manipulation de nombres Extraire des nombres, convertir les nombres suivant un format national, convertir une date UNIX, effectuer des opérations entre les valeurs de colonnes, arrondir, convertir une devise
  56. 56. Séparer/extraire Séparer une colonne, extraire avec une expression régulière, séparer une adresse email, extraire une donnée dans une cellule contenant un flux Json
  57. 57. Manipulation de logs de serveur Web Classer les user-agent, découper une chaîne HTTP, générer un identifiant de visiteur, trouver le pays d’un internaute à partir de son adresse IP
  58. 58. Manipulation des dates Analyser une chaîne de date, extraire des éléments de date, formater une date, calculer la différence entre deux dates, calcul si le jour est chômé
  59. 59. Manipulation de données géographiques Joindre deux jeux de données par les coordonnées géographiques, géolocaliser (via API externe), changer le système de coordonnées, calculer distance entre deux points, géographie administrative à partir d’une coordonnée géographique…
  60. 60. Enrichir les données Enrichir des données à partir des départements, des codes postaux, jointure entre deux jeux de données, extraire à partir d’une colonne géographique…
  61. 61. Restructurer les données Séparer et générer des lignes, générer des lignes à partir d’un tableau dans une valeur de cellule…
  62. 62. Manipulation de longues chaînes Simplifier une chaîne (normalisation, stop words, stemmatisation), « tokeniser » une chaîne, extraire des ngrams, extraire des nombres, compter des occurrences
  63. 63. Jointure de deux jeux de données Jointure entre deux jeux de données avec des valeurs de cellules, jointure entre deux jeux de données avec des valeurs approchantes, jointure géographique
  64. 64. Manipulation d’objets complexes Extraire d’un tableau, trier les données d’un tableau, extraire d’un flux Json, concaténer des tableau Json
  65. 65. Exécuter du code Construire une formule avec du « pseudo-code », exécuter une fonction python
  66. 66. Divers Concaténer des colonnes, utiliser une ligne comme en-tête de colonne, copier une colonne, renommer une colonne
  67. 67. PROBLÈME DE TYPAGE Liste_films_2015_1996_CNC
  68. 68. DSS détecte automatiquement les problèmes de typage Problème de typage de données
  69. 69. Filtrer les données
  70. 70. pour sélectionner les données en « erreur »
  71. 71. et les visualiser Dans notre cas, on voit qu’une colonne de type « integer » (entier) contient des valeurs avec des lettres, il est nécessaire de modifier le typage de données.
  72. 72. Modifier le type d’une colonne
  73. 73. Le changement de type a corrigé le problème
  74. 74. HARMONISER LES VALEURS D’UNE COLONNE Liste_films_2015_1996_CNC
  75. 75. Analyse des données de la colonne
  76. 76. Répartition des valeurs et valeurs uniques
  77. 77. Regroupement des valeurs proches
  78. 78. Affichage des groupes de valeurs proches Proposition de valeurs Sélection des groupes à fusionner
  79. 79. Sélection des groupes à fusionner
  80. 80. Génération et application d’une étape
  81. 81. FORMATER DES DATES Liste_films_2015_1996_CNC
  82. 82. Sélectionner le traitement pour analyser les dates
  83. 83. Indiquer le nom de la colonne à traiter
  84. 84. Construire le patron de dates Lettre Date ou composant Type de données Exemples G Era designator Text AD y Year Year 1996; 96 Y Week year Year 2009; 09 M Month in year Month July; Jul; 07 w Week in year Number 27 W Week in month Number 2 D Day in year Number 189 d Day in month Number 10 F Day of week in month Number 2 E Day name in week Text Tuesday; Tue u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1 a Am/pm marker Text PM H Hour in day (0-23) Number 0 k Hour in day (1-24) Number 24 K Hour in am/pm (0-11) Number 0 h Hour in am/pm (1-12) Number 12 m Minute in hour Number 30 s Second in minute Number 55 S Millisecond Number 978 z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 Z Time zone RFC 822 time zone -0800 X Time zone ISO 8601 time zone -08; -0800; -08:00
  85. 85. Indiquer le patron de la date et générer le résultat dans une nouvelle colonne
  86. 86. Analyser le résultat du traitement Certaines lignes sont vides donc le traitement n’a pas fonctionné pour ces lignes
  87. 87. Filtrer pour voir les lignes vides Le patron est différent pour ces lignes
  88. 88. Ajouter le nouveau patron
  89. 89. Analyser le résultat Il n’y a plus de ligne vide
  90. 90. Générer le résultat dans la même colonne
  91. 91. Formater la date
  92. 92. Configurer le nouveau patron
  93. 93. MODIFIER LES VALEURS D’UNE COLONNE Liste_films_2015_1996_CNC
  94. 94. Analyser les entrées de la colonne
  95. 95. Double-cliquez sur la valeur à modifier
  96. 96. Une nouvelle étape apparaît et s’enrichit au fur et à mesure
  97. 97. Les valeurs sont modifiées dans le tableau
  98. 98. SUPPRIMER LES ESPACES BLANCS SUPERFLUS Liste_films_2015_1996_CNC
  99. 99. Certaines colonnes peuvent contenir des espaces blancs en trop
  100. 100. Recherchez le traitement « trim »
  101. 101. Sélectionnez la colonne à modifier
  102. 102. Sélectionnez Remove leading/trailing whitespaces
  103. 103. Les espaces blancs superflus sont supprimés
  104. 104. EXERCICES Liste_films_2015_1996_CNC
  105. 105. Effectuez les traitements suivants • Harmoniser les valeurs de la colonne NATIONALITE • Enlever les espaces entre les slahs de la colonne NATIONALITE • Harmoniser les valeurs de la colonne DISTRIBUTEUR • Remplacer dans la colonne ART ET ESSAI OUI par true et NON par false Penser à sauvegarder !!! Exécuter sur l’ensemble du jeu de données
  106. 106. SUPPRIMER DES LIGNES VIDES liste_premiers_films_2015_2003
  107. 107. Repérer les lignes vides
  108. 108. Filtrer pour afficher les lignes vides
  109. 109. Choisir le traitement adapté
  110. 110. Indiquer la ou les colonne(s) à prendre en compte
  111. 111. AJOUTER UNE COLONNE liste_premiers_films_2015_2003
  112. 112. Choisir le traitement « formula »
  113. 113. Indiquez le nom de la nouvelle colonne
  114. 114. Editez le contenu de la nouvelle colonne
  115. 115. L’onglet « Reference » indique la liste des fonctions possibles
  116. 116. Dans notre cas, la valeur est toujours la même « true »
  117. 117. La colonne est créée
  118. 118. SUPPRIMER UNE COLONNE liste_premiers_films_2015_2003
  119. 119. Sélectionner le traitement adapté
  120. 120. Indiquer le nom de la colonne à supprimer
  121. 121. ou des colonnes à supprimer
  122. 122. EXERCICES liste_premiers_films_2015_2003
  123. 123. Modifier le type de VISA et corriger l’erreur de DEVIS
  124. 124. Le jeu de données est prêt Le type doit correspondre à celui de l’autre jeu de données pour effectuer la jointure
  125. 125. RELIER DEUX JEUX DE DONNÉES
  126. 126. Sélectionner la recette de jointure
  127. 127. Déterminer les jeux de données impliqués
  128. 128. Interface de la recette de jointure
  129. 129. Choix du type de jointure
  130. 130. Choix des colonnes à joindre
  131. 131. Sélection des colonnes Attention ! Les champs à joindre doivent avoir être du même type de données !!
  132. 132. Sélection des colonnes à conserver Exécuter la jointure
  133. 133. Visualisation du « flow »

×