Show Menu
THEMEN×

Analysieren Ihrer Daten mithilfe von Notebooks

Dieses Lernprogramm konzentriert sich auf die Verwendung von in Data Science Workspace erstellten Jupyter-Notebooks, um auf Ihre Daten zuzugreifen, sie zu untersuchen und sie zu visualisieren. Am Ende dieses Lernprogramms sollten Sie sich mit einigen Funktionen des Jupyter Notebook-Angebots vertraut machen, um Ihre Daten besser zu verstehen.
Die folgenden Konzepte werden eingeführt:
  • JupyterLab: JupyterLab ist die Web-basierte Schnittstelle der nächsten Generation für Project Jupyter und ist eng in Adobe Experience Platform.
  • Stapel: Datensätze bestehen aus Stapeln. Ein Stapel ist ein Datensatz, der über einen bestimmten Zeitraum erfasst und als eine Einheit verarbeitet wird. Beim Hinzufügen von Daten zu einem Datensatz werden neue Stapel erstellt.
  • Data Access SDK (nicht mehr unterstützt): Das Data Access SDK ist jetzt veraltet. Bitte verwenden Sie das Handbuch Platform SDK .

Notebooks im Data Science Workspace

In diesem Abschnitt werden Daten untersucht, die zuvor in das Schema für den Einzelhandel aufgenommen wurden.
Mit Data Science Workspace können Benutzer Jupyter Notebooks über die JupyterLab Plattform maschinelles Lernen erstellen und Workflows bearbeiten. JupyterLab ist ein Tool zur Zusammenarbeit zwischen Server und Client, das es Benutzern ermöglicht, Notebook-Dokumente über einen Webbrowser zu bearbeiten. Diese Notebooks können sowohl ausführbaren Code als auch Rich-Text-Elemente enthalten. Zu unseren Zwecken verwenden wir Markdown für die Analyse und ausführbaren Python Code, um Daten zu erforschen und Analysen durchzuführen.

Arbeitsbereich auswählen

Beim Start JupyterLabwird eine webbasierte Benutzeroberfläche für Jupyter-Notebooks vorgestellt. Je nachdem, welchen Typ von Notebook wir wählen, wird ein entsprechender Kernel gestartet.
Beim Vergleich der zu verwendenden Umgebung müssen wir die jeweiligen Einschränkungen berücksichtigen. Wenn wir z.B. die pandas Bibliothek mit verwenden Python, beträgt die RAM-Grenze als normaler Benutzer 2 GB. Auch als Strombenutzer wären wir auf 20 GB RAM beschränkt. Bei größeren Berechnungen wäre es sinnvoll, Spark welche Angebot 1,5 TB für alle Notebook-Instanzen freizugeben.
Standardmäßig funktioniert Tensorflow-Rezeptur in einem GPU-Cluster und Python wird in einem CPU-Cluster ausgeführt.

Erstellen eines neuen Notebooks

In the Adobe Experience Platform UI, click on the Data Science tab in the top menu to take you to the Data Science Workspace. From this page, click on the JupyterLab tab which will open the JupyterLab launcher. Sie sollten eine Seite sehen, die der folgenden ähnelt.
In our tutorial, we will be using Python 3 in the Jupyter Notebook to show how to access and explore the data. Auf der Startseite stehen Beispielnotizen zur Verfügung. We will be using the Retail Sales recipe for Python 3.
Das Rezept für den Einzelhandel ist ein eigenständiges Beispiel, das mit demselben Datensatz für den Einzelhandel zeigt, wie Daten im Jupyter-Notebook erforscht und visualisiert werden können. Darüber hinaus geht das Notebook mit Schulung und Verifizierung noch weiter. Weitere Informationen zu diesem Notebook finden Sie in dieser exemplarischen Vorgehensweise .

Zugriffsdaten

Das data_access_sdk_python wird nicht mehr unterstützt und nicht mehr empfohlen. Informationen zum Konvertieren Ihres Codes finden Sie im Tutorial zum Konvertieren von Datenzugriffs-SDK in Platform SDK . Für dieses Lernprogramm gelten weiterhin die folgenden Schritte.
Wir gehen weiter auf Daten intern von Adobe Experience Platform und Daten extern zugreifen. Wir werden die data_access_sdk_python Bibliothek verwenden, um auf interne Daten wie Datensätze und XDM-Schema zuzugreifen. Für externe Daten verwenden wir die Pandas- Python Bibliothek.

Externe Daten

