CREATE MODEL - Amazon Redshift

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.

CREATE MODEL

Voraussetzungen

Bevor Sie die CREATE MODEL-Anweisung verwenden, erfüllen Sie die Voraussetzungen in Cluster-Einrichtung für die Verwendung von Amazon Redshift ML. Im Folgenden finden Sie eine Übersicht über die Voraussetzungen.

  • Erstellen Sie einen Amazon Redshift Redshift-Cluster mit der AWS Management Console oder der AWS Befehlszeilenschnittstelle (AWS CLI).

  • Fügen Sie beim Erstellen des Clusters die AWS Identity and Access Management (IAM) -Richtlinie an.

  • Um Amazon Redshift SageMaker zu ermöglichen und die Rolle für die Interaktion mit anderen Diensten zu übernehmen, fügen Sie der IAM-Rolle die entsprechende Vertrauensrichtlinie hinzu.

Einzelheiten zur IAM-Rolle, zur Vertrauensrichtlinie und zu anderen Voraussetzungen finden Sie unter Cluster-Einrichtung für die Verwendung von Amazon Redshift ML.

Im Folgenden finden Sie verschiedene Anwendungsfälle für die CREATE MODEL-Anweisung.

Erforderliche Berechtigungen

Für CREATE MODEL sind folgende Berechtigungen erforderlich:

  • Superuser

  • Benutzer mit der Berechtigung CREATE MODEL

  • Rollen mit der Berechtigung GRANT CREATE MODEL

Kontrolle der Kosten

Amazon Redshift ML verwendet vorhandene Cluster-Ressourcen, um Vorhersagemodelle zu erstellen, so dass Sie keine zusätzlichen Kosten bezahlen müssen. Möglicherweise fallen jedoch zusätzliche Kosten an, wenn Sie die Größe Ihres Clusters ändern oder Ihre Modelle trainieren möchten. Amazon Redshift ML verwendet Amazon, SageMaker um Modelle zu trainieren, was mit zusätzlichen Kosten verbunden ist. Es gibt Möglichkeiten, zusätzliche Kosten zu kontrollieren, z. B. die Begrenzung der maximalen Dauer des Trainings oder die Begrenzung der Anzahl der Trainingsbeispiele, die zum Trainieren Ihres Modells verwendet werden. Weitere Informationen finden Sie unter Kosten für die Verwendung von Amazon Redshift ML.

CREATE MODEL – vollständig

Im Folgenden werden die grundlegenden Optionen der vollständigen CREATE MODEL-Syntax zusammengefasst.

Vollständige CREATE MODEL-Syntax

Im Folgenden finden Sie die vollständige Syntax der CREATE MODEL-Anweisung.

Wichtig

Wenn Sie ein Modell mit der CREATE MODEL-Anweisung erstellen, folgen Sie der Reihenfolge der Schlüsselwörter in der folgenden Syntax.

CREATE MODEL model_name FROM { table_name | ( select_statement ) | 'job_name' } [ TARGET column_name ] FUNCTION function_name ( data_type [, ...] ) [ RETURNS super ] IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' } [ AUTO ON / OFF ] -- default is AUTO ON [ MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER | KMEANS | FORECAST } ] -- not required for non AUTO OFF case, default is the list of all supported types -- required for AUTO OFF [ PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION ) ] -- not supported when AUTO OFF [ OBJECTIVE ( 'MSE' | 'Accuracy' | 'F1' | 'F1_Macro' | 'AUC' | 'reg:squarederror' | 'reg:squaredlogerror'| 'reg:logistic'| 'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge', 'multi:softmax' | 'RMSE' | 'WAPE' | 'MAPE' | 'MASE' | 'AverageWeightedQuantileLoss' ) ] -- for AUTO ON: first 5 are valid -- for AUTO OFF: 6-13 are valid -- for FORECAST: 14-18 are valid [ PREPROCESSORS 'string' ] -- required for AUTO OFF, when it has to be 'none' -- optional for AUTO ON [ HYPERPARAMETERS { DEFAULT | DEFAULT EXCEPT ( Key 'value' (,...) ) } ] -- support XGBoost hyperparameters, except OBJECTIVE -- required and only allowed for AUTO OFF -- default NUM_ROUND is 100 -- NUM_CLASS is required if objective is multi:softmax (only possible for AUTO OFF) [ SETTINGS ( S3_BUCKET 'bucket', | -- required TAGS 'string', | -- optional KMS_KEY_ID 'kms_string', | -- optional S3_GARBAGE_COLLECT on / off, | -- optional, defualt is on. MAX_CELLS integer, | -- optional, default is 1,000,000 MAX_RUNTIME integer (, ...) | -- optional, default is 5400 (1.5 hours) HORIZON integer, | -- required if creating a forecast model FREQUENCY integer, | -- required if creating a forecast model PERCENTILES string -- optional if creating a forecast model ) ]

