Führen Sie erweiterte Analysen mit Amazon Redshift ML durch - AWS Prescriptive Guidance

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.

Führen Sie erweiterte Analysen mit Amazon Redshift ML durch

Erstellt von Po Hong (AWS)

Umgebung: PoC oder Pilotprojekt

Technologien: Analytik; Machine Learning und KI

Workload: Alle anderen Workloads

AWS-Services: Amazon Redshift; Amazon SageMaker

Übersicht

In der Amazon Web Services (AWS) Cloud können Sie Amazon Redshift Machine Learning (Amazon Redshift ML) verwenden, um ML-Analysen für Daten durchzuführen, die entweder in einem Amazon-Redshift-Cluster oder auf Amazon Simple Storage Service (Amazon S3) gespeichert sind. Amazon Redshift ML unterstützt Supervised Learning, das in der Regel für erweiterte Analysen verwendet wird. Zu den Anwendungsfällen für Amazon Redshift ML gehören Umsatzprognosen, Erkennung von Kreditkartenbetrug und Kundenlebenszykluswert (CLV) oder Vorhersagen zur Kundenabwanderung.

Amazon Redshift ML erleichtert Datenbankbenutzern das Erstellen, Trainieren und Bereitstellen von ML-Modellen mithilfe von Standard-SQL-Befehlen. Amazon Redshift ML verwendet Amazon SageMaker Autopilot, um automatisch die besten ML-Modelle für die Klassifizierung oder Regression auf der Grundlage Ihrer Daten zu trainieren und zu optimieren, während Sie Kontrolle und Transparenz behalten.

Alle Interaktionen zwischen Amazon Redshift, Amazon S3 und Amazon SageMaker werden abstrahiert und automatisiert. Nachdem das ML-Modell trainiert und bereitgestellt wurde, wird es als benutzerdefinierte Funktion (UDF) in Amazon Redshift verfügbar und kann in SQL-Abfragen verwendet werden.  

Dieses Muster ergänzt das Tutorial Erstellen, Trainieren und Bereitstellen von ML-Modellen in Amazon Redshift mit SQL mit Amazon Redshift ML aus dem AWS-Blog und Erstellen, Trainieren und Bereitstellen eines ML-Modells mit Amazon SageMaker aus dem Ressourcenzentrum für die ersten Schritte.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto

  • Vorhandene Daten in einer Amazon-Redshift-Tabelle

Fähigkeiten

  • Vertrautheit mit den von Amazon Redshift ML verwendeten Begriffen und Konzepten, einschließlich Machine Learning, Training und Vorhersage. Weitere Informationen dazu finden Sie unter Training von ML-Modellen in der Amazon Machine Learning (Amazon ML)-Dokumentation.

  • Erfahrung mit Amazon-Redshift-Benutzereinrichtung, Zugriffsverwaltung und Standard-SQL-Syntax. Weitere Informationen dazu finden Sie unter Erste Schritte mit Amazon Redshift in der Amazon-Redshift-Dokumentation.

  • Wissen und Erfahrung mit Amazon S3 und AWS Identity and Access Management (IAM). 

  • Erfahrung mit dem Ausführen von Befehlen in AWS Command Line Interface (AWS CLI) ist ebenfalls von Vorteil, aber nicht erforderlich.

Einschränkungen

  • Der Amazon-Redshift-Cluster und der S3-Bucket müssen sich in derselben AWS-Region befinden.

  • Der Ansatz dieses Musters unterstützt nur Modelle für überwachtes Lernen wie Regression, binäre Klassifizierung und Mehrklassenklassifizierung. 

Architektur

In den folgenden Schritten wird erläutert, wie Amazon Redshift ML mit zusammenarbeitet, SageMaker um ein ML-Modell zu erstellen, zu trainieren und bereitzustellen: 

  1. Amazon Redshift exportiert Trainingsdaten in einen S3-Bucket.

  2. SageMaker Autopilot verarbeitet die Trainingsdaten automatisch vorab.

  3. Nachdem die CREATE MODEL Anweisung aufgerufen wurde, verwendet Amazon Redshift ML SageMaker für das Training.

  4. SageMaker Der Autopilot sucht nach dem ML-Algorithmus und optimalen Hyperparametern, die die Bewertungsmetriken optimieren, und empfiehlt diese.

  5. Amazon Redshift ML registriert das Ausgabe-ML-Modell als SQL-Funktion im Amazon-Redshift-Cluster.

  6. Die Funktion des ML-Modells kann in einer SQL-Anweisung verwendet werden. 

Technologie-Stack

  • Amazon Redshift

  • SageMaker

  • Amazon S3

Tools

  • Amazon Redshift – Amazon Redshift ist ein vollständig verwalteter Data-Warehousing-Service auf Unternehmensebene im Petabyte-Bereich.

  • Amazon Redshift ML – Amazon Redshift Machine Learning (Amazon Redshift ML) ist ein robuster, cloudbasierter Service, der es Analysten und Datenwissenschaftlern aller Fähigkeiten erleichtert, ML-Technologie zu verwenden.

  • Amazon S3 – Amazon Simple Storage Service (Amazon S3) ist Speicher für das Internet. 

  • Amazon SageMaker – SageMaker ist ein vollständig verwalteter ML-Service. 

  • Amazon SageMaker Autopilot – SageMaker Autopilot ist ein Feature-Satz, der wichtige Aufgaben eines automatischen Machine Learning (AutoML)-Prozesses automatisiert.