Wenn das Notebook für den Einzelhandel geöffnet ist, finden Sie die Kopfzeile "Daten laden". The following Python code uses pandas' DataFrame data structure and the read_csv() function to read the CSV hosted on Github into the DataFrame:
Die DataFrame-Datenstruktur von Pandas ist eine zweidimensionale beschriftete Datenstruktur. To quickly see the dimensions of our data, we can use the df.shape . Dadurch wird ein Tupel zurückgegeben, das die Dimensionalität des DataFrame darstellt:
Schließlich können wir einen Blick darauf werfen, wie unsere Daten aussehen. Wir können df.head(n) nutzen, um die ersten n Zeilen des DataFrame anzuzeigen:

Experience Platform data

Jetzt gehen wir über den Zugriff auf Experience Platform Daten hinaus.
Nach Datenbestand-ID
Für diesen Abschnitt verwenden wir den Datensatz Einzelhandelsverkäufe, der mit dem Datensatz für Einzelhandelsverkäufe identisch ist.
In unserem Jupyter-Notebook können wir auf unsere Daten über die Registerkarte Daten auf der linken Seite zugreifen. Wenn Sie auf die Registerkarte klicken, können Sie eine Liste von Datensätzen anzeigen.
Jetzt können wir im Ordner "Datasets"alle erfassten Datensätze sehen. Beachten Sie, dass es möglicherweise eine Minute dauern kann, alle Einträge zu laden, wenn Ihr Ordner stark mit Datensätzen gefüllt ist.
Da der Datensatz identisch ist, möchten wir die Daten des vorherigen Abschnitts ersetzen, der externe Daten verwendet. Wählen Sie den Codeblock unter "Daten laden "aus und drücken Sie zweimal die d' -Taste auf Ihrer Tastatur. Achten Sie darauf, dass der Fokus auf den Block und nicht auf den Text gelegt wird. Sie können 'esc' drücken, um dem Textfokus zu entkommen, bevor Sie 'd' zweimal drücken.
Jetzt können wir mit der rechten Maustaste auf den Retail-Training-<your-alias> Datensatz klicken und die Option "Daten im Notebook untersuchen"in der Dropdown-Liste auswählen. Ein ausführbarer Code-Eintrag wird in Ihrem Notebook angezeigt.
Weitere Informationen zum Konvertieren des Codes finden Sie im Handbuch zum -Plattform-SDK .
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()

Wenn Sie mit anderen Kerneln als Pythonarbeiten, lesen Sie bitte diese Seite , um auf Daten auf der Adobe Experience Platform.
Wenn Sie die ausführbare Zelle auswählen und dann auf die Wiedergabeschaltfläche in der Symbolleiste klicken, wird der ausführbare Code ausgeführt. Die Ausgabe für head() ist eine Tabelle mit den Schlüsseln Ihres Datensatzes als Spalten und die ersten n Zeilen im Datensatz. head() akzeptiert ein ganzzahliges Argument, um anzugeben, wie viele Zeilen ausgegeben werden sollen. Standardmäßig ist dies 5.
Wenn Sie Ihren Kernel neu starten und alle Zellen erneut ausführen, sollten Sie dieselben Ausgaben erhalten wie zuvor.

Daten

Da wir nun auf Ihre Daten zugreifen können, konzentrieren wir uns auf die Daten selbst, indem wir Statistiken und Visualisierung verwenden. Der Datensatz, den wir verwenden, ist ein Retail-Datensatz, der verschiedene Informationen über 45 verschiedene Stores an einem bestimmten Tag liefert. Einige Eigenschaften für eine bestimmte date und store umfassen Folgendes:
  • storeType
  • weeklySales
  • storeSize
  • temperature
  • regionalFuelPrice
  • markDown
  • cpi
  • unemployment
  • isHoliday

Statistische Zusammenfassung

We can leverage Python's pandas library to get the data type of each attribute. Die Ausgabe des folgenden Aufrufs liefert uns Informationen über die Anzahl der Einträge und den Datentyp für die einzelnen Spalten:
df.info()

Diese Informationen sind hilfreich, da wir durch Kenntnis des Datentyps der einzelnen Spalten wissen, wie die Daten zu behandeln sind.
Sehen wir uns nun die statistische Zusammenfassung an. Only the numeric data types will be shown, so date , storeType , and isHoliday will not be outputted:
df.describe()

Damit können wir sehen, dass für jedes Merkmal 6.435 Instanzen vorhanden sind. Außerdem werden statistische Daten wie Mittelwert, Standardabweichung (std), Min., Max. und Interquartilen angegeben. So erfahren wir mehr über die Abweichung der Daten. Im nächsten Abschnitt werden wir über Visualisierung gehen, die mit diesen Informationen zusammenarbeitet, um uns ein gutes Verständnis unserer Daten zu verschaffen.
Wenn wir uns die Mindest- und Maximalwerte für store ansehen, können wir feststellen, dass die Daten 45 verschiedene Geschäfte repräsentieren. Es gibt auch storeTypes , die unterscheiden, was ein Geschäft ist. Außerdem können wir die Verteilung von storeTypes anzeigen, indem wir Folgendes tun:
This means 22 stores are of storeType A , 17 are storeType B , and 6 are storeType C .

