Data Science Workspace parcours

This document provides a walkthrough for Adobe Experience Platform Data Science Workspace. Ce didacticiel présente un flux de travail général des chercheurs en données et explique comment ils peuvent aborder et résoudre un problème à l’aide de l’apprentissage automatique.

Conditions préalables

  • Compte Adobe ID enregistré
    • The Adobe ID account must have been added to an Organization with access to Adobe Experience Platform and Data Science Workspace.

Cas d’utilisation au détail

Un détaillant doit faire face à de nombreux défis pour rester compétitif sur le marché actuel. L'une des principales préoccupations du détaillant est de décider du prix optimal d'un produit et de prévoir les tendances de vente. Grâce à un modèle de prévision précis, un détaillant serait en mesure de trouver la relation entre les politiques de demande et de tarification et de prendre des décisions de prix optimisées pour maximiser les ventes et les recettes.

Solution du spécialiste des données

La solution d'un chercheur en données consiste à exploiter la richesse des informations historiques fournies par un détaillant, à prédire les tendances futures et à optimiser les décisions de prix. Cette procédure pas à pas utilise les données des ventes passées pour former un modèle d'apprentissage automatique et utilise ce modèle pour prédire les tendances futures des ventes. Ainsi, vous pouvez générer des informations pour vous aider à apporter des modifications de tarification optimales.

Cet aperçu reflète les étapes qu'un chercheur de données suivrait pour créer un jeu de données et un modèle pour prédire les ventes hebdomadaires. Ce didacticiel couvre les sections suivantes de l'exemple de carnet de vente au détail sur Adobe Experience Platform Data Science Workspace:

Ordinateurs portables dans Data Science Workspace

Dans l’interface utilisateur de Adobe Experience Platform, sélectionnez Ordinateurs portables dans l’onglet Science des données pour accéder à la page d’aperçu Ordinateurs portables . Dans cette page, sélectionnez l' JupyterLab onglet pour lancer votre JupyterLab environnement. Le landing page par défaut pour JupyterLab est le lanceur.

Ce didacticiel utilise Python 3 dans JupyterLab Notebooks pour montrer comment accéder aux données et les explorer. Sur la page du lanceur, vous trouverez des notebooks d’exemple. L'exemple de bloc-notes Ventes au détail est utilisé dans les exemples fournis ci-dessous.

Configuration

Avec le bloc-notes Ventes au détail ouvert, la première chose à faire est de charger les bibliothèques requises pour votre flux de travail. La liste suivante décrit brièvement chacune des bibliothèques utilisées dans les exemples dans les étapes suivantes.

  • insensible: Bibliothèque informatique scientifique qui ajoute la prise en charge de grandes matrices et matrices multidimensionnelles
  • pandas: Bibliothèque qui offre les structures de données et les opérations utilisées pour la manipulation et l’analyse des données
  • matplotlib.pyplot: Chargement d’une bibliothèque fournissant une expérience de type MATLAB lors du mappage
  • seaborn : Bibliothèque de visualisation de données d’interface de haut niveau basée sur matplotlib
  • sklearn: Bibliothèque d’apprentissage automatique qui comprend des algorithmes de classification, de régression, de vecteur de prise en charge et de cluster
  • avertissements: Bibliothèque qui contrôle les messages d’avertissement

Exploration des données

Chargement des données

Une fois les bibliothèques chargées, vous pouvez début d’examiner les données. The following Python code uses pandas' DataFrame data structure and the read_csv() function to read the CSV hosted on Github into the pandas DataFrame:

La structure de données du DataFrame de pandas est une structure de données étiquetées en deux dimensions. To quickly see the dimensions of your data, you can use df.shape. Cette opération renvoie un tuple qui représente les dimensions du DataFrame :

Enfin, vous pouvez prévisualisation à quoi ressemblent vos données. You can use df.head(n) to view the first n rows of the DataFrame:

Résumé statistique

We can leverage Python’s pandas library to get the data type of each attribute. 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 elles aident à identifier la méthode de traitement de ces données.

