Analysieren und Visualisieren - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Analysieren und Visualisieren

Amazon SageMaker Data Wrangler enthält integrierte Analysen, mit denen Sie mit wenigen Klicks Visualisierungen und Datenanalysen erstellen können. Sie können auch benutzerdefinierte Analysen mit Ihrem eigenen Code erstellen.

Sie fügen einem Datenrahmen eine Analyse hinzu, indem Sie einen Schritt in Ihrem Datenfluss auswählen und dann Analyse hinzufügen auswählen. Um auf eine von Ihnen erstellte Analyse zuzugreifen, wählen Sie den Schritt aus, der die Analyse enthält, und wählen Sie die Analyse aus.

Alle Analysen werden anhand von 100.000 Zeilen Ihres Datensatzes generiert.

Sie können die folgende Analyse zu einem Datenrahmen hinzufügen:

  • Datenvisualisierungen, einschließlich Histogrammen und Streudiagrammen.

  • Eine kurze Zusammenfassung Ihres Datensatzes, einschließlich der Anzahl der Einträge, der Mindest- und Höchstwerte (für numerische Daten) sowie der am häufigsten und seltensten Kategorien (für kategoriale Daten).

  • Ein schnelles Modell des Datensatzes, das verwendet werden kann, um eine Wichtigkeitsbewertung für jedes Feature zu generieren.

  • Ein Ziel-Leckagebericht, anhand dessen Sie feststellen können, ob ein oder mehrere Merkmale stark mit Ihrem Zielmerkmal korrelieren.

  • Eine benutzerdefinierte Visualisierung mit Ihrem eigenen Code.

In den folgenden Abschnitten erfahren Sie mehr über diese Optionen.

Histogramm

Verwenden Sie Histogramme, um die Anzahl der Feature-Werte für ein bestimmtes Feature zu ermitteln. Mit der Option Farbe nach können Sie die Beziehungen zwischen Features überprüfen. Das folgende Histogramm zeigt beispielsweise die Verteilung der Nutzerbewertungen der meistverkauften Bücher bei Amazon von 2009 bis 2019, eingefärbt nach Genres.

Sie können die Funktion Facette nach verwenden, um Histogramme einer Spalte für jeden Wert in einer anderen Spalte zu erstellen. Das folgende Diagramm zeigt beispielsweise Histogramme von Nutzerrezensionen von Bestsellern bei Amazon, sortiert nach Jahren.

Streudiagramm

Verwenden Sie die Streudiagramm, um die Beziehung zwischen Features zu untersuchen. Um ein Streudiagramm zu erstellen, wählen Sie ein Feature aus, das auf der X-Achse und Y-Achse dargestellt werden soll. Bei beiden Spalten muss es sich um numerische Spalten handeln.

Sie können Streudiaramme anhand einer zusätzlichen Spalte einfärben. Das folgende Beispiel zeigt beispielsweise ein Streudiagramm, in dem die Anzahl der Rezensionen mit den Nutzerbewertungen der meistverkauften Bücher bei Amazon zwischen 2009 und 2019 verglichen wird. Das Streudiagramm ist nach Buchgenre eingefärbt.

Darüber hinaus können Sie Streudiagramme nach Merkmalen facettieren. Die folgende Abbildung zeigt beispielsweise ein Beispiel für dasselbe Streudiagramm zwischen Bewertung und Nutzerbewertung, facettiert nach Jahren.

Tabellenzusammenfassung

Verwenden Sie die Analyse mit der Tabellenzusammenfassung, um Ihre Daten schnell zusammenzufassen.

Für Spalten mit numerischen Daten, einschließlich Logarithmus- und Float-Daten, gibt eine Tabellenzusammenfassung die Anzahl der Einträge (Anzahl), Minimum (min), Maximum (max), Mittelwert und Standardabweichung (stddev) für jede Spalte an.

Für Spalten mit nicht numerischen Daten, einschließlich Spalten mit String-, Boolean- oder Datums-/Uhrzeitdaten, gibt eine Tabellenzusammenfassung die Anzahl der Einträge (Anzahl), den seltensten Wert (min) und den häufigsten Wert (max.) an.

Schnellmodell

Verwenden Sie die Schnellmodell-Visualisierung, um Ihre Daten schnell auszuwerten und Wichtigkeitswerte für jedes Feature zu erstellen. Ein Wert für die Wichtigkeit eines Merkmals gibt an, wie nützlich ein Feature bei der Vorhersage einer Zielbezeichnung ist. Der Wert für die Wichtigkeit eines Merkmals liegt zwischen [0, 1] und eine höhere Zahl gibt an, dass das Merkmal für den gesamten Datensatz wichtiger ist. Oben im Schnellmodelldiagramm befindet sich eine Modellbewertung. Ein Klassifizierungsproblem zeigt einen F1-Wert. Ein Regressionsproblem hat einen mittleren quadratischen Fehler (MSE).