Datenvisualisierung

Da wir unsere Dataframe-Werte nun kennen, möchten wir sie um Visualisierungen ergänzen, damit sich Muster leichter erkennen lassen. Diagramme sind auch nützlich, wenn Ergebnisse an eine Audience übermittelt werden. Einige Python Bibliotheken, die für die Visualisierung nützlich sind, sind:
In diesem Abschnitt werden wir schnell über einige Vorteile für die Verwendung der einzelnen Bibliotheken gehen.
Matplotlib ist das älteste Python Visualisierungspaket. Ihr Ziel ist es, "einfache Dinge einfach und schwierige Dinge möglich zu machen". Dies ist eher wahr, da das Paket extrem mächtig ist, aber auch mit Komplexität. Es ist nicht immer einfach, eine vernünftige Grafik zu bekommen, ohne viel Zeit und Mühe zu verlieren.
Pandas wird hauptsächlich für sein DataFrame-Objekt verwendet, das die Datenbearbeitung mit integrierter Indexierung ermöglicht. Pandas verfügen jedoch auch über eine integrierte Plotfunktion, die auf matplotlib basiert.
seaborn ist ein auf matplotlib aufbauendes Paket. Sein Hauptziel ist es, Standardgrafiken optisch ansprechender zu gestalten und die Erstellung komplizierter Diagramme zu vereinfachen.
ggplot ist ein Paket auch auf matplotlib gebaut. Der Hauptunterschied ist jedoch, dass das Tool ein Port von ggplot2 für R ist. Ähnlich wie beim Seeschleppen besteht das Ziel darin, sich bei matplotlib zu verbessern. Benutzer, die mit "ggplot2 for R"vertraut sind, sollten diese Bibliothek in Betracht ziehen.
Eindimensionale Diagramme
Eindimensionale Diagramme sind Diagramme mit einer einzelnen Variablen. Ein gemeinsames univariatives Diagramm wird verwendet, um Ihre Daten zu visualisieren ist die Box und Whisker-Plot.
Mit unserem Datensatz für Einzelhandelsumsätze von oben können wir ein Box- und Whisker-Diagramm für jedes der 45 Geschäfte und ihre wöchentlichen Umsätze generieren. Das Diagramm wird mithilfe der seaborn.boxplot -Funktion erstellt.
Ein Box- und Whisker-Diagramm dient dazu, die Verteilung von Daten anzuzeigen. Die äußeren Linien des Grundstücks zeigen den oberen und unteren Quartil, während der Rahmen den interquartilen Bereich umfasst. Die Linie im Kasten markiert den Median. Alle Datenpunkte, die mehr als das 1,5-Fache des oberen oder unteren Quartils betragen, werden als Kreis markiert. Diese Punkte werden als Ausreißer betrachtet.
Mehrdimensionale Diagramme
Mehrdimensionale Diagramme dienen dazu, die Interaktion zwischen Variablen anzuzeigen. Dank der Visualisierung können Datenwissenschaftler erkennen, ob Korrelationen oder Muster zwischen den Variablen bestehen. Ein häufig verwendetes mehrdimensionales Diagramm ist eine Korrelationsmatrix. Bei einer Korrelationsmatrix werden Abhängigkeiten zwischen verschiedenen Variablen mit dem Korrelationskoeffizienten quantifiziert.
Mit demselben Einzelhandelsdatensatz können wir die Korrelationsmatrix generieren.
Beachten Sie, dass die Diagonale von 1 in der Mitte unten ist. Das bedeutet, dass eine Variable beim Vergleich mit sich selbst eine vollständige positive Korrelation aufweist. Eine starke positive Korrelation wird näher bei 1 liegen, während eine schwache Korrelation näher bei 0 liegt. Negative Korrelation wird durch einen negativen Koeffizienten angezeigt, der auf einen gegenläufigen Trend hinweist.

Nächste Schritte

In diesem Lernprogramm wurde erläutert, wie ein neues Jupyter-Notizbuch im Data Science Workspace erstellt und wie Daten extern und von Adobe Experience Platformaus aufgerufen werden können. Im Einzelnen haben wir die folgenden Schritte ausgeführt:
  • Neues Jupyter-Notebook erstellen
  • Zugriff auf Daten und Schema
  • Datasets erkunden
Jetzt können Sie zum nächsten Abschnitt gehen, um ein Rezept zu verpacken und in Data Science Workspace zu importieren.