Regardons maintenant le résumé statistique. Seuls les types de données numériques s’affichent. date, storeType et isHoliday ne sont donc pas générés :

df.describe()

Vous pouvez ainsi voir qu’il y a 6 435 instances pour chaque caractéristique. Nous obtenons également des informations statistiques, telles que la moyenne, l’écart type, le minimum, le maximum et les plages interquartiles. Cela nous permet d’identifier les variations de données. Dans la section suivante, vous allez passer en revue la visualisation qui fonctionne avec ces informations pour nous donner une compréhension complète de vos données.

Looking at the minimum and maximum values for store, you can see that there are 45 unique stores the data represents. Les storeTypes permettent également de différencier les boutiques. you can see the distribution of storeTypes by doing the following:

Ici, nous avons 22 boutiques storeType A, 17 boutiques storeType B et 6 boutiques storeType C.

Visualisation des données

Maintenant que vous connaissez les valeurs de vos blocs de données, vous souhaitez ajouter à cela des visualisations afin de rendre les choses plus claires et plus faciles à identifier. Ces graphiques servent également à transmettre les résultats à une audience.

Graphiques unidimensionnels

Les graphiques unidimensionnels sont des tracés représentant une seule variable. La boîte à moustaches est un graphique unidimensionnel couramment utilisé pour visualiser les données.

En utilisant votre jeu de données de vente au détail d'avant, vous pouvez générer le schéma de boîte et de whisky pour chacun des 45 magasins et leurs ventes hebdomadaires. Le graphique est généré à l’aide de la fonction seaborn.boxplot.

Un graphique de boîte à moustaches sert à illustrer la distribution des données. Les lignes extérieures du graphique représentent les quartiles supérieur et inférieur, tandis que la boîte s’étend sur la plage interquartile. La ligne dans la zone indique la médiane. Tout point de données plus de 1,5 fois supérieur ou inférieur au quartile est marqué sous forme de cercle. Ces points sont considérés comme des valeurs aberrantes.

Ensuite, vous pouvez tracer les ventes hebdomadaires avec le temps. Vous n'afficherez que la sortie de la première boutique. Le code du notebook génère 6 tracés correspondant à 6 des 45 boutiques de notre jeu de données.

Ce diagramme permet de comparer les ventes hebdomadaires sur une période de 2 ans. Nous pouvons facilement repérer les motifs des pics et des creux de ventes au fil du temps.

Graphiques multidimensionnels

Les graphiques multidimensionnels servent à visualiser les interactions entre les variables. Grâce à cette visualisation, les spécialistes des données peuvent vérifier s’il existe des corrélations ou des motifs entre les variables. La matrice de corrélation est un graphique multidimensionnel couramment utilisé. Avec une matrice de corrélation, les dépendances entre les différentes variables sont quantifiées à l’aide d’un coefficient de corrélation.

En utilisant le même jeu de données de vente au détail, vous pouvez générer la matrice de corrélation.

Notez la diagonale de 1 au centre. Elle indique que lorsqu’une variable est comparée à elle-même, elle présente une corrélation positive entière. Une corrélation positive élevée aura une magnitude proche de 1, tandis que les corrélations faibles seront plus proches de 0. Une corrélation négative s’affiche sous la forme d’un coefficient négatif, indiquant une tendance inverse.

Conception des fonctionnalités

Dans cette section, l’ingénierie des fonctionnalités permet d’apporter des modifications à votre jeu de données de vente au détail en effectuant les opérations suivantes :

  • Ajout de colonnes pour la semaine et l’année
  • Convertir storeType en variable indicateur
  • Convertir isHoliday en variable numérique
  • Prévision des ventes hebdomadaires de la semaine prochaine

Ajout de colonnes pour la semaine et l’année

The current format for date (2010-02-05) can make it hard to differentiate that the data is for every week. Pour cette raison, vous devez convertir la date en semaine et année.

À présent, la semaine et la date s’affichent comme suit :

Conversion de storeType en variable indicatrice

