Show Menu
SUJETS×

Analyse de vos données à l'aide de portables

Ce didacticiel se concentre sur l’utilisation de blocs-notes Jupyter, conçus dans Data Science Workspace, pour accéder à vos données, les explorer et les visualiser. D'ici la fin de ce tutoriel, vous devriez avoir une bonne connaissance de certaines des fonctionnalités de l'offre des portables Jupyter pour mieux comprendre vos données.
Les concepts suivants sont introduits :
  • JupyterLab: JupyterLab est l'interface web de nouvelle génération pour Project Jupyter et est étroitement intégrée dansAdobe Experience Platform.
  • Lots : Les jeux de données sont composés de lots. Un lot est un ensemble de données collectées sur une période donnée et traitées ensemble en une seule unité. De nouveaux lots sont créés lorsque des données sont ajoutées à un jeu de données.
  • SDK d’accès aux données (obsolète) : Le SDK d’accès aux données est désormais obsolète. Veuillez utiliser le Platform SDK guide.

Explorez des blocs-notes dans Data Science Workspace.

Dans cette section, nous étudions les données qui étaient précédemment incorporées au schéma de vente au détail.
Data Science Workspace permet aux utilisateurs de créer Jupyter Notebooks par le biais de la JupyterLab plateforme, où ils peuvent créer et modifier des workflows d’apprentissage automatique. JupyterLab est un outil de collaboration serveur-client qui permet aux utilisateurs de modifier des documents de bloc-notes par le biais d'un navigateur Web. Ces blocs-notes peuvent contenir du code exécutable et des éléments de texte enrichi. Pour nos besoins, nous utiliserons Markdown pour la description de l'analyse et le code exécutable Python afin d'explorer et d'analyse des données.

Choisir votre espace de travail

Lors du lancement JupyterLab, une interface Web est présentée pour les portables Jupyter. Selon le type de bloc-notes que nous choisissons, un noyau correspondant sera lancé.
Lorsque nous comparons l'environnement à utiliser, nous devons tenir compte des limites de chaque service. Par exemple, si nous utilisons la bibliothèque pandas avec Python, en tant qu’utilisateur régulier, la limite de RAM est de 2 Go. Même en tant qu'utilisateur, nous serions limités à 20 Go de RAM. S'il s'agit de calculs plus volumineux, il serait logique d'utiliser Spark les offres de 1,5 To qui sont partagées avec toutes les instances d'ordinateur portable.
Par défaut, la recette Tensorflow fonctionne dans un cluster GPU et Python s'exécute dans un cluster CPU.

Créer un bloc-notes

Dans l’ Adobe Experience Platform interface utilisateur, cliquez sur l’onglet Data Science dans le menu supérieur pour accéder à Data Science Workspace. A partir de cette page, cliquez sur l' JupyterLab onglet qui va ouvrir le JupyterLab lanceur. Vous devriez voir une page similaire à celle-ci.
Dans notre tutoriel, nous utiliserons le Python 3 du Jupyter Notebook pour montrer comment accéder aux données et les explorer. Dans la page Lanceur, des exemples de cahiers de travail sont fournis. Nous utiliserons la recette Ventes au détail pour Python 3.
La recette Ventes au détail est un exemple autonome qui utilise le même jeu de données Ventes au détail pour montrer comment explorer et visualiser les données dans Jupyter Notebook. En outre, le carnet de notes approfondit la formation et la vérification. Vous trouverez plus d'informations sur ce bloc-notes spécifique dans cette présentation .

Données d’accès

La variable data_access_sdk_python est obsolète et n’est plus recommandée. Pour convertir votre code, consultez le didacticiel de conversion du SDK d’accès aux données en SDK Platform. Les mêmes étapes ci-dessous s’appliquent toujours à ce didacticiel.
Nous allons passer en revue l'accès aux données en interne Adobe Experience Platform et en externe. Nous utiliserons la data_access_sdk_python bibliothèque pour accéder aux données internes telles que les jeux de données et les schémas XDM. Pour les données externes, nous utiliserons la Python bibliothèque pandas.

Données externes