Parameter

model_name

Der Name des Modells Der Modellname in einem Schema muss eindeutig sein.

FROM { table_name | ( select_query ) | 'job_name'}

Der Tabellenname oder die Abfrage, die die Trainingsdaten spezifiziert. Dabei kann es sich entweder um eine bestehende Tabelle im System oder eine Amazon-Redshift-kompatible SELECT-Abfrage handeln, die in Klammern () eingeschlossen ist. Das Abfrageergebnis muss mindestens zwei Spalten enthalten.

TARGET column_name

Der Name der Spalte, die zum Vorhersageziel wird. Die Spalte muss in der FROM-Klausel vorhanden sein.

FUNCTION function_name ( data_type [, ...] )

Der Name der zu erstellenden Funktion und die Datentypen der Eingabeargumente. Sie können den Schemanamen eines Schemas in Ihrer Datenbank anstelle eines Funktionsnamens angeben.

RETURNS SUPER (Vorschau)

Der Datentyp, der von dem Modell zurückgegeben werden soll. Der zurückgegebene SUPER-Datentyp gilt nur für entfernte BYOM-Modelle.

IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' }

Verwenden Sie das Standardstichwort, damit Amazon Redshift die IAM-Rolle verwendet, die als Standard festgelegt und mit dem Cluster verknüpft ist, wenn der CREATE MODEL-Befehl ausgeführt wird. Alternativ können Sie einen ARN einer IAM-Rolle angeben, um diese Rolle zu verwenden.

[ AUTO ON / OFF ]

Deaktiviert die automatische Erkennung des Präprozessors, des Algorithmus und der Auswahl der Hyperparameter bei CREATE MODEL. Wenn Sie bei der Erstellung eines Prognosemodells ein angeben, bedeutet dies AutoPredictor, dass ein verwendet werden soll, wobei Amazon Forecast die optimalen Kombinationen von Algorithmen auf jede Zeitreihe in Ihrem Datensatz anwendet.

MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER | KMEANS | FORECAST }

(Optional) Gibt den Modelltyp an. Sie können angeben, ob Sie ein Modell eines bestimmten Modelltyps wie XGBoost, Multilayer Perceptron (MLP), KMEANS oder Linear Learner trainieren möchten. Dies sind alles Algorithmen, die Amazon Autopilot unterstützt. SageMaker Wenn Sie den Parameter nicht angeben, werden beim Training alle unterstützten Modelltypen nach dem besten Modell durchsucht. Sie können in Redshift ML auch ein Prognosemodell erstellen, um präzise Zeitreihenprognosen zu erhalten.

PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION )

(Optional) Gibt den Problemtyp an. Wenn Sie den Problemtyp kennen, können Sie Amazon Redshift so einschränken, dass es nur nach dem besten Modell dieses bestimmten Modelltyps sucht. Wenn Sie diesen Parameter nicht angeben, wird während des Trainings auf der Grundlage Ihrer Daten ein Problemtyp ermittelt.