Next, you want to convert the storeType column to columns representing each storeType. There are 3 store types, (A, B, C), from which you are creating 3 new columns. The value set in each is a boolean value where a '1' is set depending on what the storeType was and 0 for the other 2 columns.

La storeType colonne active est supprimée.

Conversion d’isHoliday en type numérique

La modification suivante consiste à remplacer la valeur booléenne isHoliday par une représentation numérique.

Prévision des ventes hebdomadaires de la semaine prochaine

Vous souhaitez maintenant ajouter des ventes hebdomadaires précédentes et futures à chacun de vos jeux de données. Vous pouvez le faire en compensant votre weeklySalescomportement. En outre, la weeklySales différence est calculée. Pour cela, il faut soustraire les weeklySales aux weeklySales de la semaine précédente.

Since you are offsetting the weeklySales data 45 datasets forwards and 45 datasets backwards to create new columns, the first and last 45 data points have NaN values. You can remove these points from your dataset by using the df.dropna() function which removes all rows that have NaN values.

Vous trouverez ci-dessous un résumé du jeu de données après les modifications :

Formation et vérification

Il est maintenant temps de créer quelques modèles de données et de sélectionner le modèle qui sera le plus performant pour prédire les ventes futures. Vous allez évaluer les 5 algorithmes suivants :

  • Régression linéaire
  • Arborescence de décision
  • Forêt aléatoire
  • Amplification progressive
  • Méthode des k plus proches voisins

Scission du jeu de données en sous-ensembles de formation et de test

Vous avez besoin d’un moyen de savoir à quel point votre modèle sera capable de prédire les valeurs. Cette évaluation peut être effectuée en allouant une partie du jeu de données comme données de validation, et le reste comme données de formation. Since weeklySalesAhead is the actual future values of weeklySales, you can use this to evaluate how accurate the model is at predicting the value. La scission se fait comme suit :

You now have X_train and y_train for preparing the models and X_test and y_test for evaluation later.

Contrôle des algorithmes

In this section, you declare all the algorithms into an array called model. Next, you iterate through this array and for each algorithm, input your training data with model.fit() which creates a model mdl. Grâce à ce modèle, vous pouvez prédire weeklySalesAhead avec vos X_test données.

For the scoring, you are taking the mean percentage difference between the predicted weeklySalesAhead with the actual values in the y_test data. Puisque vous souhaitez minimiser la différence entre votre prédiction et le résultat réel, le régresseur d'augmentation du rayonnement est le modèle le plus performant.

Visualisation des prédictions

Enfin, vous visualisez votre modèle de prévision avec les valeurs de vente hebdomadaires réelles. La ligne bleue représente les chiffres réels, tandis que la ligne verte représente votre prévision à l’aide de l’augmentation du dégradé. Le code suivant génère 6 tracés qui représentent 6 des 45 magasins de votre jeu de données. Seule la boutique Store 1 est illustrée ici :

Étapes suivantes

Ce document couvrait un processus général de data scientist pour résoudre un problème de vente au détail. Pour résumer :

  • Chargez les bibliothèques requises pour votre flux de travail.
  • Une fois les bibliothèques chargées, vous pouvez début d’examiner les données à l’aide de résumés statistiques, de visualisations et de graphiques.
  • Ensuite, l’ingénierie des fonctionnalités est utilisée pour apporter des modifications à votre jeu de données de vente au détail.
  • Enfin, créez des modèles des données et sélectionnez le modèle le plus performant pour prédire les ventes futures.

Une fois que vous êtes prêt, début en lisant le guide d'utilisation de JupyterLab pour un aperçu rapide des ordinateurs portables dans Adobe Experience Platform Data Science Workspace. De plus, si vous souhaitez en savoir plus sur les modèles et les recettes, début en lisant le didacticiel sur le schéma de vente au détail et le jeu de données . Ce didacticiel vous prépare à suivre les didacticiels Data Science Workspace qui peuvent être consultés dans la page des didacticiels Data Science Workspace.

Sur cette page