Erste Schritte / Praktische Übungen / ...
Generieren Sie Prognosen durch Machine Learning, ohne Code zu schreiben
LEITFADEN FÜR DIE ERSTEN SCHRITTE
Übersicht
Lerninhalte
In diesem Leitfaden werden Sie:
- Datensätze importieren
- Wählen Sie die Zielvariable für die Klassifizierung
- Datensätze visuell inspizieren
- Erstellen eines ML-Modells mit der Quick-Build-Funktion von SageMaker Canvas
- Modellfunktionen und Metriken verstehen
- Massen- und Einzelprognosen erstellen und verstehen
Voraussetzungen
Bevor Sie mit diesem Leitfaden beginnen, benötigen Sie:
- Ein AWS-Konto: Wenn Sie noch keins haben, folgen Sie der Anleitung zum Einrichten Ihrer Umgebung, um einen schnellen Überblick zu erhalten.
AWS-Erfahrung
Einsteiger
Benötigte Zeit
20 Minuten
Kosten für die Fertigstellung
Siehe Kostenvoranschlag für SageMaker Canvas, um die Kosten für dieses Tutorial zu ermitteln.
Erfordert
Sie müssen bei einem AWS-Konto angemeldet sein.
Verwendete Services
Amazon SageMaker Canvas
Letzte Aktualisierung
Juni 28, 2022
Anwendungsfall
In diesem Tutorial werden Sie ein ML-Modell erstellen, das die geschätzte Ankunftszeit (ETA) von Sendungen (gemessen in Tagen) vorhersagen kann. Sie werden einen Datensatz verwenden, der vollständige Versanddaten für gelieferte Produkte enthält, einschließlich geschätzter Zeit, Versand, Priorität, Spediteur und Ursprung.
Schritt 1: Amazon-SageMaker-Studio-Domäne einrichten
Ein AWS-Konto kann nur eine SageMaker-Studio-Domäne pro AWS-Region haben. Wenn Sie bereits über eine SageMaker Studio-Domäne in der Region USA Ost (Nord-Virginia) verfügen, befolgen Sie die SageMaker-Studio-Einrichtungsanleitung, um die erforderlichen AWS-IAM-Richtlinien Ihrem SageMaker-Studio-Konto zuzuordnen, überspringen Sie dann Schritt 1 und fahren Sie direkt mit Schritt 2 fort.
Wenn Sie keine bestehende SageMaker-Studio-Domäne haben, fahren Sie mit Schritt 1 fort, um eine AWS-CloudFormation-Vorlage auszuführen, die eine SageMaker-Studio-Domäne erstellt und die für den Rest dieses Tutorials erforderlichen Berechtigungen hinzufügt.
Wählen Sie den AWS-CloudFormation-Stack-Link. Dieser Link öffnet die AWS-CloudFormation-Konsole und erstellt Ihre SageMaker-Studio-Domäne und einen Benutzer namens studio-user. Es fügt auch die erforderlichen Berechtigungen zu Ihrem SageMaker-Studio-Konto hinzu. Bestätigen Sie in der CloudFormation-Konsole, dass USA Ost (Nord-Virginia) die Region ist, die in der oberen rechten Ecke angezeigt wird. Der Stack-Name sollte CFN-SM-IM-Lambda-Catalog lauten und nicht geändert werden. Dieser Stack benötigt etwa 10 Minuten, um alle Ressourcen zu erstellen.
Dieser Stack setzt voraus, dass Sie bereits eine öffentliche VPC in Ihrem Konto eingerichtet haben. Wenn Sie keine öffentliche VPC haben, erfahren Sie unter VPC mit einem einzigen öffentlichen Subnetz wie Sie eine öffentliche VPC erstellen.
Wählen Sie Ich bestätige, dass AWS CloudFormation möglicherweise IAM-Ressourcen erstellt, und wählen Sie dann Stack erstellen.
Im Bereich CloudFormation, wählen Sie die Option Stacks. Es dauert etwa 10 Minuten, bis der Stack erstellt ist. Wenn der Stack erstellt ist, sollte der Status des Stacks von CREATE_IN_PROGRESS zu CREATE_COMPLETE wechseln.
Schritt 2: Melden Sie sich bei SageMaker Canvas an und laden Sie den Datensatz in den Amazon-S3-Bucket hoch.
Geben Sie SageMaker Canvas in die Suchleiste in der AWS-Konsole ein und gehen Sie zu SageMaker Canvas.
Wählen Sie Canvas unter Systemsteuerung im linken Fensterbereich und wählen Sie dann USA Ost (Nord-Virginia) aus der Dropdown-Liste Region oben rechts.
- Wählen Sie auf der Seite SageMaker Canvas die Option SageMaker Canvas starten.
- Wählen Sie auf der Seite Systemsteuerung Canvas aus der Dropdown-Liste App starten neben dem Studio-Benutzer aus.
- Der SageMaker Canvas Bildschirm Anwendung erstellen wird angezeigt. Es dauert einige Minuten, bis die Anwendung geladen ist.
Wenn Sie SageMaker zum ersten Mal in US-East 1 verwenden, erstellt SageMaker Canvas einen Amazon-S3-Bucket mit einem Namen nach folgendem Muster: sagemaker-<your-Region>-<your-account-id>. Bevor Sie mit dem Rest des Tutorials fortfahren, laden Sie die unten stehenden Datensätze herunter und speichern Sie sie auf Ihrem lokalen Computer. Sie laden dann die Datensätze in den Standard-S3-Bucket hoch, den SageMaker Canvas für Sie erstellt hat.
Laden Sie das synthetische Versandprotokoll und die Produktdatensätze herunter.
Geben Sie in der Suchleiste der der AWS-Konsole S3 ein und wählen Sie dann S3.
Wenn die S3-Konsole geöffnet wird, finden Sie Ihren Standard-Bucket, den SageMaker Canvas für Sie erstellt hat, unter dem Buckets Abschnitt. Wählen Sie den Bucket mit dem Namen sagemaker-<your-Region>-<your-account-id>und wählen Sie auf der nächsten Seite Hochladen.
Wählen Sie auf der Seite Upload die Option Dateien hinzufügen, und wählen Sie die beiden Datensätze aus, die Sie im vorherigen Schritt heruntergeladen haben. Scrollen Sie zum Seitenende und wählen Sie Hochladen. SageMaker Canvas greift auf diese Dateien zu, bevor das Modell erstellt wird.
Schritt 3: SageMaker Canvas für die automatische Modellerstellung einrichten
Importieren Sie Daten in SageMaker Canvas zur visuellen Überprüfung und Modellerstellung.
Importieren Sie den Datensatz in SageMaker Canvas.
- Wählen Sie auf der SageMaker-Canvas-Oberfläche Datensätze im linken Bereich, und wählen Sie dann + Importieren.
- Wählen Sie das Amazon-S3-Bucket mit dem Namen sagemaker-<your-Region>-<your-account-id> aus, in das Sie die Datensätze im vorherigen Schritt hochgeladen haben. Wählen Sie shipping_logs.csv und product_descriptions.csv Datensätze aus, indem Sie die Kontrollkästchen auf der linken Seite aktivieren. Zwei neue Schaltflächen erscheinen am unteren Rand Ihrer Seite: Alle anzeigen und Daten importieren. Wählen Sie Vorschau für alle. So können Sie eine 100-zeilige Vorschau der Datensätze sehen.
- Nachdem Sie die Datensätze überprüft haben, wählen Sie Daten importieren, um sie in SageMaker Canvas zu importieren.
Auf der Seite SageMaker Canvas finden Sie unter dem Abschnitt Datensätze die beiden Datensätze, die Sie importiert haben. Wählen Sie Daten verbinden.
Ziehen Sie auf der Seite Datensätze verbinden die beiden Datensätze aus dem linken Bereich in den rechten Fensterbereich. Wählen Sie das Verbindungssymbol zwischen den beiden Datensätzen. Es erscheint ein Pop-up-Fenster mit Details zur Verbindung. Vergewissern Sie sich, dass der Verknüpfungstyp Inner ist und die verbindende Spalte ProductId ist. Wählen Sie Speichern und Schließen und dann wählen Sie Daten importieren.
- Geben Sie im Dialogfeld Daten importieren den Namen ConsolidatedShippingData in das Feld Datensatzname importieren ein und wählen Sie Datensatz importieren.
Schritt 4: Erstellen, üben und analysieren eines ML-Modells
Legen Sie die Zielvariable fest, prüfen Sie die Eigenschaften der Daten visuell und starten Sie den Modellbildungsprozess.
Wählen Sie in der SageMaker-Canvas-Benutzeroberfläche Modelle, und dann + Neues Modell. Geben Sie im Dialogfenster Neues Modell erstellen im Feld Modellname ShippingForecast ein und wählen Sie Erstellen.
Die Modellansichtsseite besteht aus 4 Registerkarten, die die einzelnen Schritte bei der Erstellung eines Modells und der Erstellung von Prognosen darstellen. Die Registerkarten sind:
- Wählen Sie – Eingabedaten festlegen.
- Erstellen – Erstellen des ML-Modells.
- Analysieren – Analysieren der Modellausgabe und -merkmale.
- Prognose – Prognosen in der Gesamtheit oder für eine einzelne Probe durchführen.
Wählen Sie auf der Registerkarte Auswählen das Optionsfeld für den ConsolidatedShippingData-Datensatz aus, den Sie im vorherigen Schritt erstellt haben. Dieser Datensatz enthält 16 Spalten und 10 000 Zeilen. Außerdem enthält sie eine ausführliche Beschreibung von Form und Größe des Datensatzes. Wählen Sie Datensatz auswählen.
Nachdem Sie den Datensatz ausgewählt haben, wechselt SageMaker Canvas automatisch in die Erstellungsphase. Wählen Sie auf dieser Registerkarte die Zielspalte, die in diesem Beispiel ActualShippingDays heißt. Da diese Spalte die historische Anzahl der Tage enthält, die bis zum Eintreffen der Waren benötigt werden, eignet sie sich als Zielspalte.
- Sobald die Zielspalte ausgewählt ist, versucht SageMaker Canvas automatisch, den Problemtyp zu ermitteln. Da Sie daran interessiert sind, wie viele Tage es dauert, bis die Ware beim Kunden eintrifft, handelt es sich um ein Regression oder numerisches Prognoseproblem. Die Regression schätzt die Werte einer abhängigen Zielvariablen auf der Grundlage einer oder mehrerer anderer Variablen oder Attribute, die mit ihr korreliert sind. In diesem Fall kann SageMaker Canvas diesen Anwendungsfall zunächst als ein Problem vom Typ Zeitreihenprognose vorhersagen, da es eine Spalte mit Datumsangaben im Datensatz erkannt hat. Sie können den Problemtyp jedoch in einen numerischen Modelltyp ändern, indem Sie ihn manuell mit dem Link Typ ändern in der Mitte der Seite auswählen.
- Beachten Sie, dass die Korrelation der Spalten XShippingDistance und YShippingDistance mit dem Ziel vernachlässigbar ist.
- Da Merkmale mit vernachlässigbarer Korrelation mit dem Ziel nicht informativ genug für die vorliegende Prognoseaufgabe sind, können Sie die Spalten XShippingDistance,YShippingDistance, ProductID und OrderID weglassen, da sie Primärschlüssel sind und keine wertvollen Informationen enthalten dürften. Sie können die Markierung der Kästchen aufheben.
- Sie können das Symbol mit den vertikalen Balken auswählen, um die Verteilung der Spalten zu überprüfen. Dies ist sehr nützlich, um Ungleichgewichte und mögliche Verzerrungen in den Daten aufzuzeigen.
Für dieses Tutorial wählen Sie Schnellaufbau, um mit dem Modellbau zu beginnen. Dieser Vorgang nimmt weniger als 5 Minuten in Anspruch.
Nachdem die Modellerstellung abgeschlossen ist, wechselt SageMaker Canvas automatisch zur Registerkarte Analysieren, um die Ergebnisse der Schnellschulung anzuzeigen. Das mit dem Schnellaufbau erstellte SageMaker-Canvas-Modell kann die Anzahl der Versandtage mit einer Abweichung von +/-1,2333 vom tatsächlichen Wert vorhersagen. Beim maschinellen Lernen kommt es beim Modelltraining zu einer gewissen Stochastik, die bei verschiedenen Konstruktionen zu unterschiedlichen Ergebnissen führen kann. Daher kann die genaue Leistung in Bezug auf die Kennzahlen, die Sie sehen, unterschiedlich sein.
Auf der Übersichtsregisterkarte zeigt SageMaker Canvas die Spaltenauswirkung oder die geschätzte Bedeutung jeder Eingabespalte für die Prognose der Zielspalte an. In diesem Beispiel hat die Spalte ExpectedShippingDays den größten Einfluss auf die Prognose der Anzahl der Versandtage. Auf der rechten Seite können Sie auch die Wirkungsrichtung eines Merkmals sehen. Je höher z. B. der Wert von ExpectedShippingDays, ist, desto positiver wirkt er sich auf die Prognose der Anzahl der Versandtage aus.
Unter der Bewertung Registerkarte sehen Sie ein Diagramm, das die Regressionslinie mit der besten Anpassung für ActualshippingDays darstellt. Im Durchschnitt weicht die Modellprognose um +/- 1,2333 von dem tatsächlichen Wert von ActualShippingDays ab. Der Abschnitt „Bewertung“ für numerische Prognosen zeigt eine Linie, die den vorhergesagten Wert des Modells im Verhältnis zu den für die Vorhersagen verwendeten Daten angibt. Die Werte der numerischen Prognosen sind oft +/- der RMSE-Wert (root mean squared error). Der Wert, den das Modell vorhersagt, liegt oft im Bereich des RMSE. Die Breite des violetten Bandes um die Linie zeigt den RMSE-Bereich an. Die vorhergesagten Werte liegen oft innerhalb der Spanne. Um die Leistung des Modells besser zu verstehen, klicken Sie auf den Link Erweiterte Metriken auf der rechten Seite, um die Seite Erweiterte Metriken anzuzeigen.
- Die verschiedenen Metriken, die auf der Seite Erweiterte Metriken angezeigt werden, sind R2, Mean Absolute Error (MAE), Mean Absolute Percentage Error (MAPE) und Root Mean Squared Error (RMSE). Die Seite Erweiterte Metriken zeigt auch Diagramme zur visuellen Überprüfung der Modellleistung. Ein Bild zeigt ein Diagramm der Residuen oder Fehler. Die horizontale Linie zeigt einen Fehler von 0 oder eine perfekte Prognose an. Die blauen Punkte stellen Fehler da. Ihr Abstand von der horizontalen Linie zeigt die Größe der Fehler an.
- Wenn Sie auf der Seite Erweiterte Metriken nach unten scrollen, sehen Sie ein Fehlerdichte-Diagramm, das die Verteilung der Fehler und ihre Streuung in Bezug auf MAE und RMSE des Modells anzeigt. Eine Fehlerdichte, deren Form einer Normalverteilung ähnelt, ist ein Hinweis auf eine gute Modellleistung.
Schritt 5: Generierung von Modellprognosen
Da Sie nun über ein Regressionsmodell verfügen, können Sie entweder das Modell verwenden, um Prognosen zu treffen, oder Sie können eine neue Version dieses Modells erstellen, um es mit dem Standard-Build-Prozess zu trainieren. In diesem Schritt verwenden Sie SageMaker Canvas, um Prognosen für einzelne oder mehrere Datensätze zu erstellen.
Um mit der Prognosen Generierung zu beginnen, wählen Sie die Registerkarte Prognose.
- Wählen Sie die Schaltfläche Prognose am Seitenende der Analysieren Seite, oder wählen Sie die Registerkarte Prognose. Auf der Seite Prognose, ist die Batch-Prognose bereits ausgewählt. Wählen Sie Datensatz auswählen und wählen Sie dann den ConsolidatedShippingData-Datensatz. In tatsächlichen ML-Workflows sollte dieser Datensatz vom Übungsdatensatz getrennt sein. Der Einfachheit halber verwenden Sie jedoch denselben Datensatz, um zu demonstrieren, wie SageMaker Canvas Prognosen erzeugt. Wählen Sie Prognosen generieren.
- Nach ein paar Sekunden ist die Prognose abgeschlossen. Wählen Sie das Optionssymbol und wählen Sie Vorschau, um eine Vorschau der Prognosen anzuzeigen, indem Sie den Mauszeiger über den Namen oder den Status des Prognosedatensatzes bewegen. Sie können auch Herunterladen wählen, um eine CSV-Datei mit der vollständigen Ausgabe herunterzuladen. SageMaker Canvas liefert für jede Datenzeile eine Prognose. In diesem Tutorial ist das Merkmal mit der größten Bedeutung das Merkmal ExpectedShippingDays. Sie wird auch neben den Prognosen dargestellt, um einen visuellen Vergleich zu ermöglichen.
- Auf der Prognose-Seite können Sie Prognosen für eine einzelne Probe erstellen, indem Sie Einzelprognose wählen. SageMaker Canvas bietet eine Oberfläche, in der Sie manuell Werte für jede der im Modell verwendeten Eingabevariablen eingeben können. Diese Art der Analyse ist ideal für Was-wäre-wenn-Szenarien, bei denen Sie wissen möchten, wie sich die Prognose ändert, wenn eine oder mehrere Variablen im Wert steigen oder fallen. Mit der Prognose des einzelnen Satzes von Spaltenwerten liefert SageMaker Canvas individuelle Merkmalsbedeutungen. Dies zeigt die Spalten mit dem größten Einfluss auf die aktuelle Stichprobenprognose an.
Im Rahmen dieses Tutoriums wird das Standardmodell nicht behandelt. Das Training in diesem Modus ähnelt jedoch den in diesem Lernprogramm beschriebenen Schritten.
Sie können damit beginnen, dem Modell einen Namen zu geben, z. B. ShippingForecastStandardModel. Außerdem können Sie auf der Registerkarte Erstellen, statt des Schnellmodells das Standardmodell wählen. Führen Sie dann die restlichen Schritte aus. Der Standard-Erstellungsmodus bietet den Vorteil, dass das trainierte Modell über SageMaker Studio mit Datenwissenschaftlern geteilt werden kann. Dies ermöglicht Zusammenarbeit, schnelle Modellverfeinerung und Iterationen. Die Option zur gemeinsamen Nutzung ist auf der Registerkarte Analysieren verfügbar, sobald das Modelltraining abgeschlossen ist.
Schritt 6: Bereinigen Sie Ihre AWS-Ressourcen
Es empfiehlt sich, nicht mehr benötigte Ressourcen zu löschen, damit keine ungewollten Kosten entstehen.
Navigieren Sie zur S3-Konsole und wählen Sie die Menüoption Buckets.
Löschen Sie das Testobjekt aus Ihrem Testbucket. Wählen Sie den Namen des Buckets aus, mit dem Sie in diesem Lernprogramm gearbeitet haben. Setzen Sie ein Häkchen in das Kontrollkästchen links neben dem Namen Ihres Testobjekts, und wählen Sie dann die Schaltfläche Löschen. Vergewissern Sie sich auf der Seite Objekte löschen, dass Sie das richtige Objekt zum Löschen ausgewählt haben, und geben Sie Dauerhaft löschen in das Bestätigungsfeld Objekte dauerhaft löschen ein. Wählen Sie dann die Schaltfläche Objekt löschen um fortzufahren. Anschließend wird ein Banner angezeigt, das angibt, ob die Löschung erfolgreich war.
Wählen Sie auf der Hauptseite von SageMaker Canvas die Option Modelle. Im rechten Fenster ist das von Ihnen erstellte Modell sichtbar. Wählen Sie die vertikale Ellipse rechts neben der Option Ansicht und wählen Sie Modell löschen.
Wählen Sie in der SageMaker Studio-Konsole die Option studio-user und für jede App aufgeführt unter Apps wählen Sie die Option App löschen. Folgen Sie den Anweisungen auf dem Bildschirm, um den Löschvorgang zu bestätigen. Warten Sie, bis der Status Gelöscht angezeigt wird.
Wenn Sie in Schritt 1 eine bestehende SageMaker-Studio-Domäne verwendet haben, überspringen Sie den Rest von Schritt 6 und fahren Sie direkt mit dem Abschnitt Abschluss fort.
Wenn Sie die CloudFormation-Vorlage in Schritt 1 ausgeführt haben, um eine neue SageMaker-Studio-Domäne zu erstellen, fahren Sie mit den folgenden Schritten fort, um die Domäne, den Benutzer und die von der CloudFormation-Vorlage erstellten Ressourcen zu löschen.
Um die CloudFormation-Konsole zu öffnen, geben Sie CloudFormation in die Suchleiste der AWS-Konsole ein, und wählen Sie CloudFormation aus den Suchergebnissen aus.
Im Bereich CloudFormation, wählen Sie die Option Stacks. Wählen Sie in der Dropdown-Liste Status Aktiv aus. Wählen Sie unter Stack-Name die Option CFN-SM-IM-Lambda-catalog, um die Seite mit den Stackdetails zu öffnen.
Wählen Sie auf der Seite CFN-SM-IM-Lambda-catalog Stack-Details die Option Löschen, um den Stack zusammen mit den in Schritt 1 erstellten Ressourcen zu löschen.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lernprogramm Generieren von Prognosen für Machine Learning, ohne Code zu schreiben abgeschlossen.
Sie haben Amazon SageMaker Canvas erfolgreich verwendet, um einen Datensatz für ML aus Amazon S3 zu importieren und vorzubereiten, die Zielvariable auszuwählen, ein ML-Modell mithilfe des Schnellaufbaumodus zu erstellen und die visuelle Schnittstelle zu verwenden.
Nächste Schritte
Erstellen eines Machine-Learning-Modells
Trainingsdaten für skalierbares Machine Learning kennzeichnen