ZIEL ('MSE' | 'Genauigkeit' | 'F1' | 'F1Macro' | 'AUC' | 'reg:squarederror' | 'reg:squaredlogerror' | 'reg:logistic' | 'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge' | 'multi:softmax' | 'RMM SE' | 'WAPE' | 'MAPE' | 'MASE' | 'AverageWeightedQuantileLoss')

(Optional) Gibt den Namen der objektiven Metrik an, die zur Messung der Vorhersagequalität eines Machine-Learning-Systems verwendet wird. Diese Metrik wird während des Trainings optimiert, um die beste Schätzung der Modellparameterwerte aus den Daten zu erhalten. Wenn Sie nicht explizit eine Metrik angeben, wird standardmäßig automatisch MSE: für Regression, F1: für die binäre Klassifikation und Accuracy: für die Multiklassen-Klassifikation verwendet. Weitere Informationen zu Zielen finden Sie unter AutoML JobObjective in der Amazon SageMaker API-Referenz und unter Lernaufgabenparametern in der XGBOOST-Dokumentation. Die Werte RMSE, WAPE, MAPE, MASE und AverageWeightedQuantileLoss gelten nur für Prognosemodelle. Weitere Informationen finden Sie unter API-Vorgang. CreateAutoPredictor

PREPROCESSORS 'string'

(Optional) Gibt bestimmte Kombinationen von Präprozessoren für bestimmte Spalten an. Das Format ist eine Liste von columnSets und entsprechenden Transformern, die auf jede Gruppe von Spalten angewendet werden sollen. Amazon Redshift wendet alle Transformatoren in einer bestimmten Transformer-Liste auf alle Spalten in den entsprechenden ColumnSet Spalten an. Um beispielsweise OneHotEncoder mit Imputer eine Anwendung auf die Spalten t1 und t2 anzuwenden, verwenden Sie den folgenden Beispielbefehl.

CREATE MODEL customer_churn FROM customer_data TARGET 'Churn' FUNCTION predict_churn IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' } PROBLEM_TYPE BINARY_CLASSIFICATION OBJECTIVE 'F1' PREPROCESSORS '[ ... {"ColumnSet": [ "t1", "t2" ], "Transformers": [ "OneHotEncoder", "Imputer" ] }, {"ColumnSet": [ "t3" ], "Transformers": [ "OneHotEncoder" ] }, {"ColumnSet": [ "temp" ], "Transformers": [ "Imputer", "NumericPassthrough" ] } ]' SETTINGS ( S3_BUCKET 'bucket' )
HYPERPARAMETERS { DEFAULT | DEFAULT EXCEPT ( key ‘value’ (,..) ) }

Gibt an, ob die Standard-XGBoost-Parameter verwendet oder durch benutzerdefinierte Werte überschrieben werden. Die Werte müssen in einfache Anführungszeichen eingeschlossen werden. Im Folgenden finden Sie Beispiele für Parameter für XGBoost und deren Standardwerte.

Parametername Parameterwert Standardwert Hinweise

num_class

Ganzzahl

Erforderlich für die Multiclass-Klassifizierung.

N/A

num_round

Ganzzahl

100

N/A

tree_method

Zeichenfolge Automatisch N/A

max_depth

Ganzzahl 6 [0, 10]
min_child_weight Gleitkommazahl 1 MinValue: 0, MaxValue: 120
subsample Gleitkommazahl 1 MinValue: 0,5, MaxValue: 1
gamma Gleitkommazahl 0 MinValue: 0, MaxValue: 5
alpha Gleitkommazahl 0 MinValue: 0, MaxValue: 100
eta Gleitkommazahl 0.3 MinValue: 0,1, MaxValue: 0,5
colsample_byleve Gleitkommazahl 1 MinValue: 0,1, MaxValue: 1
colsample_bynode Gleitkommazahl 1 MinValue: 0,1, MaxValue: 1
colsample_bytree Gleitkommazahl 1 MinValue: 0,5, MaxValue: 1
Lambda Gleitkommazahl 1 MinValue: 0, MaxValue: 100
max_delta_step Ganzzahl 0 [0, 10]
SETTINGS ( S3_BUCKET 'bucket', | TAGS 'string', | KMS_KEY_ID 'kms_string' , | S3_GARBAGE_COLLECT on / off, | MAX_CELLS integer , | MAX_RUNTIME (,...) , | HORIZON integer, | FREQUENCY forecast_frequency, | PERCENTILES array of strings )

