

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="r_CREATE_MODEL"></a>

**Topics**
+ [Conditions préalables](#r_create_model_prereqs)
+ [Privilèges requis](#r_simple_create_model-privileges)
+ [Contrôle des coûts](#r_create_model_cost)
+ [CREATE MODEL](#r_full_create_model)
+ [Parameters](#r_create_model_parameters)
+ [Notes d’utilisation](r_create_model_usage_notes.md)
+ [Cas d’utilisation](r_create_model_use_cases.md)

## Conditions préalables
<a name="r_create_model_prereqs"></a>

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](getting-started-machine-learning.md#cluster-setup). 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](getting-started-machine-learning.md#cluster-setup).

Vous trouverez ci-dessous différents cas d’utilisation pour l’instruction CREATE MODEL.
+ [CREATE MODEL simple](r_create_model_use_cases.md#r_simple_create_model)
+ [CREATE MODEL avec guide de l’utilisateur](r_create_model_use_cases.md#r_user_guidance_create_model)
+ [CRÉEZ des XGBoost modèles avec AUTO OFF](r_create_model_use_cases.md#r_auto_off_create_model)
+ [Modèle BYOM (Bring Your Own Model) : inférence locale](r_create_model_use_cases.md#r_byom_create_model)
+ [Modèle BYOM (Bring Your Own Model) : inférence distante](r_create_model_use_cases.md#r_byom_create_model_remote)
+ [CREATE MODEL avec K-MEANS](r_create_model_use_cases.md#r_k-means_create_model)
+ [CREATE MODEL](#r_full_create_model)

## Privilèges requis
<a name="r_simple_create_model-privileges"></a>

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
<a name="r_create_model_cost"></a>

 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](https://docs.aws.amazon.com/redshift/latest/dg/cost.html) (Coûts d’utilisation d’Amazon Redshift ML). 

## CREATE MODEL
<a name="r_full_create_model"></a>

Voici un résumé des options de base de la syntaxe CREATE MODEL complète.

### Syntaxe CREATE MODEL complète
<a name="r_auto_off-create-model-synposis"></a>

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
    ) ]
```

## Parameters
<a name="r_create_model_parameters"></a>

model\$1name  
Nom du modèle. Le nom du modèle d’un schéma doit être unique.

FROM \$1 *table\$1name* \$1 ( *select\$1query* ) \$1 *’job\$1name’*\$1  
Le table\$1name 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\$1name*  
Nom de la colonne qui devient la cible de la prédiction. La colonne doit exister dans la clause FROM. 

FUNCTION *function\$1name* ( *data\$1type* [, ...] )  
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 de votre base de données au lieu d’un nom de fonction.

RETURNS *type\$1données*  
Type de données à renvoyer depuis la fonction du modèle. Le type de données `SUPER` renvoyé ne s’applique qu’aux modèles BYOM avec inférence à distance.

SAGEMAKER *’endpoint\$1name’*[:*’model\$1name’*]  
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\$1ROLE \$1 default \$1 ’arn:aws:iam::<account-id>:role/<role-name>’\$1  
 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\$1TYPE \$1 XGBOOST \$1 MLP \$1 LINEAR\$1LEARNER \$1 KMEANS \$1 FORECAST \$1*   
(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\$1TYPE ( REGRESSION \$1 BINARY\$1CLASSIFICATION \$1 MULTICLASS\$1CLASSIFICATION )*   
(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 » \$1 « Précision » \$1 « F1 » \$1 « F1Macro » \$1 « AUC » \$1 « reg:squarederror » \$1 « reg:squaredlogerror » \$1 « reg:logistic » \$1 « reg:pseudohubererror » \$1 « reg:tweedie » \$1 « binary:hinge » \$1 « multi:softmax » \$1 « RM » (« \$1 » WAPE » \$1 « MAPE » \$1 « MASE » \$1 « ») 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](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_AutoMLJobObjective.html) dans le manuel *Amazon SageMaker AI API Reference* et [Learning task parameters](https://xgboost.readthedocs.io/en/latest/parameter.html#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](https://docs.aws.amazon.com/forecast/latest/dg/API_CreateAutoPredictor.html#forecast-CreateAutoPredictor-request-OptimizationMetric).

 *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 \$1 DEFAULT \$1 DEFAULT EXCEPT ( key ‘value’ (,..) ) \$1  
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.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/dg/r_CREATE_MODEL.html)

SETTINGS ( S3\$1BUCKET *’amzn-s3-demo-bucket’*, \$1 TAGS ’string’, \$1 KMS\$1KEY\$1ID *’kms\$1string’ *, \$1 S3\$1GARBAGE\$1COLLECT on / off, \$1 MAX\$1CELLS integer , \$1 MAX\$1RUNTIME (,...) , \$1 HORIZON integer, \$1 FREQUENCY forecast\$1frequency, \$1 PERCENTILES array of strings )  
La clause S3\$1BUCKET 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](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-tagging.html).  
(Facultatif) KMS\$1KEY\$1ID indique si Amazon Redshift utilise le chiffrement côté serveur avec une clé pour protéger les données au repos. AWS KMS Les données en transit sont protégées par le protocole SSL.   
(Facultatif) La clause S3\$1GARBAGE\$1COLLECT \$1 ON \$1 OFF \$1 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\$1CELLS 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\$1RUNTIME 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\$1BATCH\$1ROWS *entier*   
(Facultatif) Le nombre maximum de lignes qu'Amazon Redshift envoie dans une seule demande par lot pour un seul appel d' SageMaker IA. Uniquement prise en charge pour BYOM avec inférence à distance. La valeur minimale pour ce paramètre est 1. La valeur maximale est `INT_MAX` ou 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 maximale est `INT_MAX` ou 2 147 483 647. 

# Notes d’utilisation
<a name="r_create_model_usage_notes"></a>

Tenez compte des éléments suivants lorsque vous utilisez CREATE MODEL :
+ L’instruction CREATE MODEL fonctionne en mode asynchrone et renvoie le résultat de l’exportation des données d’entraînement vers Amazon S3. Les étapes restantes de la formation dans Amazon SageMaker AI se déroulent en arrière-plan. Bien que l’entraînement soit en cours, la fonction d’inférence correspondante est visible mais ne peut pas être exécutée. Vous pouvez interroger [STV\$1ML\$1MODEL\$1INFO](r_STV_ML_MODEL_INFO.md) pour voir l’état de l’entraînement. 
+ L’entraînement peut s’exécuter jusqu’à 90 minutes en arrière-plan, par défaut dans le modèle Auto et peut être prolongée. Pour annuler l’entraînement, exécutez simplement la commande [DROP MODEL](r_DROP_MODEL.md).
+ Le cluster Amazon Redshift que vous utilisez pour créer le modèle et le compartiment Amazon S3 utilisé pour mettre en page les données d’entraînement et les artefacts de modèle doivent se trouver dans la même région AWS .
+ Pendant la formation du modèle, Amazon Redshift et SageMaker AI stockent les artefacts intermédiaires dans le compartiment Amazon S3 que vous fournissez. Par défaut, Amazon Redshift lance le récupérateur de mémoire à la fin de l’opération CREATE MODEL. Amazon Redshift supprime ces objets d’Amazon S3. Pour retenir ces artefacts sur Amazon S3, définissez l’option S3\$1GARBAGE COLLECT OFF.
+ Vous devez utiliser au moins 500 lignes dans les données d’entraînement fournies dans la clause FROM.
+ Vous pouvez spécifier jusqu’à 256 colonnes de fonctions (entrée) dans la clause FROM \$1 table\$1name \$1 ( select\$1query ) \$1 lorsque vous utilisez l’instruction CREATE MODEL.
+ Pour AUTO ON, les types de colonnes que vous pouvez utiliser comme jeu d’entraînement sont SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE, BOOLEAN, CHAR, VARCHAR, DATE, TIME, TIMETZ, TIMESTAMP et TIMESTAMPTZ. Pour AUTO OFF, les types de colonnes que vous pouvez utiliser comme jeu d’entraînement sont SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE et BOOLEAN.
+ Vous ne pouvez pas utiliser DECIMAL, DATE, TIME, TIMETZ, TIMESTAMP, TIMESTAMPTZ, GEOMETRY, GEOGRAPHY, HLLSKETCH, SUPER ou VARBYTE comme type de colonne cible.
+ Pour améliorer la précision du modèle, optez pour l’une des solutions suivantes :
  + Ajoutez autant de colonnes pertinentes que possible dans la commande CREATE MODEL lorsque vous spécifiez les données d’entraînement dans la clause FROM.
  + Utilisez une valeur plus grande pour MAX\$1RUNTIME et MAX\$1CELLS. Des valeurs plus élevées pour ce paramètre augmentent le coût de l’entraînement d’un modèle.
+ L’exécution de l’instruction CREATE MODEL renvoie dès que les données d’entraînement sont calculées et exportées vers le compartiment Amazon S3. Ensuite, vous pouvez vérifier l’état de l’entraînement à l’aide de la commande SHOW MODEL. Lorsqu’un modèle entraîné en arrière-plan échoue, vous pouvez vérifier l’erreur à l’aide de la commande SHOW MODEL. Vous ne pouvez pas effectuer de nouvelle tentative pou un modèle ayant échoué. Utilisez la commande DROP MODEL pour supprimer un modèle ayant échoué et créer un nouveau modèle. Pour plus d’informations sur les modèles SHOW MODEL, consultez [SHOW MODEL](r_SHOW_MODEL.md).
+ Le modèle BYOM local prend en charge le même type de modèles que ceux pris en charge par le ML d’Amazon Redshift pour les cas non-BYOM. Amazon Redshift prend en charge les modèles simples XGBoost ( XGBoost version 1.0 ou ultérieure), les modèles KMEANS sans préprocesseurs et les modèles XGBOOST/MLP/Linear Learner entraînés par Trained by Amazon AI Autopilot. SageMaker Il prend en charge ce dernier avec des préprocesseurs spécifiés par Autopilot et également pris en charge par Amazon SageMaker AI Neo.
+ Si le routage amélioré de votre cluster Amazon Redshift est activé pour votre cloud privé virtuel (VPC), assurez-vous de créer un point de terminaison Amazon S3 VPC et un point de terminaison VPC AI pour le SageMaker VPC dans lequel se trouve votre cluster. Cela permet au trafic de s’exécuter via votre VPC entre ces services pendant l’exécution de la commande CREATE MODEL. Pour plus d'informations, consultez [SageMaker AI Clarify Job Amazon VPC Subnets and](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-vpc.html#clarify-vpc-job) Security Groups.

# Cas d’utilisation
<a name="r_create_model_use_cases"></a>

Les cas d’utilisation suivants montrent comment utiliser la clause CREATE MODEL en fonction de vos besoins.

## CREATE MODEL simple
<a name="r_simple_create_model"></a>

Voici un résumé des options de base de la syntaxe CREATE MODEL.

### Syntaxe CREATE MODEL simple
<a name="r_simple-create-model-synposis"></a>

```
CREATE MODEL model_name
FROM { table_name | ( select_query ) }
TARGET column_name
FUNCTION prediction_function_name
IAM_ROLE { default }
SETTINGS (
  S3_BUCKET 'amzn-s3-demo-bucket',
  [ MAX_CELLS integer ]
)
```

### Paramètres CREATE MODEL simples
<a name="r_simple-create-model-parameters"></a>

 *model\$1name*   
Nom du modèle. Le nom du modèle d’un schéma doit être unique.

FROM \$1 *table\$1name* \$1 ( *select\$1query* ) \$1  
Le table\$1name 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\$1name*  
Nom de la colonne qui devient la cible de la prédiction. La colonne doit exister dans la clause FROM. 

FUNCTION *prediction\$1function\$1name*   
Valeur qui spécifie le nom de la fonction de machine learning Amazon Redshift à générer par le modèle CREATE MODEL et utilisée pour effectuer des prédictions à l’aide de ce modèle. La fonction est créée dans le même schéma que l’objet de modèle et peut être surchargée.  
L'apprentissage automatique Amazon Redshift prend en charge des modèles tels que les modèles Xtreme Gradient Boosted tree (XGBoost) pour la régression et la classification.

IAM\$1ROLE \$1 default \$1 ’arn:aws:iam::<account-id>:role/<role-name>’ \$1  
 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.

 *S3\$1BUCKET *’amzn-s3-demo-bucket’**   
Le nom du compartiment Amazon S3 que vous avez créé précédemment était utilisé pour partager des données d'entraînement et des artefacts entre Amazon Redshift et SageMaker AI. Amazon Redshift crée un sous-dossier dans ce compartiment avant le déchargement des données d’entraînement. Lorsque l’entraînement est terminé, Amazon Redshift supprime le sous-dossier créé et son contenu. 

MAX\$1CELLS integer   
Nombre maximal de cellules à exporter à partir de la clause FROM. La valeur par défaut est 1 000 000.   
Le nombre de cellules est le produit du nombre de lignes dans les données d’entraînement (produites par la table ou la requête de clause FROM) multiplié par le nombre de colonnes. Si le nombre de cellules dans les données d’entraînement est supérieur à celui spécifié par le paramètre max\$1cells, CREATE MODEL crée des sous-échantillons des données d’entraînement de la clause FROM pour réduire la taille du jeu de données d’entraînement en dessous de la valeur MAX\$1CELLS. Autoriser des jeux de données d’entraînement plus volumineux peut permettre de bénéficier d’une plus grande précision, mais peut également augmenter la durée et le coût d’entraînement du modèle.  
Pour obtenir des informations sur les coûts d’utilisation d’Amazon Redshift, consultez [Coûts d’utilisation d’Amazon Redshift ML](cost.md).  
Pour plus d’informations sur les coûts associés aux différents nombres de cellules et sur les détails de l’essai gratuit, consultez [Tarification Amazon Redshift](https://aws.amazon.com/redshift/pricing).

## CREATE MODEL avec guide de l’utilisateur
<a name="r_user_guidance_create_model"></a>

Vous trouverez ci-dessous une description des options de CREATE MODEL en plus des options décrites dans [CREATE MODEL simple](#r_simple_create_model).

Par défaut, CREATE MODEL recherche la meilleure combinaison de prétraitement et le meilleur modèle pour votre jeu de données spécifique. Il se peut que vous ayez besoin d’un contrôle plus poussé ou d’introduire des connaissances de domaine supplémentaires (comme le type de problème ou l’objectif) pour votre modèle. Dans un scénario de désabonnement client, si le résultat « client n’est pas actif » est rare, l’objectif F1 est souvent préféré à l’objectif Précision. Étant donné que les modèles à haute précision peuvent prédire « le client est actif » tout le temps, il en résulte une haute précision, mais peu de valeur opérationnelle. Pour plus d'informations sur l'objectif F1, consultez [Auto MLJob Objective](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_AutoMLJobObjective.html) dans le *manuel Amazon SageMaker AI API Reference*.

Ensuite, le modèle CREATE suit vos suggestions sur les aspects spécifiés, tels que l’objectif. Dans le même temps, CREATE MODEL détecte automatiquement les meilleurs préprocesseurs et les meilleurs hyperparamètres. 

### CREATE MODEL avec syntaxe de guide de l’utilisateur
<a name="r_user_guidance-create-model-synposis"></a>

CREATE MODEL offre plus de flexibilité sur les aspects que vous pouvez spécifier et les aspects qu’Amazon Redshift détecte automatiquement.

```
CREATE MODEL model_name
FROM { table_name | ( select_statement ) }
TARGET column_name
FUNCTION function_name
IAM_ROLE { default }
[ MODEL_TYPE { XGBOOST | MLP | LINEAR_LEARNER} ]
[ PROBLEM_TYPE ( REGRESSION | BINARY_CLASSIFICATION | MULTICLASS_CLASSIFICATION ) ]
[ OBJECTIVE ( 'MSE' | 'Accuracy' | 'F1' | 'F1Macro' | 'AUC') ]
SETTINGS (
  S3_BUCKET 'amzn-s3-demo-bucket', |
  S3_GARBAGE_COLLECT { ON | OFF }, |
  KMS_KEY_ID 'kms_key_id', |
  MAX_CELLS integer, |
  MAX_RUNTIME integer (, ...)
)
```

### CREATE MODEL avec paramètres de guide de l’utilisateur
<a name="r_user_guidance-create-model-parameters"></a>

 *MODEL\$1TYPE \$1 XGBOOST \$1 MLP \$1 LINEAR\$1LEARNER \$1*   
(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 XGBoost, tel que le perceptron multicouche (MLP) ou le Linear Learner, qui sont tous des algorithmes pris en charge par Amazon SageMaker AI Autopilot. 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.

 *PROBLEM\$1TYPE ( REGRESSION \$1 BINARY\$1CLASSIFICATION \$1 MULTICLASS\$1CLASSIFICATION )*   
(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.

OBJECTIVE ( ’MSE’ \$1 ’Accuracy’ \$1 ’F1’ \$1 ’F1Macro’ \$1 ’AUC’)  
(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](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_AutoMLJobObjective.html) dans le *manuel Amazon SageMaker AI API Reference*.

MAX\$1CELLS integer   
(Facultatif) 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.

MAX\$1RUNTIME integer   
(Facultatif) 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).

S3\$1GARBAGE\$1COLLECT \$1 ON \$1 OFF \$1\$1SUR \$1 OFF\$1  
(Facultatif) 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.

KMS\$1KEY\$1ID ’kms\$1key\$1id’  
(Facultatif) 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. 

 *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'
)
```

Amazon Redshift prend en charge les transformateurs suivants :
+ OneHotEncoder — Généralement utilisé pour coder une valeur discrète dans un vecteur binaire avec une valeur différente de zéro. Ce transformateur convient à de nombreux modèles de machine learning. 
+ OrdinalEncoder — Encode des valeurs discrètes en un seul entier. Ce transformateur convient à certains modèles de machine learning, tels que MLP et Linear Learner. 
+ NumericPassthrough — Transmet l'entrée telle quelle dans le modèle.
+ Imputer : remplit les valeurs manquantes et les valeurs qui ne sont pas un nombre (NaN).
+ ImputerWithIndicator — Complète les valeurs manquantes et les valeurs NaN. Ce transformateur crée également un indicateur indiquant si des valeurs étaient manquantes et ont été emplies.
+ Normalizer : normalise les valeurs, ce qui peut améliorer les performances de nombreux algorithmes de machine learning.
+ DateTimeVectorizer — Crée une intégration vectorielle, représentant une colonne de type de données date/heure pouvant être utilisée dans les modèles d'apprentissage automatique.
+ PCA : projette les données dans un espace dimensionnel inférieur afin de réduire le nombre de fonctions tout en conservant autant d’informations que possible.
+ StandardScaler — Normalise les caractéristiques en supprimant la moyenne et en les adaptant à l'unité de variance. 
+ MinMax — Transforme les entités en adaptant chaque entité à une plage donnée.

Amazon Redshift ML stocke les transformateurs entraînés et les applique automatiquement dans le cadre de la requête de prédiction. Vous n’avez pas besoin de les spécifier lorsque vous générez des prédictions à partir de votre modèle. 

## CRÉEZ des XGBoost modèles avec AUTO OFF
<a name="r_auto_off_create_model"></a>

En général, la commande AUTO OFF CREATE MODEL a des objectifs différents de ceux de la commande CREATE MODE par défaut.

Si vous êtes utilisateur avancé qui connaît déjà le type de modèle souhaité et les hyperparamètres à utiliser lors de l’entraînement de ces modèles, vous pouvez utiliser CREATE MODEL avec AUTO OFF pour désactiver la détection automatique CREATE MODEL des préprocesseurs et des hyperparamètres. Pour ce faire, vous devez spécifier explicitement le type de modèle. XGBoost est actuellement le seul type de modèle pris en charge lorsque AUTO est réglé sur OFF. Vous pouvez spécifier des hyperparamètres. Amazon Redshift utilise des valeurs par défaut pour tous les hyperparamètres que vous avez spécifiés. 

### CRÉEZ des XGBoost modèles avec la syntaxe AUTO OFF
<a name="r_auto_off-create-model-synposis"></a>

```
CREATE MODEL model_name
FROM { table_name | (select_statement ) }
TARGET column_name
FUNCTION function_name
IAM_ROLE { default }
AUTO OFF
MODEL_TYPE XGBOOST
OBJECTIVE { 'reg:squarederror' | 'reg:squaredlogerror' | 'reg:logistic' |
            'reg:pseudohubererror' | 'reg:tweedie' | 'binary:logistic' | 'binary:hinge' |
            'multi:softmax' | 'rank:pairwise' | 'rank:ndcg' }
HYPERPARAMETERS DEFAULT EXCEPT (
    NUM_ROUND '10',
    ETA '0.2',
    NUM_CLASS '10',
    (, ...)
)
PREPROCESSORS 'none'
SETTINGS (
  S3_BUCKET 'amzn-s3-demo-bucket', |
  S3_GARBAGE_COLLECT { ON | OFF }, |
  KMS_KEY_ID 'kms_key_id', |
  MAX_CELLS integer, |
  MAX_RUNTIME integer (, ...)
)
```

### CRÉEZ des XGBoost modèles avec les paramètres AUTO OFF
<a name="r_auto_off-create-model-parameters"></a>

 *AUTO OFF*   
Désactive la détection automatique CREATE MODEL du préprocesseur, de l’algorithme et de la sélection d’hyperparamètres.

MODEL\$1TYPE XGBOOST  
Indiquer d’utiliser XGBOOST pour entraîner le modèle. 

OBJECTIVE str  
Spécifie un objectif reconnu par l’algorithme. Amazon Redshift prend en charge reg:squarederror, reg:squaredlogerror, reg:logistic, reg:pseudohubererror, reg:tweedie, binary:logistic, binary:hinge, multi:softmax. Pour plus d'informations sur ces objectifs, consultez la section [Paramètres des tâches d'apprentissage](https://xgboost.readthedocs.io/en/latest/parameter.html#learning-task-parameters) dans la XGBoost documentation.

HYPERPARAMETERS \$1 DEFAULT \$1 DEFAULT EXCEPT ( key ‘value’ (,..) ) \$1  
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.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/dg/r_create_model_use_cases.html)

L'exemple suivant prépare les données pour XGBoost.

```
DROP TABLE IF EXISTS abalone_xgb;

CREATE TABLE abalone_xgb (
length_val float,
diameter float,
height float,
whole_weight float,
shucked_weight float,
viscera_weight float,
shell_weight float,
rings int,
record_number int);

COPY abalone_xgb
FROM 's3://redshift-downloads/redshift-ml/abalone_xg/'
REGION 'us-east-1'
IAM_ROLE default
IGNOREHEADER 1 CSV;
```

L'exemple suivant crée un XGBoost modèle avec des options avancées spécifiées, telles que MODEL\$1TYPE, OBJECTIVE et PREPROCESSORS.

```
DROP MODEL abalone_xgboost_multi_predict_age;

CREATE MODEL abalone_xgboost_multi_predict_age
FROM ( SELECT length_val,
              diameter,
              height,
              whole_weight,
              shucked_weight,
              viscera_weight,
              shell_weight,
              rings
   FROM abalone_xgb WHERE record_number < 2500 )
TARGET rings FUNCTION ml_fn_abalone_xgboost_multi_predict_age
IAM_ROLE default
AUTO OFF
MODEL_TYPE XGBOOST
OBJECTIVE 'multi:softmax'
PREPROCESSORS 'none'
HYPERPARAMETERS DEFAULT EXCEPT (NUM_ROUND '100', NUM_CLASS '30')
SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket');
```

L’exemple suivant utilise une requête d’inférence pour prédire l’âge du poisson dont le nombre d’enregistrements est supérieur à 2 500. Il utilise la fonction ml\$1fn\$1abalone\$1xgboost\$1multi\$1predict\$1age créée à partir de la commande ci-dessus. 

```
select ml_fn_abalone_xgboost_multi_predict_age(length_val,
                                                   diameter,
                                                   height,
                                                   whole_weight,
                                                   shucked_weight,
                                                   viscera_weight,
                                                   shell_weight)+1.5 as age
from abalone_xgb where record_number > 2500;
```

## Modèle BYOM (Bring Your Own Model) : inférence locale
<a name="r_byom_create_model"></a>

Amazon Redshift ML prend en charge l’utilisation du modèle BYOM pour l’inférence locale.

Vous trouverez ci-dessous un résumé des options de syntaxe CREATE MODEL pour le modèle BYOM. Vous pouvez utiliser un modèle formé en dehors d'Amazon Redshift avec Amazon SageMaker AI pour effectuer des inférences dans la base de données localement dans Amazon Redshift.

### Syntaxe CREATE MODEL pour l'inférence locale
<a name="r_local-create-model"></a>

Voici une description de la syntaxe CREATE MODEL pour l’inférence locale.

```
CREATE MODEL model_name
FROM ('job_name' | 's3_path' )
FUNCTION function_name ( data_type [, ...] )
RETURNS data_type
IAM_ROLE { default }
[ SETTINGS (
  S3_BUCKET 'amzn-s3-demo-bucket', | --required
  KMS_KEY_ID 'kms_string') --optional
];
```

Amazon Redshift ne prend actuellement en charge que les modèles préentraînés XGBoost, MLP et Linear Learner pour le BYOM. Vous pouvez importer le pilote automatique SageMaker AI et les modèles directement entraînés dans Amazon SageMaker AI à des fins d'inférence locale en utilisant ce chemin. 

#### Paramètres CREATE MODEL pour l’inférence locale
<a name="r_local-create-model-parameters"></a>

 *model\$1name*   
Nom du modèle. Le nom du modèle d’un schéma doit être unique.

FROM (*’job\$1name’* \$1 *’s3\$1path’* )  
Le *job\$1name utilise un nom* de tâche Amazon SageMaker AI comme entrée. Le nom du poste peut être un nom de tâche de formation Amazon SageMaker AI ou un nom de tâche Amazon SageMaker AI Autopilot. La tâche doit être créée dans le compte AWS propriétaire du cluster Amazon Redshift. Pour trouver le nom du poste, lancez Amazon SageMaker AI. Dans le menu déroulant **Training** (Entraînement), choisissez **Training jobs** (Tâches d’entraînement).  
*’s3\$1path’* spécifie l’emplacement S3 du fichier d’artefacts de modèle .tar.gz à utiliser lors de la création du modèle.

FUNCTION *function\$1name* ( *data\$1type* [, ...] )  
Nom de la fonction à créer et types de données des arguments d’entrée. Vous pouvez spécifier un nom de schéma.

RETURNS *type\$1données*  
Type de données de la valeur renvoyée par la fonction.

IAM\$1ROLE \$1 default \$1 ’arn:aws:iam::<account-id>:role/<role-name>’\$1  
 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.  
Utilisez l’Amazon Resource Name (ARN) d’un rôle IAM que votre cluster utilise pour l’authentification et l’autorisation. 

SETTINGS ( S3\$1BUCKET *’amzn-s3-demo-bucket’*, \$1 KMS\$1KEY\$1ID *’kms\$1string’*)  
La clause S3\$1BUCKET spécifie l’emplacement Amazon S3 utilisé pour stocker les résultats intermédiaires.  
(Facultatif) La clause KMS\$1KEY\$1ID indique si Amazon Redshift utilise le chiffrement côté serveur avec une clé pour protéger les données au repos. AWS KMS Les données en transit sont protégées par le protocole SSL.  
Pour plus d'informations, consultez [CREATE MODEL avec guide de l’utilisateur](#r_user_guidance_create_model).

#### Exemple CREATE MODEL pour l’inférence locale
<a name="r_local-create-model-example"></a>

L'exemple suivant crée un modèle qui a déjà été formé à Amazon SageMaker AI, en dehors d'Amazon Redshift. Étant donné que le type de modèle est pris en charge par le ML d’Amazon Redshift pour l’inférence locale, la commande CREATE MODEL suivante crée une fonction qui peut être utilisée localement dans Amazon Redshift. Vous pouvez fournir un nom de poste de formation à l' SageMaker IA.

```
CREATE MODEL customer_churn
FROM 'training-job-customer-churn-v4'
FUNCTION customer_churn_predict (varchar, int, float, float)
RETURNS int
IAM_ROLE default
SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket');
```

Une fois le modèle créé, vous pouvez utiliser la fonction *customer\$1churn\$1predict* avec les types d’arguments spécifiés pour effectuer des prédictions.

## Modèle BYOM (Bring Your Own Model) : inférence distante
<a name="r_byom_create_model_remote"></a>

Amazon Redshift ML prend également en charge l’utilisation du modèle BYOM pour l’inférence distante.

Vous trouverez ci-dessous un résumé des options de syntaxe CREATE MODEL pour le modèle BYOM.

### Syntaxe CREATE MODEL pour l’inférence distante
<a name="r_remote-create-model"></a>

Voici une description de la syntaxe CREATE MODEL pour l’inférence distante.

```
CREATE MODEL model_name 
FUNCTION function_name ( data_type [, ...] )
RETURNS data_type
SAGEMAKER 'endpoint_name'[:'model_name']
IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' }
[SETTINGS (MAX_BATCH_ROWS integer)];
```

#### Paramètres CREATE MODEL pour l’inférence distante
<a name="r_remote-create-model-parameters"></a>

 *model\$1name*   
Nom du modèle. Le nom du modèle d’un schéma doit être unique.

FUNCTION *fn\$1name* ( [*data\$1type*] [, ...] )  
Nom de la fonction et types de données des arguments d’entrée. Consultez [Types de données](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html) pour connaître tous les types de données pris en charge. `Geography`, `geometry` et `hllsketch` ne sont pas pris en charge.   
Vous pouvez également fournir un nom de fonction dans un schéma en utilisant une notation en deux parties, telle que `myschema.myfunction`.

RETURNS *type\$1données*  
Type de données de la valeur renvoyée par la fonction. Consultez [Types de données](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html) pour connaître tous les types de données pris en charge. `Geography`, `geometry` et `hllsketch` ne sont pas pris en charge. 

SAGEMAKER *’endpoint\$1name’*[:*’model\$1name’*]   
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é dans la même AWS région et Compte AWS que le cluster Amazon Redshift. Pour trouver votre point de terminaison, lancez Amazon SageMaker AI. Dans le menu déroulant **Inference** (Inférence), choisissez **Endpoints** (Points de terminaison).

IAM\$1ROLE \$1 default \$1 ’arn:aws:iam::<account-id>:role/<role-name>’\$1  
 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.

MAX\$1BATCH\$1ROWS *entier*  
Le nombre maximum de lignes qu'Amazon Redshift envoie dans une seule demande par lot pour un seul appel d' SageMaker IA. Uniquement prise en charge pour BYOM avec inférence à distance. Le nombre réel de lignes dans un lot dépend également de la taille d’entrée, mais il est inférieur ou égal à cette valeur. La valeur minimale pour ce paramètre est 1. La valeur maximale est `INT_MAX` ou 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 maximale est `INT_MAX` ou 2 147 483 647. 

Lorsque le modèle est déployé sur un SageMaker point de terminaison d' SageMaker IA, l'IA crée les informations du modèle dans Amazon Redshift. Il effectue ensuite une inférence à travers la fonction externe. Vous pouvez utiliser la commande SHOW MODEL pour afficher les informations de modèle sur votre cluster Amazon Redshift.

#### CREATE MODEL pour les notes d’utilisation d’inférence distante
<a name="r_remote-create-model-usage-notes"></a>

Avant d’utiliser CREATE MODLE pour l’inférence distante, tenez compte des éléments suivants :
+ Le point de terminaison doit être hébergé par le même AWS compte que celui qui possède le cluster Amazon Redshift.
+ Assurez-vous que le point de terminaison Amazon SageMaker AI dispose de suffisamment de ressources pour prendre en charge les appels d'inférence d'Amazon Redshift ou que le point de terminaison SageMaker Amazon AI peut être automatiquement redimensionné.
+ Si vous n'utilisez pas le type de `SUPER` données comme entrée, le modèle accepte uniquement les entrées au format de valeurs séparées par des virgules (CSV), ce qui correspond à un type de contenu `text/CSV` dans SageMaker AI.
+ Si vous n’utilisez pas le type de données `SUPER` en entrée, la sortie des modèles est une valeur unique du type spécifié lors de la création de la fonction. La sortie est au format de valeurs séparées par des virgules (CSV) via un type de `text/CSV` contenu AI. SageMaker `VARCHAR`les types de données ne peuvent pas être entre guillemets et ne peuvent pas contenir de nouvelles lignes, et chaque sortie doit figurer sur une nouvelle ligne.
+ Les modèles acceptent les valeurs NULL comme chaînes vides.
+ Lorsque les données d’entrée sont de type `SUPER`, un seul argument d’entrée est pris en charge. 
+ Lorsque les données d’entrée sont de type `SUPER`, le type de données renvoyé doit également être `SUPER`. 
+ MAX\$1BATCH\$1ROWS est requis lorsque les données en entrée et en sortie sont de type SUPER. 
+ Lorsque les données d’entrée sont de type `SUPER`, le type de contenu du point de terminaison est soit `application/json` lorsque MAX\$1BATCH\$1ROWS est `1`, soit `application/jsonlines` dans tous les autres cas. 
+ Lorsque les données de sortie sont de type `SUPER`, le type d’acceptation du point de terminaison est soit `application/json` lorsque MAX\$1BATCH\$1ROWS est `1`, soit `application/jsonlines` dans tous les autres cas. 

##### Exemple de CREATE MODEL pour l’inférence distante
<a name="r_remote-create-model-example"></a>

L'exemple suivant crée un modèle qui utilise un point de terminaison d' SageMaker IA pour effectuer des prédictions. Assurez-vous que le point de terminaison est en cours d’exécution pour effectuer des prédictions et spécifiez son nom dans la commande CREATE MODEL.

```
CREATE MODEL remote_customer_churn
FUNCTION remote_fn_customer_churn_predict (varchar, int, float, float)
RETURNS int
SAGEMAKER 'customer-churn-endpoint'
IAM_ROLE default;
```

 L'exemple suivant crée un BYOM avec inférence à distance avec un grand modèle de langage (LLM). LLMs hébergés sur Amazon SageMaker AI Jumpstart, ils acceptent et renvoient le type de `application/json` contenu et ne prennent en charge qu'un seul JSON par appel. Les données d’entrée et de sortie doivent être de type `SUPER` et MAX\$1BATCH\$1ROWS doit être défini sur 1. 

```
CREATE MODEL sample_super_data_model
FUNCTION sample_super_data_model_predict(super)
RETURNS super
SAGEMAKER 'sample_super_data_model_endpoint'
IAM_ROLE default
SETTINGS (MAX_BATCH_ROWS 1);
```

## CREATE MODEL avec K-MEANS
<a name="r_k-means_create_model"></a>

Amazon Redshift prend en charge l’algorithme K-Means qui regroupe des données non étiquetées. Cet algorithme résout les problèmes de mise en cluster lorsque vous souhaitez découvrir des regroupements dans les données. Les données non classifiées sont regroupées et partitionnées en fonction de leurs similitudes et de leurs différences. 

### CREATE MODEL avec la syntaxe K-MEANS
<a name="r_k-means-create-model-synposis"></a>

```
CREATE MODEL model_name
FROM { table_name | ( select_statement ) }
FUNCTION function_name
IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>' }
AUTO OFF
MODEL_TYPE KMEANS
PREPROCESSORS 'string'
HYPERPARAMETERS DEFAULT EXCEPT ( K 'val' [, ...] )
SETTINGS (
  S3_BUCKET 'amzn-s3-demo-bucket',
  KMS_KEY_ID 'kms_string', |
    -- optional
  S3_GARBAGE_COLLECT on / off, |
    -- optional
  MAX_CELLS integer, |
    -- optional
  MAX_RUNTIME integer
    -- optional);
```

### CREATE MODEL avec les paramètres K-MEANS
<a name="r_k-means-create-model-parameters"></a>

 *AUTO OFF*   
Désactive la détection automatique CREATE MODEL du préprocesseur, de l’algorithme et de la sélection d’hyperparamètres.

MODEL\$1TYPE KMEANS  
Permet de spécifier l’utilisation de KMEANS pour entraîner le modèle. 

PREPROCESSORS ’string’  
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 prend en charge 3 préprocesseurs K-Means, à savoir StandardScaler, et. MinMax NumericPassthrough Si vous ne souhaitez appliquer aucun prétraitement pour K-Means, choisissez-le NumericPassthrough explicitement en tant que transformateur. Pour plus d’informations sur les transformateurs pris en charge, consultez [CREATE MODEL avec paramètres de guide de l’utilisateur](#r_user_guidance-create-model-parameters).  
L’algorithme K-Means utilise la distance euclidienne pour calculer la similarité. Le prétraitement des données garantit que les fonctions du modèle restent à la même échelle et produisent des résultats fiables.

HYPERPARAMETERS DEFAULT EXCEPT ( K ’val’ [, ...] )  
Spécifie si les paramètres K-Means sont utilisés. Vous devez spécifier le paramètre `K` lors de l’utilisation de l’algorithme K-Means. Pour plus d'informations, consultez [K-Means Hyperparameters](https://docs.aws.amazon.com/sagemaker/latest/dg/k-means-api-config.html) dans le manuel *Amazon SageMaker AI* Developer Guide

L’exemple suivant prépare des données pour K-Means.

```
CREATE MODEL customers_clusters
FROM customers
FUNCTION customers_cluster
IAM_ROLE default
AUTO OFF
MODEL_TYPE KMEANS
PREPROCESSORS '[
{
  "ColumnSet": [ "*" ],
  "Transformers": [ "NumericPassthrough" ]
}
]'
HYPERPARAMETERS DEFAULT EXCEPT ( K '5' )
SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket');

select customer_id, customers_cluster(...) from customers;
customer_id | customers_cluster
--------------------
12345            1
12346            2
12347            4
12348
```

## CREATE MODEL avec Forecast
<a name="r_forecast_model"></a>

Les modèles de prévisions de Redshift ML utilisent Amazon Forecast pour créer des prévisions chronologiques précises. Cela vous permet d’utiliser des données historiques sur une période donnée pour faire des prédictions sur des événements futurs. Les cas d’utilisation courants d’Amazon Forecast incluent l’utilisation des données sur les produits vendus au détail pour déterminer le prix des stocks, les données de quantité de fabrication pour prédire la quantité à commander d’un article et les données de trafic Web pour prévoir le volume de trafic qu’un serveur Web est susceptible de recevoir. 

 Les [limites de quota d’Amazon Forecast](https://docs.aws.amazon.com/forecast/latest/dg/limits.html) sont appliquées dans les modèles de prévisions Amazon Redshift. Par exemple, le nombre maximum de prévisions est de 100, mais il est ajustable. La suppression d’un modèle de prévision ne supprime pas automatiquement les ressources associées dans Amazon Forecast. Si vous supprimez un cluster Redshift, tous les modèles associés sont également supprimés. 

Notez que les modèles de prévisions ne sont actuellement disponibles que dans les régions suivantes :
+ USA Est (Ohio) (us-east-2)
+ USA Est (Virginie du Nord) (us-east-1)
+ USA Ouest (Oregon) (us-west-2)
+ Asie-Pacifique (Mumbai) (ap-south-1)
+ Asie-Pacifique (Séoul) (ap-northeast-2)
+ Asie-Pacifique (Singapour) (ap-southeast-1)
+ Asie-Pacifique (Sydney) (ap-southeast-2)
+ Asie-Pacifique (Tokyo) (ap-northeast-1)
+ Europe (Francfort) (eu-central-1)
+ Europe (Irlande) (eu-west-1)

### CREATE MODEL avec une syntaxe Forecast
<a name="r_forecast_model-synopsis"></a>

```
CREATE [ OR REPLACE ] MODEL forecast_model_name 
FROM { table_name | ( select_query ) } 
TARGET column_name
IAM_ROLE { default | 'arn:aws:iam::<account-id>:role/<role-name>'} 
AUTO ON
MODEL_TYPE FORECAST
SETTINGS (
  S3_BUCKET 'amzn-s3-demo-bucket',
  HORIZON integer,
  FREQUENCY forecast_frequency
  [PERCENTILES '0.1', '0.5', '0.9']
  )
```

### CREATE MODEL avec des paramètres Forecast
<a name="r_forecast_model-parameters"></a>

 *forecast\$1model\$1name*   
Nom du modèle. Le nom du modèle doit être unique.

FROM \$1 table\$1name \$1 ( select\$1query ) \$1  
Le table\$1name ou la requête qui spécifie les données d’entraînement. Il peut s’agir d’une table existante dans le système ou d’une requête SELECT compatible avec Amazon RedShift, placée entre parenthèses. Le résultat de la table ou de la requête doit comporter au moins trois colonnes : (1) une colonne varchar qui indique le nom de la série chronologique. Chaque jeu de données peut comporter plusieurs séries chronologiques ; (2) une colonne date/heure ; et (3) la colonne cible pour les prévisions. Cette colonne cible doit être un nombre entier ou à virgule flottante. Si vous fournissez un jeu de données comportant plus de trois colonnes, Amazon Redshift part du principe que toutes les colonnes supplémentaires font partie d’une série chronologique associée. Notez que les séries chronologiques associées doivent être de type nombre entier ou à virgule flottante. Pour plus d’informations sur les séries chronologiques associées, consultez [Utilisation de jeux de données de séries chronologiques associés](https://docs.aws.amazon.com/forecast/latest/dg/related-time-series-datasets.html).

TARGET column\$1name  
Nom de la colonne qui devient la cible de la prédiction. La colonne doit exister dans la clause FROM.

IAM\$1ROLE \$1 default \$1 ’arn:aws:iam::<account-id>:role/<role-name>’ \$1  
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  
Active la détection automatique CREATE MODEL de l’algorithme et de la sélection d’hyperparamètres. Si vous spécifiez « on » lors de la création d'un modèle de prévision AutoPredictor, vous devez utiliser un modèle Forecast, dans lequel Amazon Forecast applique les combinaisons optimales d'algorithmes à chaque série chronologique de votre ensemble de données.

MODEL\$1TYPE FORECAST  
Permet de spécifier l’utilisation de FORECAST pour entraîner le modèle.

S3\$1BUCKET ’amzn-s3-demo-bucket’  
Nom du compartiment Amazon Simple Storage Service que vous avez créé précédemment et qui est utilisé pour partager des données d’entraînement et des artefacts entre Amazon Redshift et Amazon Forecast. Amazon Redshift crée un sous-dossier dans ce compartiment avant de décharger les données d’entraînement. Lorsque l’entraînement est terminé, Amazon Redshift supprime le sous-dossier créé et son contenu.

Entier HORIZON  
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.

FREQUENCY forecast\$1frequency  
Indique le degré de granularité que vous souhaitez pour les prévisions. Les options disponibles sont `Y | M | W | D | H | 30min | 15min | 10min | 5min | 1min`. Obligatoire si vous entraînez un modèle de prévision.

Chaîne PERCENTILES  
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.

L’exemple suivant montre comment créer un modèle de prévision simple.

```
CREATE MODEL forecast_example
FROM forecast_electricity_
TARGET target 
IAM_ROLE 'arn:aws:iam::<account-id>:role/<role-name>'
AUTO ON 
MODEL_TYPE FORECAST
SETTINGS (S3_BUCKET 'amzn-s3-demo-bucket',
          HORIZON 24,
          FREQUENCY 'H',
          PERCENTILES '0.25,0.50,0.75,mean',
          S3_GARBAGE_COLLECT OFF);
```

Après avoir créé le modèle de prévision, vous pouvez créer une nouvelle table contenant les données de prédiction.

```
CREATE TABLE forecast_model_results as SELECT Forecast(forecast_example)
```

Vous pouvez ensuite interroger la nouvelle table pour obtenir des prédictions.

```
SELECT * FROM forecast_model_results
```