A l'ouverture du bloc-notes Ventes au détail, recherchez l'en-tête "Charger les données". Le Python code suivant utilise la structure DataFrame de données de pandas et la fonction read_csv() pour lire le fichier CSV hébergé sur Github dans DataFrame :
La structure de données DataFrame de Pandas est une structure de données étiquetées en deux dimensions. Pour voir rapidement les dimensions de nos données, nous pouvons utiliser le df.shape . Ceci renvoie un tuple qui représente la dimension du DataFrame :
Enfin, nous pouvons jeter un oeil à ce à quoi ressemblent nos données. Nous pouvons utiliser df.head(n) pour vue les premières n lignes du DataFrame :

Experience Platform data

Nous allons maintenant passer en revue l'accès aux Experience Platform données.
Par ID de jeu de données
Pour cette section, nous utilisons le jeu de données Ventes au détail qui est le même jeu de données que celui utilisé dans l'exemple de carnet de ventes au détail.
Dans notre portable Jupyter, nous pouvons accéder à nos données à partir de l'onglet Data sur la gauche. Lorsque vous cliquez sur l'onglet, vous pouvez voir une liste de jeux de données.
Maintenant, dans le répertoire Datasets, nous pourrons voir tous les jeux de données assimilés. Notez que le chargement de toutes les entrées peut prendre une minute si votre répertoire est fortement rempli de jeux de données.
Puisque le jeu de données est le même, nous voulons remplacer les données de charge de la section précédente qui utilise des données externes. Sélectionnez le bloc de code sous Charger les données et appuyez deux fois sur la touche d' entrée de votre clavier. Assurez-vous que l’accent est mis sur le bloc et non sur le texte. Vous pouvez appuyer sur 'esc' pour échapper à la cible d'action du texte avant 'd' double.
Désormais, nous pouvons cliquer avec le bouton droit sur le Retail-Training-<your-alias> jeu de données et sélectionner l'option "Explorer les données dans le bloc-notes" dans la liste déroulante. Une entrée de code exécutable apparaît dans votre bloc-notes.
reportez-vous au Platform SDK guide pour convertir votre code.
from data_access_sdk_python.reader import DataSetReader
from datetime import date
reader = DataSetReader()
df = reader.load(data_set_id="xxxxxxxx", ims_org="xxxxxxxx@AdobeOrg")
df.head()

Si vous travaillez sur d'autres noyaux autres que Python, veuillez consulter cette page pour accéder aux données sur le Adobe Experience Platform.
La sélection de la cellule exécutable, puis l'activation du bouton de lecture dans la barre d'outils, exécutera le code exécutable. La sortie pour head() sera un tableau avec les clés de votre jeu de données sous forme de colonnes et les n premières lignes du jeu de données. head() accepte un argument entier pour spécifier le nombre de lignes à générer. Par défaut, il s’agit de 5.
Si vous redémarrez votre noyau et réexécutez toutes les cellules, vous devriez obtenir les mêmes sorties qu'auparavant.

Explorez vos données

Maintenant que nous pouvons accéder à vos données, concentrons-nous sur les données elles-mêmes en utilisant les statistiques et la visualisation. Le jeu de données que nous utilisons est un jeu de données de vente au détail qui fournit des informations diverses sur 45 magasins différents un jour donné. Certaines caractéristiques d'un produit donné date et store comprennent :
  • storeType
  • weeklySales
  • storeSize
  • temperature
  • regionalFuelPrice
  • markDown
  • cpi
  • unemployment
  • isHoliday

Résumé statistique

Nous pouvons exploiter la bibliothèque Python's pandas pour obtenir le type de données de chaque attribut. La sortie de l'appel suivant nous donnera des informations sur le nombre d'entrées et le type de données pour chacune des colonnes :
df.info()

Ces informations sont utiles car connaître le type de données de chaque colonne nous permettra de savoir comment traiter les données.
Maintenant regardons le résumé statistique. Seuls les types de données numériques s’affichent. Par conséquent, date``storeType et isHoliday ne sont pas générés :
df.describe()