Wenn Sie ein Schnellmodelldiagramm erstellen, wählen Sie einen Datensatz aus, den Sie auswerten möchten, und eine Zielbezeichnung, mit der die Bedeutung der Merkmale verglichen werden soll. Data Wrangler führt Folgendes aus:

  • Leitet die Datentypen für die Zielbeschriftung und jedes Feature im ausgewählten Datensatz ab.

  • Bestimmt den Problemtyp. Basierend auf der Anzahl der unterschiedlichen Werte in der Beschriftungsspalte bestimmt Data Wrangler, ob es sich um einen Regressions- oder Klassifikationsproblemtyp handelt. Data Wrangler legt einen kategorialen Schwellenwert auf 100 fest. Wenn die Beschriftungsspalte mehr als 100 unterschiedliche Werte enthält, klassifiziert Data Wrangler dies als Regressionsproblem. Andernfalls wird es als Klassifikationsproblem klassifiziert.

  • Verarbeitet Merkmale vor und kennzeichnet Daten für das Training. Der verwendete Algorithmus erfordert die Kodierung von Merkmalen nach Vektortyp und die Kodierung von Beschriftungen nach doppeltem Typ.

  • Trainiert einen Random-Forest-Algorithmus mit 70% der Daten. Spark RandomForestRegressor wird verwendet, um ein Modell auf Regressionsprobleme zu trainieren. Die RandomForestClassifier wird verwendet, um ein Modell auf Klassifikationsprobleme zu trainieren.

  • Wertet ein Random-Forest-Modell mit den verbleibenden 30% der Daten aus. Data Wrangler bewertet Klassifikationsmodelle anhand eines F1-Scores und Regressionsmodelle anhand eines MSE-Scores.

  • Berechnet die Merkmalsbedeutung für jedes Merkmal mithilfe der Gini-Wichtigkeitsmethode.

Die folgende Abbildung zeigt die Benutzeroberfläche für die Schnellmodel-Funktion.

Zielleckage

Eine Zielleckage tritt auf, wenn ein Trainingsdatensatz für Machine Learning Daten enthält, die stark mit der Zielbeschriftung korrelieren, aber in realen Daten nicht verfügbar sind. Beispielsweise können Sie eine Spalte in Ihrem Datensatz haben, die als Proxy für die Spalte dient, die Sie mit Ihrem Modell vorhersagen möchten.

Wenn Sie die Zielleckageanalyse verwenden, geben Sie Folgendes an:

  • Ziel: Dies ist die Funktion, für die Ihr ML-Modell Vorhersagen treffen soll.

  • Problemtyp: Dies ist der ML-Problemtyp, an dem Sie gerade arbeiten. Der Problemtyp kann entweder Klassifikation oder Regression sein.

  • (Optional) Maximale Anzahl an Features: Dies ist die maximale Anzahl von Features, die in der Visualisierung dargestellt werden sollen. Dabei werden die Features nach ihrem Risiko, dass es sich um eine Zielleckage handelt, sortiert dargestellt.

Für die Klassifizierung verwendet die Analyse der Zielleckage die Fläche unter der Betriebseigenschaft des Empfängers oder die AUC-ROC-Kurve für jede Spalte, bis hin zu Max. Merkmalen. Für die Regression wird ein Bestimmtheitskoeffizient oder eine R2-Metrik verwendet.

Die AUC-ROC-Kurve bietet eine prädiktive Metrik, die anhand einer Stichprobe von bis zu etwa 1000 Zeilen für jede Spalte mithilfe einer Kreuzvalidierung einzeln berechnet wird. Ein Wert von 1 weist auf perfekte Vorhersagefähigkeiten hin, was häufig auf eine Zielleckage hindeutet. Ein Wert von 0,5 oder weniger bedeutet, dass die Informationen in der Spalte für sich genommen keine nützlichen Informationen für die Vorhersage des Ziels liefern konnten. Es kann zwar vorkommen, dass eine Spalte für sich genommen nicht aussagekräftig ist, aber bei der Vorhersage des Ziels nützlich ist, wenn sie zusammen mit anderen Merkmalen verwendet wird, könnte ein niedriger Wert darauf hindeuten, dass das Merkmal überflüssig ist.