Code

Sie können ein überwachtes ML-Modell in Amazon Redshift erstellen, indem Sie den folgenden Code verwenden:

“CREATE MODEL customer_churn_auto_model FROM (SELECT state, account_length, area_code, total_charge/account_length AS average_daily_spend, cust_serv_calls/account_length AS average_daily_cases, churn FROM customer_activity WHERE record_date < '2020-01-01' ) TARGET churn FUNCTION ml_fn_customer_churn_auto IAM_ROLE 'arn:aws:iam::XXXXXXXXXXXX:role/Redshift-ML' SETTINGS ( S3_BUCKET 'your-bucket' );”)

Hinweis: Der SELECT Status kann sich auf reguläre Amazon-Redshift-Tabellen, externe Amazon-Redshift-Spectrum-Tabellen oder beides beziehen.

Polen

AufgabeBeschreibungErforderliche Fähigkeiten
Bereiten Sie einen Trainings- und Testdatensatz vor.

Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon- SageMaker Konsole. Folgen Sie den Anweisungen im Tutorial Erstellen, Trainieren und Bereitstellen eines Machine-Learning-Modells, um eine CSV- oder Apache-Parquet-Datei zu erstellen, die eine Labelspalte (überwachtes Training ) und keinen Header enthält. 

Hinweis: Wir empfehlen, den Rohdatensatz zu mischen und in einen Trainingssatz für das Training des Modells (70 Prozent) und einen Testsatz für die Leistungsbewertung des Modells (30 Prozent) aufzuteilen.

Data Scientist
AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen und konfigurieren Sie einen Amazon-Redshift-Cluster.

Erstellen Sie in der Amazon-Redshift-Konsole einen Cluster entsprechend Ihren Anforderungen. Weitere Informationen dazu finden Sie unter Erstellen eines Clusters in der Amazon-Redshift-Dokumentation.  

Wichtig: Amazon-Redshift-Cluster müssen mit dem SQL_PREVIEW Wartungspfad erstellt werden. Weitere Informationen zu Vorschaupfaden finden Sie unter Auswählen von Cluster-Wartungspfaden in der Amazon-Redshift-Dokumentation.

DBA, Cloud-Architekt
Erstellen Sie einen S3-Bucket, um Trainingsdaten und Modellartefakte zu speichern.

Erstellen Sie in der Amazon S3-Konsole einen S3-Bucket für die Trainings- und Testdaten. Weitere Informationen zum Erstellen eines S3-Buckets finden Sie unter Erstellen eines S3-Buckets aus AWS Quick Starts. 

Wichtig: Stellen Sie sicher, dass sich Ihr Amazon-Redshift-Cluster und Ihr S3-Bucket in derselben Region befinden. 

DBA, Cloud-Architekt
Erstellen Sie eine IAM-Richtlinie und fügen Sie sie an den Amazon-Redshift-Cluster an.

Erstellen Sie eine IAM-Richtlinie, damit der Amazon-Redshift-Cluster auf SageMaker und Amazon S3 zugreifen kann. Anweisungen und Schritte finden Sie unter Cluster-Einrichtung für die Verwendung von Amazon Redshift ML in der Amazon-Redshift-Dokumentation.

DBA, Cloud-Architekt
Erlauben Sie Amazon-Redshift-Benutzern und -Gruppen den Zugriff auf Schemata und Tabellen.

Erteilen Sie Berechtigungen, damit Benutzer und Gruppen in Amazon Redshift auf interne und externe Schemata und Tabellen zugreifen können. Schritte und Anweisungen finden Sie unter Verwalten von Berechtigungen und Eigentümerschaft in der Amazon-Redshift-Dokumentation.

DBA
AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen und trainieren Sie das ML-Modell in Amazon Redshift.

Erstellen und trainieren Sie Ihr ML-Modell in Amazon Redshift ML. Weitere Informationen finden Sie in der -CREATE MODELAnweisung in der Amazon-Redshift-Dokumentation.

Entwickler, Datenwissenschaftler
AufgabeBeschreibungErforderliche Fähigkeiten
Führen Sie mithilfe der generierten ML-Modellfunktion Inferenzen durch.

Weitere Informationen zum Durchführen von Inferenzen mithilfe der generierten ML-Modellfunktion finden Sie unter Vorhersage in der Amazon-Redshift-Dokumentation.

Datenwissenschaftler, Business-Intelligence-Benutzer

Vorbereiten eines Trainings- und Testdatensatzes

Vorbereiten und Konfigurieren des Technologie-Stacks

Erstellen und Trainieren des ML-Modells in Amazon Redshift

Durchführen von Batch-Inferenzen und Vorhersagen in Amazon Redshift

Sonstige Ressourcen