Avec cela, nous pouvons voir qu'il y a 6435 instances pour chaque caractéristique. En outre, des informations statistiques telles que moyenne, écart type (std), min, max et interquartiles sont fournies. Ceci nous donne des informations sur l'écart pour les données. Dans la section suivante, nous allons passer en revue la visualisation qui fonctionne avec ces informations pour nous donner une bonne compréhension de nos données.
En examinant les valeurs minimale et maximale pour store , nous voyons qu'il existe 45 magasins uniques que les données représentent. Il y a aussi storeTypes qui différencient ce qu'est un magasin. Nous pouvons voir la distribution de storeTypes en procédant comme suit :
Cela veut dire que 22 magasins sont de storeType``A , 17 storeType``B , et 6 storeType``C .

Visualisation des données

Maintenant que nous connaissons les valeurs de nos blocs de données, nous voulons compléter cela par des visualisations pour rendre les choses plus claires et plus faciles à identifier les schémas. Les graphiques sont également utiles pour transmettre des résultats à une audience. Voici quelques Python bibliothèques utiles pour la visualisation :
Dans cette section, nous examinerons rapidement certains avantages liés à l’utilisation de chaque bibliothèque.
Matplotlib est le plus ancien package de Python visualisation. Leur but est de rendre les choses faciles et difficiles possibles. Cela a tendance à être vrai car le paquet est extrêmement puissant mais il est aussi livré avec la complexité. Il n'est pas toujours facile d'obtenir un graphique à l'apparence raisonnable sans prendre beaucoup de temps et d'efforts.
Pandas est principalement utilisé pour son objet DataFrame qui permet la manipulation de données avec l'indexation intégrée. Cependant, pandas inclut également une fonctionnalité de traçage intégrée basée sur matplotlib.
seaborn est un paquet construit sur matplotlib. Son principal objectif est de rendre les graphiques par défaut plus attrayants visuellement et de simplifier la création de graphiques complexes.
ggplot est un paquet également construit sur matplotlib. Cependant, la principale différence est que l'outil est un port de ggplot2 pour R. Comme pour seaborn, l'objectif est d'améliorer sur matplotlib. Les utilisateurs qui connaissent ggplot2 for R doivent prendre en compte cette bibliothèque.
Graphiques univariés
Les graphiques univariés sont des tracés d’une variable individuelle. Un graphique unifié commun est utilisé pour visualiser vos données est la boîte et le tracé de muraille.
En utilisant notre jeu de données de vente au détail d'avant, nous pouvons générer la boîte et le tracé de chuchotement pour chacun des 45 magasins et leurs ventes hebdomadaires. Le graphique est généré à l’aide de la seaborn.boxplot fonction.
Un tracé de boîte et de muraille est utilisé pour montrer la distribution des données. Les lignes extérieures du tracé indiquent les quartiles supérieur et inférieur, tandis que la case s'étend sur la plage interquartile. La ligne dans la zone marque la médiane. Les points de données plus de 1,5 fois le quartile supérieur ou inférieur sont marqués comme un cercle. Ces points sont considérés comme des valeurs aberrantes.
Graphiques multivariés
Les tracés multivariés permettent de visualiser l’interaction entre les variables. Avec la visualisation, les chercheurs de données peuvent voir s'il y a des corrélations ou des modèles entre les variables. Un graphique multivarié commun utilisé est une matrice de corrélation. Avec une matrice de corrélation, les dépendances entre plusieurs variables sont quantifiées avec le coefficient de corrélation.
En utilisant le même jeu de données de vente au détail, nous pouvons générer la matrice de corrélation.
Remarquez la diagonale de 1 en bas au centre. Cela montre que lorsqu’une variable est comparée à elle-même, elle présente une corrélation positive complète. Une forte corrélation positive aura une magnitude proche de 1 tandis que des corrélations faibles seront plus proches de 0. Une corrélation négative est montrée avec un coefficient négatif montrant une tendance inverse.

Étapes suivantes

Ce didacticiel explique comment créer un nouveau bloc-notes Jupyter dans Data Science Workspace et comment accéder aux données à l’extérieur et à partir de Adobe Experience Platformcelui-ci. Nous avons notamment suivi les étapes suivantes :
  • Créer un bloc-notes Jupyter
  • Accéder aux jeux de données et aux schémas
  • Explorer les jeux de données
Vous êtes maintenant prêt à passer à la section compresser les fichiers source dans une recette ; suivante pour inclure une recette et l’importer dans Data Science Workspace.