Die S3_BUCKET-Klausel gibt den Amazon-S3-Speicherort an, der zum Speichern von Zwischenergebnissen verwendet wird.

(Optional) Der TAGS-Parameter ist eine durch Kommas getrennte Liste von Schlüssel-Wert-Paaren, die Sie verwenden können, um in Amazon und Amazon Forecast erstellte Ressourcen zu taggen SageMaker. Mit Tags können Sie Ihre Ressourcen organisieren und Kosten zuordnen. Die Werte im Paar sind optional, sodass Sie Tags mithilfe des Formats key=value erstellen können oder indem Sie einfach einen Schlüssel erstellen. Weitere Informationen zu Tags in Amazon Redshift finden Sie unter Markieren – Übersicht.

(Optional) Die Klausel KMS_KEY_ID gibt an, ob Amazon Redshift serverseitige Verschlüsselung mit einem AWS KMS -Schlüssel verwendet, um Daten im Ruhezustand zu schützen. Bei der Übertragung von Daten werden diese mit Secure Sockets Layer (SSL) geschützt.

(Optional) S3_GARBAGE_COLLECT { ON | OFF } gibt an, ob Amazon Redshift eine Garbage Collection für die resultierenden Datensätze, die zum Trainieren von Modellen verwendet werden, und die Modelle durchführt. Wenn diese Option auf OFF gesetzt ist, werden die resultierenden Datensätze zum Trainieren von Modellen verwendet und die Modelle bleiben in Amazon S3 und können für andere Zwecke verwendet werden. Wenn die Option auf ON gesetzt ist, löscht Amazon Redshift die Artefakte in Amazon S3, nachdem das Training abgeschlossen ist. Die Standardeinstellung ist ON.

(Optional) MAX_CELLS gibt die Anzahl der Zellen in den Trainingsdaten an. Dieser Wert ist das Produkt aus der Anzahl der Datensätze (in der Trainingsabfrage oder Tabelle) mal der Anzahl der Spalten. Der Standardwert ist 1.000.000.

(Optional) MAX_RUNTIME gibt die Höchstdauer für das Training an. Je nach Größe des Datensatzes sind die Trainingsjobs oft schneller abgeschlossen. Damit legen Sie fest, wie lange das Training maximal dauern soll. Der Standardwert ist 5.400 (90 Minuten).

HORIZON gibt die maximale Anzahl von Vorhersagen an, die das Prognosemodell zurückgeben kann. Sobald das Modell trainiert ist, können Sie diese Ganzzahl nicht mehr ändern. Dieser Parameter ist erforderlich, wenn ein Prognosemodell trainiert wird.

FREQUENCY gibt an, wie detailliert die Prognosen im Hinblick auf Zeiteinheiten sein sollen. Verfügbare Optionen sind Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min. Dieser Parameter ist erforderlich, wenn ein Prognosemodell trainiert wird.

(Optional) PERCENTILES ist eine durch Komma getrennte Zeichenfolge, die die Prognosetypen angibt, mit denen ein Prädiktor trainiert wird. Bei den Prognosetypen kann es sich um Quantile von 0,01 bis 0,99 handeln, und zwar in Schritten von 0,01 oder höher. Sie können den Mittelwert der Prognose auch mit Mittelwert angeben. Sie können maximal fünf Prognosetypen angeben.