Die folgende Abbildung zeigt beispielsweise einen Bericht über undichte Stellen für ein Problem mit der Diabetesklassifizierung, d. h. die Vorhersage, ob eine Person an Diabetes erkrankt ist oder nicht. Anhand einer AUC-ROC-Kurve wird die Vorhersagefähigkeit von fünf Merkmalen berechnet, und es wurde festgestellt, dass alle Merkmale vor einer Leckage sicher sind.

Multikollinearität

Multikollinearität ist ein Umstand, bei dem zwei oder mehr Prädiktorvariablen miteinander in Beziehung stehen. Die Prädiktorvariablen sind die Features in Ihrem Datensatz, die Sie zur Vorhersage einer Zielvariablen verwenden. Wenn Sie über Multikollinearität verfügen, können die Prädiktorvariablen nicht nur die Zielvariable vorhersagen, sondern sich auch gegenseitig vorhersagen.

Sie können den Varianzinflationsfaktor (VIF), die Hauptkomponentenanalyse (PCA) oder die Lasso-Feature-Auswahl als Messgrößen für die Multikollinearität in Ihren Daten verwenden. Weitere Informationen finden Sie unter den folgenden Topics.

Variance Inflation Factor (VIF)

Der Varianzinflationsfaktor (VIF) ist ein Maß für die Kollinearität zwischen Variablenpaaren. Data Wrangler gibt einen VIF-Score als Maß dafür zurück, wie eng die Variablen miteinander verwandt sind. Ein VIF-Score ist eine positive Zahl, die größer oder gleich 1 ist.

Ein Wert von 1 bedeutet, dass die Variable nicht mit den anderen Variablen korreliert. Werte über 1 weisen auf eine höhere Korrelation hin.

Theoretisch können Sie einen VIF-Wert mit dem Wert unendlich haben. Data Wrangler kürzt Highscores auf 50. Wenn Sie einen VIF-Wert von mehr als 50 haben, setzt Data Wrangler den Wert auf 50.

Sie können die folgenden Richtlinien verwenden, um Ihre VIF-Ergebnisse zu interpretieren:

  • Ein VIF-Wert von weniger als oder gleich 5 bedeutet, dass die Variablen moderat mit den anderen Variablen korrelieren.

  • Ein VIF-Wert größer oder gleich 5 weist darauf hin, dass die Variablen stark mit den anderen Variablen korreliert sind.

Principle Component Analysis (PCA)

Die Hauptkomponentenanalyse (PCA) misst die Varianz der Daten entlang verschiedener Richtungen im Feature-Raum. Der Feature-Raum besteht aus allen Prädiktorvariablen, die Sie zur Vorhersage der Zielvariablen in Ihrem Datensatz verwenden.

Wenn Sie beispielsweise versuchen, vorherzusagen, wer auf der RMS Titanic überlebt hat, nachdem sie auf einen Eisberg gestoßen ist, kann Ihr Feature-Raum das Alter, das Geschlecht und den von ihnen bezahlten Fahrpreis der Passagiere enthalten.

Aus dem Feature-Raum generiert PCA eine geordnete Varianzliste. Diese Varianzen werden auch als singuläre Werte bezeichnet. Die Werte in der Varianzliste sind größer oder gleich 0. Wir können sie verwenden, um zu bestimmen, wie viel Multikollinearität in unseren Daten enthalten ist.

Wenn die Zahlen ungefähr einheitlich sind, weisen die Daten nur sehr wenige Fälle von Multikollinearität auf. Wenn es eine große Variabilität zwischen den Werten gibt, haben wir viele Fälle von Multikollinearität. Bevor Data Wrangler die PCA durchführt, normalisiert es jedes Feature so, dass es einen Mittelwert von 0 und eine Standardabweichung von 1 hat.

Anmerkung

PCA kann unter diesen Umständen auch als Singulärwert-Zerlegung (SVD) bezeichnet werden.

Lasso feature selection

Die Lasso-Feature-Auswahl verwendet die L1-Regularisierungstechnik, um nur die prädiktivsten Feature in Ihren Datensatz aufzunehmen.

Sowohl für die Klassifikation als auch für die Regression generiert die Regularisierungstechnik einen Koeffizienten für jedes Feature. Der absolute Wert des Koeffizienten liefert eine Wichtigkeitsbewertung für das Feature. Ein höherer Wichtigkeitswert bedeutet, dass er die Zielvariable besser vorhersagt. Eine gängige Methode zur Feature-Auswahl besteht darin, alle Merkmale zu verwenden, deren Lassokoeffizient ungleich Null ist.

