Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
CREATE MODEL
Rubriques
Prérequis
Avant d’utiliser l’instruction CREATE MODEL, suivez les étapes requises détaillées dans Configuration du cluster pour l'utilisation d'Amazon Redshift ML. Vous trouverez ci-dessous un résumé général des étapes requises.
Créez un cluster Amazon Redshift à l'aide de la console de AWS gestion ou de l'interface de ligne de AWS commande (AWS CLI).
Attachez la politique AWS Identity and Access Management (IAM) lors de la création du cluster.
Pour permettre à Amazon Redshift et à SageMaker AI d'assumer le rôle d'interaction avec d'autres services, ajoutez la politique de confiance appropriée au rôle IAM.
Pour plus d’informations sur le rôle IAM, la politique d’approbation et d’autres prérequis, consultez Configuration du cluster pour l'utilisation d'Amazon Redshift ML.
Vous trouverez ci-dessous différents cas d’utilisation pour l’instruction CREATE MODEL.
Privilèges requis
Les privilèges suivants sont requis pour CREATE MODEL :
Superuser
Utilisateurs disposant du privilège CREATE MODEL
Rôles avec le privilège GRANT CREATE MODEL
Contrôle des coûts
Amazon Redshift ML utilise les ressources existantes du cluster pour créer des modèles de prédiction, de sorte que vous n’avez pas à payer de frais supplémentaires. Cependant, des coûts supplémentaires peuvent s’appliquer si vous devez redimensionner votre cluster ou si vous souhaitez entraîner vos modèles. Amazon Redshift ML utilise Amazon SageMaker AI pour entraîner des modèles, ce qui entraîne un coût supplémentaire. Il existe des moyens de contrôler les coûts supplémentaires, par exemple en limitant la durée maximale de l’entraînement ou en limitant le nombre d’exemples d’entraînement utilisés pour entraîner votre modèle. Pour obtenir plus d’informations, consultez Costs for using Amazon Redshift ML (Coûts d’utilisation d’Amazon Redshift ML).
CREATE MODEL
Voici un résumé des options de base de la syntaxe CREATE MODEL complète.
Syntaxe CREATE MODEL complète
Voici la syntaxe complète de l’instruction CREATE MODEL.
Important
Lorsque vous créez un modèle à l’aide de l’instruction CREATE MODEL, suivez l’ordre des mots-clés dans la syntaxe suivante.
CREATE MODEL model_name FROM { table_name | ( select_statement ) | 'job_name' } [ TARGET column_name ] FUNCTION function_name [ ( data_type [, ...] ) ] [ RETURNS data_type ] -- supported only for BYOM [ SAGEMAKER 'endpoint_name'[:'model_name']] -- supported only for BYOM remote inference 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 'amzn-s3-demo-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 MAX_BATCH_ROWS integer -- optional for BYOM remote inference ) ]
Paramètres
- model_name
-
Nom du modèle. Le nom du modèle d’un schéma doit être unique.
- FROM { table_name | ( select_query ) | ’job_name’}
-
Le table_name ou la requête qui spécifie les données d’entraînement. Il peut s’agir soit d’une table existante dans le système, soit d’une requête SELECT compatible avec Amazon RedShift entre parenthèses, c’est-à-dire (). Le résultat de la requête doit contenir au moins deux colonnes.
- TARGET column_name
-
Nom de la colonne qui devient la cible de la prédiction. La colonne doit exister dans la clause FROM.
- FUNCTION function_name ( data_type [, ...] )
-
Nom de la fonction à créer et types de données des arguments d’entrée. Vous pouvez fournir le nom d'un schéma dans votre base de données au lieu d'un nom de fonction.
- RETURNS type_données
-
Type de données à renvoyer par la fonction du modèle. Le type de
SUPER
données renvoyé s'applique uniquement au BYOM avec inférence à distance. - SAGEMAKER ’endpoint_name’[:’model_name’]
-
Nom du point de terminaison Amazon SageMaker AI. Si le nom du point de terminaison pointe vers un point de terminaison multimodèle, ajoutez le nom du modèle à utiliser. Le point de terminaison doit être hébergé au même Région AWS endroit que le cluster Amazon Redshift.
- IAM_ROLE { default | ’arn:aws:iam::<account-id>:role/<role-name>’}
-
Utilisez le mot clé par défaut pour qu’Amazon Redshift utilise le rôle IAM défini comme rôle par défaut et associé au cluster lorsque la commande CREATE MODEL s’exécute. Vous pouvez également spécifier l’ARN d’un rôle IAM pour utiliser ce rôle.
- [ AUTO ON / OFF ]
-
Active ou désactive la détection automatique CREATE MODEL du préprocesseur, de l’algorithme et de la sélection d’hyperparamètres. Lorsque vous créez un modèle de prévision, vous devez utiliser un AutoPredictor, où Amazon Forecast applique les combinaisons optimales d'algorithmes à chaque série chronologique de votre ensemble de données.
- MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER | KMEANS | FORECAST }
-
(Facultatif) Spécifie le type de modèle. Vous pouvez spécifier si vous souhaitez entraîner un modèle d'un type de modèle spécifique, tel que le perceptron multicouche (MLP) XGBoost, le KMEANS ou le Linear Learner, qui sont tous des algorithmes pris en charge par Amazon AI Autopilot. SageMaker Si vous ne spécifiez pas le paramètre, tous les types de modèles pris en charge sont recherchés pendant l’entraînement pour trouver le meilleur modèle. Vous pouvez également créer un modèle de prévision dans Redshift ML pour créer des prévisions chronologiques précises.
- PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION )
-
(Facultatif) Spécifie le type de problème. Si vous connaissez le type de problème, vous pouvez limiter la recherche Amazon Redshift au meilleur modèle de ce type en particulier. Si vous ne spécifiez pas ce paramètre, un type de problème est détecté pendant l’entraînement, en fonction de vos données.
- OBJECTIF (« MSE » | « Précision » | « F1 » | « F1 » | « AUC » | « reg:squarederror » | « reg:squaredlogerror » | « reg:logistic » | « reg:pseudohubererror » | « reg:tweedie » | « binary:hinge » | « multi:softmax » | « RM » (« | » WAPE » | « MAPE » | « MASE » | « ») AverageWeightedQuantileLoss
-
(Facultatif) Spécifie le nom de la métrique d’objectif utilisée pour mesurer la qualité prédictive d’un système de machine learning. Cette métrique est optimisée pendant l’entraînement afin de fournir la meilleure estimation des valeurs des paramètres du modèle à partir des données. Si vous ne spécifiez pas de métrique explicitement, le comportement par défaut consiste à utiliser automatiquement MSE : pour la régression, F1 : pour la classification binaire, Précision : pour la classification multiclasse. Pour plus d'informations sur les objectifs, consultez Auto MLJob Objective dans le manuel Amazon SageMaker AI API Reference et Learning task parameters
dans la documentation XGBOOST. Les valeurs RMSE, WAPE, MAPE, MASE et AverageWeightedQuantileLoss ne s'appliquent qu'aux modèles Forecast. Pour plus d'informations, consultez l'opération API CreateAutoPredictor. - PREPROCESSORS ’string’
-
(Facultatif) Spécifie certaines combinaisons de préprocesseurs à certains ensembles de colonnes. Le format est une liste de columnSets et les transformations appropriées à appliquer à chaque ensemble de colonnes. Amazon Redshift applique tous les transformateurs d'une liste de transformateurs spécifique à toutes les colonnes de la liste correspondante. ColumnSet Par exemple, pour appliquer OneHotEncoder avec Imputer aux colonnes t1 et t2, utilisez l'exemple de commande suivant.
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 'amzn-s3-demo-bucket' )
- HYPERPARAMETERS { DEFAULT | DEFAULT EXCEPT ( key ‘value’ (,..) ) }
-
Spécifie si les XGBoost paramètres par défaut sont utilisés ou remplacés par des valeurs spécifiées par l'utilisateur. Les valeurs doivent être entre guillemets simples. Vous trouverez ci-dessous des exemples de paramètres pour XGBoost et leurs valeurs par défaut.
Nom du paramètre Valeur de paramètre Valeur par défaut Remarques num_class
Entier Requis pour la classification multiclasse.
N/A num_round
Entier 100
N/A tree_method
Chaîne Auto N/A max_depth
Entier 6 [0 , 10] min_child_weight Float 1 MinValue: 0, MaxValue 120 subsample Float 1 MinValue: 0,5, MaxValue : 1 gamma Float 0 MinValue: 0, MaxValue 5 alpha Float 0 MinValue: 0, MaxValue 100 eta Float 0.3 MinValue: 0,1, MaxValue 0,5 colsample_byleve Float 1 MinValue: 0,1, MaxValue 1 colsample_bynode Float 1 MinValue: 0,1, MaxValue 1 colsample_bytree Float 1 MinValue: 0,5, MaxValue : 1 lambda Float 1 MinValue: 0, MaxValue 100 max_delta_step Entier 0 [0, 10] - PARAMÈTRES (S3_BUCKET 'amzn-s3-demo-bucket', | TAGS 'string', | KMS_KEY_ID 'kms_string', | S3_GARBAGE_COLLECT activé/désactivé, | MAX_CELLS entier, | MAX_RUNTIME (,...), | HORIZON entier, | FREQUENCY forecast_frequency, | tableau de chaînes PERCENTILES)
-
La clause S3_BUCKET spécifie l’emplacement Amazon S3 utilisé pour stocker les résultats intermédiaires.
(Facultatif) Le paramètre TAGS est une liste séparée par des virgules de paires clé-valeur que vous pouvez utiliser pour étiqueter les ressources créées dans Amazon SageMaker AI et Amazon Forecast. Les balises permettent d’organiser les ressources et d’imputer les coûts. Les valeurs de la paire étant facultatives, vous pouvez créer des balises en utilisant le format
key=value
ou en créant simplement une clé. Pour en savoir plus sur les balises dans Amazon Redshift, consultez Présentation du balisage.(Facultatif) La clause KMS_KEY_ID spécifie si Amazon Redshift utilise le chiffrement côté serveur avec une clé AWS KMS pour protéger les données au repos. Les données en transit sont protégées par le protocole SSL.
(Facultatif) La clause S3_GARBAGE_COLLECT { ON | OFF } spécifie si Amazon Redshift lance le récupérateur de mémoire sur les jeux de données obtenus utilisés pour entraîner les modèles et sur les modèles. Si la valeur est définie sur OFF, les jeux de données obtenus utilisés pour entraîner les modèles et les modèles eux-mêmes restent dans Amazon S3 et peuvent être utilisés à d’autres fins. Si la valeur est définie sur ON, Amazon Redshift supprime les artefacts dans Amazon S3 une fois l’entraînement terminé. La valeur par défaut est ON.
(Facultatif) La clause MAX_CELLS spécifie le nombre de cellules dans les données d’entraînement. Cette valeur est le produit du nombre d’enregistrements (dans la requête d’entraînement ou dans la table) multiplié par le nombre de colonnes. La valeur par défaut est 1 000 000.
(Facultatif) La clause MAX_RUNTIME spécifie la durée maximale d’entraînement. Les tâches d’entraînement se terminent souvent plus tôt en fonction de la taille du jeu de données. Ce nombre spécifie la durée maximale de l’entraînement. La valeur par défaut est 5 400 (90 minutes).
HORIZON spécifie le nombre maximum de prédictions que le modèle de prévision peut renvoyer. Une fois le modèle entraîné, vous ne pouvez pas modifier cet entier. Ce paramètre est obligatoire pour l’entraînement d’un modèle de prévision.
FREQUENCY indique le degré de précision en unités de temps que vous souhaitez pour les prévisions. Les options disponibles sont
Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min
. Ce paramètre est obligatoire pour l’entraînement d’un modèle de prévision.(Facultatif) PERCENTILES est une chaîne délimitée par des virgules qui spécifie les types de prévisions utilisés pour entraîner un prédicteur. Les types de prévisions peuvent être des quantiles compris entre 0,01 et 0,99, par incréments de 0,01 ou plus. Vous pouvez également spécifier la prévision moyenne à l’aide de la moyenne. Vous pouvez spécifier un maximum de cinq types de prévisions.
- MAX_BATCH_ROWS entier
-
(Facultatif) Le nombre maximum de lignes qu'Amazon Redshift envoie dans une seule demande par lot pour un seul appel d' SageMaker IA. Il n'est pris en charge que pour le BYOM avec inférence à distance. La valeur minimale pour ce paramètre est 1. La valeur maximale est
INT_MAX
de 2 147 483 647. Ce paramètre n'est obligatoire que lorsque les types de données en entrée et en sortie sont de type SUPER. La valeur par défaut estINT_MAX
, ou 2 147 483 647.