Erkennen Sie Anomalien in Zeitreihendaten

Sie können die Visualisierung zur Erkennung von Anomalien verwenden, um Ausreißer in Ihren Zeitreihendaten zu erkennen. Um zu verstehen, was eine Anomalie ausmacht, müssen Sie verstehen, dass wir die Zeitreihe in einen prognostizierten Term und einen Fehlerterm zerlegen. Wir behandeln die Saisonalität und den Trend der Zeitreihe als den vorhergesagten Term. Wir behandeln die Residuen als Fehlerterm.

Für den Fehlerterm geben Sie einen Schwellenwert als Anzahl der Standardabweichungen an, bei denen das Residuum vom Mittelwert abweichen kann, sodass es als Anomalie betrachtet wird. Sie können beispielsweise einen Schwellenwert mit 3 Standardabweichungen festlegen. Jedes Residuum, das mehr als 3 Standardabweichungen vom Mittelwert entfernt ist, ist eine Anomalie.

Sie können das folgende Verfahren verwenden, um eine Analyse zur Erkennung von Anomalien durchzuführen.

  1. Öffnen Sie Ihren Data Wrangler-Datenfluss.

  2. Wählen Sie in Ihrem Datenfluss unter Datentypen das + und dann Analyse hinzufügen aus.

  3. Wählen Sie als Analysetyp die Option Zeitreihe aus.

  4. Wählen Sie für Visualisierung die Option Anomalieerkennung aus.

  5. Wählen Sie für Schwellenwert für Anomalien den Schwellenwert aus, ab dem ein Wert als Anomalie betrachtet wird.

  6. Wählen Sie Vorschau, um eine Vorschau der Analyse zu erstellen.

  7. Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenfluss hinzuzufügen.

Zerlegung saisonaler Trends in Zeitreihendaten

Mithilfe der Visualisierung der saisonalen Trendzerlegung können Sie feststellen, ob Ihre Zeitreihendaten saisonabhängig sind. Wir verwenden die STL-Methode (Seasonal Trend Decomposition using LOESS), um die Zerlegung durchzuführen. Wir zerlegen die Zeitreihe in ihre Saison-, Trend- und Restkomponenten. Der Trend spiegelt den langfristigen Verlauf der Reihe wider. Die saisonale Komponente ist ein Signal, das sich in einem bestimmten Zeitraum wiederholt. Nachdem Sie den Trend und die saisonalen Komponenten aus der Zeitreihe entfernt haben, haben Sie das Residuum.

Sie können das folgende Verfahren verwenden, um eine saisonale Trendanalyse der Zerlegung durchzuführen.

  1. Öffnen Sie Ihren Data Wrangler-Datenfluss.

  2. Wählen Sie in Ihrem Datenfluss unter Datentypen das + und dann Analyse hinzufügen aus.

  3. Wählen Sie als Analysetyp die Option Zeitreihe aus.

  4. Wählen Sie für Visualisierung die Option Saisonale Trendzerlegung aus.

  5. Wählen Sie für Schwellenwert für Anomalien den Schwellenwert aus, ab dem ein Wert als Anomalie betrachtet wird.

  6. Wählen Sie Vorschau, um eine Vorschau der Analyse zu erstellen.

  7. Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenfluss hinzuzufügen.

Bericht über Verzerrungen

Sie können den Verzerrungsbericht in Data Wrangler verwenden, um potenzielle Verzerrungen in Ihren Daten aufzudecken. Um einen Bericht über Verzerrungen zu erstellen, müssen Sie die Zielspalte oder Beschriftung angeben, die Sie vorhersagen möchten, und eine Facette oder die Spalte, die Sie auf Verzerrungen untersuchen möchten.

Beschriftung: Das Feature, für das ein Modell Vorhersagen treffen soll. Wenn Sie beispielsweise die Kundenkonversion vorhersagen, können Sie eine Spalte auswählen, die Daten darüber enthält, ob ein Kunde eine Bestellung aufgegeben hat oder nicht. Sie müssen auch angeben, ob es sich bei dieser Funktion um eine Beschriftung oder einen Schwellenwert handelt. Wenn Sie eine Beschriftung angeben, müssen Sie angeben, wie ein positives Ergebnis in Ihren Daten aussieht. Im Beispiel für eine Kundenkonversion kann ein positives Ergebnis eine 1 in der Spalte Bestellungen sein, was dem positiven Ergebnis entspricht, wenn ein Kunde innerhalb der letzten drei Monate eine Bestellung aufgegeben hat. Wenn Sie einen Schwellenwert festlegen, müssen Sie eine Untergrenze festlegen, die ein positives Ergebnis definiert. Wenn Ihre Spalten für Kundenbestellungen beispielsweise die Anzahl der Bestellungen enthalten, die im letzten Jahr aufgegeben wurden, sollten Sie 1 angeben.

Facette: Die Spalte, die Sie auf Verzerrungen untersuchen möchten. Wenn Sie beispielsweise versuchen, die Kundenkonversion vorherzusagen, könnte Ihre Facette das Alter des Kunden sein. Sie können diese Facette wählen, weil Sie der Meinung sind, dass Ihre Daten auf eine bestimmte Altersgruppe ausgerichtet sind. Sie müssen herausfinden, ob die Facette als Wert oder als Schwellenwert gemessen wird. Wenn Sie beispielsweise ein oder mehrere bestimmte Altersstufen untersuchen möchten, wählen Sie Wert aus und geben diese Altersstufen an. Wenn Sie sich eine Altersgruppe ansehen möchten, wählen Sie Schwellenwert und geben den Schwellenwert für die Altersgruppen an, die Sie untersuchen möchten.

Nachdem Sie Ihr Feature und Ihre Bezeichnung ausgewählt haben, wählen Sie die Typen von Messwerten für Abweichungen aus, die Sie berechnen möchten.

Weitere Informationen finden Sie unter Generieren von Berichten über Verzerrungen in Daten vor dem Training.

Erstellen benutzerdefinierter Visualisierungen

Sie können Ihrem Data Wrangler-Flow eine Analyse hinzufügen, um eine benutzerdefinierte Visualisierung zu erstellen. Ihr Datensatz mit allen Transformationen, die Sie angewendet haben, ist als Pandas DataFrame verfügbar. Data Wrangler verwendet die df Variable, um den Datenrahmen zu speichern. Sie greifen auf den Datenrahmen zu, indem Sie die Variable aufrufen.

Sie müssen die Ausgabevariable, chart, angeben um ein Altair-Ausgabediagramm zu speichern. Sie können beispielsweise den folgenden Codeblock verwenden, um mithilfe des Titanic-Datensatzes ein benutzerdefiniertes Histogramm zu erstellen.

import altair as alt df = df.iloc[:30] df = df.rename(columns={"Age": "value"}) df = df.assign(count=df.groupby('value').value.transform('count')) df = df[["value", "count"]] base = alt.Chart(df) bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count')) rule = base.mark_rule(color='red').encode( x='mean(value):Q', size=alt.value(5)) chart = bar + rule
So erstellen Sie eine benutzerdefinierte Visualisierung:
  1. Wählen Sie neben dem Knoten, der die Transformation enthält, die Sie visualisieren möchten, das + aus.

  2. Wählen Sie Analyse hinzufügen aus.

  3. Wählen Sie als Analysetyp die Option Benutzerdefinierte Visualisierung aus.

  4. Geben Sie unter Analysename einen Namen ein.

  5. Geben Sie Ihren Code in das Codefeld ein.

  6. Wählen Sie Vorschau, um eine Vorschau Ihrer Visualisierung anzuzeigen.

  7. Wählen Sie Speichern, um Ihre Visualisierung hinzuzufügen.

Wenn Sie nicht wissen, wie das Altair-Visualisierungspaket in Python verwendet wird, können Sie benutzerdefinierte Codefragmente verwenden, um Ihnen den Einstieg zu erleichtern.

Data Wrangler verfügt über eine durchsuchbare Sammlung von Visualisierungsschnipseln. Um ein Visualisierungs-Snippet zu verwenden, wählen Sie Beispiel-Snippets suchen und geben Sie eine Abfrage in der Suchleiste an.

Im folgenden Beispiel wird der Codeausschnitt Binnendifferenzierte Streudiagramme verwendet. Es zeichnet ein Histogramm für zwei Dimensionen.

Die Codefragmente enthalten Kommentare, die Ihnen helfen sollen, die Änderungen zu verstehen, die Sie am Code vornehmen müssen. Normalerweise müssen Sie die Spaltennamen Ihres Datensatzes im Code angeben.

import altair as alt # Specify the number of top rows for plotting rows_number = 1000 df = df.head(rows_number) # You can also choose bottom rows or randomly sampled rows # df = df.tail(rows_number) # df = df.sample(rows_number) chart = ( alt.Chart(df) .mark_circle() .encode( # Specify the column names for binning and number of bins for X and Y axis x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)), y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)), size="count()", ) ) # :Q specifies that label column has quantitative type. # For more details on Altair typing refer to # https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types