

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.

# Création de tâches de régression ou de classification pour les données tabulaires à l’aide de l’API AutoML
<a name="autopilot-automate-model-development-create-experiment"></a>

Vous pouvez créer une tâche Autopilot de régression ou de classification pour les données tabulaires par programmation en appelant l’action d’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) dans n’importe quel langage pris en charge par Autopilot ou par l’ AWS CLI. Vous trouverez ci-dessous un ensemble de paramètres de demande d’entrée obligatoires ou facultatifs pour l’action d’API `CreateAutoMLJobV2`. Vous pouvez trouver les informations alternatives pour la version précédente de cette action, `CreateAutoMLJob`. Toutefois, nous vous recommandons d'utiliser `CreateAutoMLJobV2`. 

Pour en savoir plus sur la façon dont cette action d’API se traduit par une fonction dans le langage de votre choix, consultez la section [Voir aussi](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) de `CreateAutoMLJobV2` et choisissez un kit SDK. À titre d'exemple, pour les utilisateurs de Python, consultez la syntaxe complète des demandes de `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` dans le kit AWS SDK pour Python (Boto3).

**Note**  
[CreateAutoMLJobLes versions [DescribeAutoMLJobV2 et V2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) sont de nouvelles versions de [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)et [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)offrent une rétrocompatibilité.](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)  
Nous vous recommandons d’utiliser `CreateAutoMLJobV2`. `CreateAutoMLJobV2` peut gérer des types de problèmes tabulaires identiques à ceux de sa version précédente `CreateAutoMLJob`, ainsi que des types de problèmes non tabulaires, tels que la classification d’images ou de texte, et les prédictions de séries temporelles.

Au minimum, toutes les expériences sur des données tabulaires nécessitent de spécifier le nom de l’expérience, de fournir des emplacements pour les données d’entrée et de sortie, et de spécifier les données cibles à prédire. Facultatif : Vous pouvez également spécifier le type de problème que vous souhaitez résoudre (régression, classification, classification multi-classes), choisir votre stratégie de modélisation (*ensembles empilés* ou *optimisation des hyperparamètres*), sélectionner la liste des algorithmes utilisés par la tâche Autopilot pour entraîner les données, etc. 

 Après l’exécution de l’expérience, vous pouvez comparer les essais et examiner en détail les étapes de prétraitement, les algorithmes et les plages d’hyperparamètres de chaque modèle. Vous avez également la possibilité de télécharger leurs rapports d’[explicabilité](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html) et de [performance](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html). Utilisez les [blocs-notes](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html ) fournis pour voir les résultats de l’exploration automatique des données ou les définitions de modèles candidats.

Trouvez les instructions indiquant comment migrer `CreateAutoMLJob` vers `CreateAutoMLJobV2` dans [Migrer de a CreateAuto MLJob vers la CreateAuto MLJob V2](#autopilot-create-experiment-api-migrate-v1-v2).

## Paramètres requis
<a name="autopilot-create-experiment-api-required-params"></a>

------
#### [ CreateAutoMLJobV2 ]

Lorsque vous appelez `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` pour créer une expérience Autopilot pour des données tabulaires, vous devez fournir les valeurs suivantes :
+ Un paramètre `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` pour spécifier le nom de votre tâche.
+ Au moins un paramètre `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` dans `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` pour spécifier votre source de données.
+ À la fois une métrique `[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobObjective)` et le type de problème d’apprentissage supervisé que vous avez choisi (classification binaire, classification multi-classes, régression) dans `AutoMLProblemTypeConfig`, ou aucun des deux. Pour les données tabulaires, vous devez choisir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` comme type de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`. Vous définissez le problème d’apprentissage supervisé dans l’attribut `ProblemType` de `TabularJobConfig`.
+ Un élément `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` pour spécifier le chemin de sortie Amazon S3 pour stocker les artefacts de votre tâche AutoML.
+ Un élément `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` pour spécifier l'ARN du rôle utilisé pour accéder à vos données.

------
#### [ CreateAutoMLJob ]

Lorsque vous appelez `[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)` pour créer une expérience AutoML, vous devez fournir les quatre valeurs suivantes :
+ Un paramètre `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobName)` pour spécifier le nom de votre tâche.
+ Au moins un paramètre `[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)` dans `[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)` pour spécifier votre source de données.
+ Un élément `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` pour spécifier le chemin de sortie Amazon S3 pour stocker les artefacts de votre tâche AutoML.
+ Un élément `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` pour spécifier l'ARN du rôle utilisé pour accéder à vos données.

------

Tous les autres paramètres sont facultatifs.

## Paramètres facultatifs
<a name="autopilot-create-experiment-api-optional-params"></a>

Les sections suivantes fournissent des détails sur certains paramètres facultatifs que vous pouvez transmettre à votre action d’API `CreateAutoMLJobV2` lorsque vous utilisez des données tabulaires. Vous pouvez trouver les informations alternatives pour la version précédente de cette action, `CreateAutoMLJob`. Toutefois, nous vous recommandons d'utiliser `CreateAutoMLJobV2`.

### Comment définir le mode d’entraînement d’une tâche AutoML
<a name="autopilot-set-training-mode"></a>

Pour les données tabulaires, l’ensemble d’algorithmes exécutés sur vos données pour entraîner vos modèles candidats dépend de votre stratégie de modélisation (`ENSEMBLING` ou `HYPERPARAMETER_TUNING`). Vous trouverez ci-dessous des informations sur la façon de définir ce mode d’entraînement.

Si vous laissez le champ vide (ou `null`), le `Mode` est déduit en fonction de la taille de votre jeu de données.

Pour en savoir plus sur les méthodes d’entraînement d’Autopilot par *ensembles empilés* et par *optimisation des hyperparamètres*, consultez [Modes d’entraînement et prise en charge des algorithmes](autopilot-model-support-validation.md).

------
#### [ CreateAutoMLJobV2 ]

Pour les données tabulaires, vous devez choisir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` comme type de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Vous pouvez définir la [méthode d’entraînement](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html) d’une tâche AutoML V2 à l’aide du paramètre `[TabularJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

Vous pouvez définir la [méthode d’entraînement](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html) d’une tâche AutoML à l’aide du paramètre `[AutoMLJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-Mode)`.

------

### Comment sélectionner des caractéristiques et des algorithmes pour l’entraînement d’une tâche AutoML
<a name="autopilot-feature-selection"></a>

#### Sélection des fonctionnalités
<a name="autopilot-automl-job-feature-selection-api"></a>

Autopilot fournit des étapes de prétraitement automatique des données, notamment la sélection et l’extraction des caractéristiques. Toutefois, vous pouvez fournir manuellement les caractéristiques à utiliser lors de l’entraînement avec l’attribut `FeatureSpecificatioS3Uri`.

Les fonctionnalités sélectionnées doivent être contenues dans un fichier JSON au format suivant :

```
{ "FeatureAttributeNames":["col1", "col2", ...] }
```

Les valeurs répertoriées dans `["col1", "col2", ...]` ne sont pas sensibles à la casse. Il doit s’agir d’une liste de chaînes contenant des valeurs uniques qui sont des sous-ensembles des noms de colonnes dans les données d’entrée.

**Note**  
La liste des colonnes fournies en tant que fonctionnalités ne peut pas inclure la colonne cible.

------
#### [ CreateAutoMLJobV2 ]

Pour les données tabulaires, vous devez choisir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` comme type de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Vous pouvez définir l’URL sur les caractéristiques que vous avez sélectionnées à l’aide du paramètre `[TabularJobConfig.FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

Vous pouvez définir l'`FeatureSpecificatioS3Uri`attribut [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) dans l'[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)API au format suivant :

```
{
    "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-FeatureSpecificationS3Uri)":"string"
            },
       }
  }
```

------

#### Sélection des algorithmes
<a name="autopilot-automl-job-algorithms-selection-api"></a>

Par défaut, votre tâche Autopilot exécute une liste prédéfinie d’algorithmes sur votre jeu de données afin d’entraîner les modèles candidats. La liste des algorithmes dépend du mode d’entraînement (`ENSEMBLING` ou `HYPERPARAMETER_TUNING`) utilisé par la tâche.

Vous pouvez fournir un sous-ensemble de la sélection par défaut d’algorithmes.

------
#### [ CreateAutoMLJobV2 ]

Pour les données tabulaires, vous devez choisir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` comme type de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Vous pouvez spécifier un tableau de sélectionnés `AutoMLAlgorithms` dans l'`AlgorithmsConfig`attribut de [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html).

Voici un exemple d'attribut `AlgorithmsConfig` répertoriant exactement trois algorithmes (« xgboost », « fastai », « catboost ») dans son champ `AutoMLAlgorithms` pour le mode d'entraînement ensembliste.

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": {
          "[Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": "ENSEMBLING",
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["xgboost", "fastai", "catboost"]}
            ]
         },
       },
     },
  }
```

------
#### [ CreateAutoMLJob ]

Vous pouvez spécifier un tableau de sélectionnés `AutoMLAlgorithms` dans l'`AlgorithmsConfig`attribut [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html).

Voici un exemple d'attribut `AlgorithmsConfig` répertoriant exactement trois algorithmes (« xgboost », « fastai », « catboost ») dans son champ `AutoMLAlgorithms` pour le mode d'entraînement ensembliste.

```
{
   "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)":["xgboost", "fastai", "catboost"]}
            ]
         },
     "Mode": "ENSEMBLING" 
  }
```

------

Pour obtenir la liste des algorithmes disponibles par `Mode` d’entraînement, consultez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms). Pour plus d'informations sur chaque algorithme, consultez [Modes d’entraînement et prise en charge des algorithmes](autopilot-model-support-validation.md).

### Comment spécifier les jeux de données d’entraînement et de validation d’une tâche AutoML
<a name="autopilot-data-sources-training-or-validation"></a>

Vous pouvez fournir votre propre jeu de données de validation et un rapport de répartition des données personnalisé, ou laisser Autopilot répartir automatiquement le jeu de données.

------
#### [ CreateAutoMLJobV2 ]

Chaque [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)objet (voir le paramètre obligatoire [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)) possède un`ChannelType`, qui peut être défini sur l'une `training` ou l'autre des `validation` valeurs spécifiant la manière dont les données doivent être utilisées lors de la création d'un modèle d'apprentissage automatique. Au moins une source de données doit être fournie et deux sources de données maximum sont autorisées : une pour les données d'entraînement et l'autre pour les données de validation.

Le fractionnement des données en jeux de données d'entraînement et de validation varie selon que vous disposiez d'une ou de deux sources de données.
+ Si vous n'avez qu'**une source de données**, `ChannelType` est défini sur `training` par défaut et doit avoir cette valeur.
  + Si la valeur `ValidationFraction` de [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) n'est pas définie, 0,2 (20 %) des données de cette source sont utilisées pour la validation par défaut. 
  + Si `ValidationFraction` est défini sur une valeur comprise entre 0 et 1, le jeu de données est divisé en fonction de la valeur spécifiée, où la valeur spécifie la fraction du jeu de données utilisé pour la validation.
+ Si vous disposez de **deux sources de données**, le `ChannelType` de l'un des objets `AutoMLJobChannel` doit être défini sur `training` (valeur par défaut). Le `ChannelType` de l'autre source de données doit être défini sur `validation`. Les deux sources de données doivent avoir le même format, CSV ou Parquet, et le même schéma. Vous ne devez pas définir la valeur de `ValidationFraction` dans ce cas, car toutes les données de chaque source sont utilisées à des fins d'entraînement ou de validation. La définition de cette valeur provoque une erreur.

------
#### [ CreateAutoMLJob ]

Chaque [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)objet (voir le paramètre requis [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)) possède un`ChannelType`, qui peut être défini sur l'une `training` ou l'autre des `validation` valeurs spécifiant la manière dont les données doivent être utilisées lors de la création d'un modèle d'apprentissage automatique. Au moins une source de données doit être fournie et deux sources de données maximum sont autorisées : une pour les données d'entraînement et l'autre pour les données de validation.

Le fractionnement des données en jeux de données d'entraînement et de validation varie selon que vous disposiez d'une ou de deux sources de données.
+ Si vous n'avez qu'**une source de données**, `ChannelType` est défini sur `training` par défaut et doit avoir cette valeur.
  + Si la valeur `ValidationFraction` de [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) n'est pas définie, 0,2 (20 %) des données de cette source sont utilisées pour la validation par défaut. 
  + Si `ValidationFraction` est défini sur une valeur comprise entre 0 et 1, le jeu de données est divisé en fonction de la valeur spécifiée, où la valeur spécifie la fraction du jeu de données utilisé pour la validation.
+ Si vous disposez de **deux sources de données**, le `ChannelType` de l'un des objets `AutoMLChannel` doit être défini sur `training` (valeur par défaut). Le `ChannelType` de l'autre source de données doit être défini sur `validation`. Les deux sources de données doivent avoir le même format, CSV ou Parquet, et le même schéma. Vous ne devez pas définir la valeur de `ValidationFraction` dans ce cas, car toutes les données de chaque source sont utilisées à des fins d'entraînement ou de validation. La définition de cette valeur provoque une erreur.

------

Pour en savoir plus sur la répartition et la validation croisée dans Autopilot, consultez [Validation croisée dans Autopilot](autopilot-metrics-validation.md#autopilot-cross-validation).

### Comment définir le type de problème d’une tâche AutoML
<a name="autopilot-set-problem-type-api"></a>

------
#### [ CreateAutoMLJobV2 ]

Pour les données tabulaires, vous devez choisir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` comme type de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Vous pouvez également spécifier le type de problème d’apprentissage supervisé (classification binaire, classification multi-classes, régression) disponible pour les modèles candidats de votre tâche AutoML V2 à l’aide du paramètre `[TabularJobConfig.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

Vous pouvez définir le [type de problème](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types) sur une tâche AutoML avec le paramètre `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`. Cela limite le type de prétraitement et les algorithmes essayés par Autopilot. Une fois la tâche terminée, si vous aviez défini l’élément `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`, l’élément `[ResolvedAttribute.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)` correspond au `ProblemType` que vous avez défini. Si vous le laissez vide (ou `null`), le `ProblemType` est déduit à votre place. 

------

**Note**  
Dans certains cas, lorsque Autopilot ne peut pas inférer le `ProblemType` avec une fiabilité suffisante, vous devez fournir cette valeur pour que la tâche réussisse.

### Comment ajouter des poids d’échantillons à une tâche AutoML
<a name="autopilot-add-sample-weights-api"></a>

Vous pouvez ajouter une colonne de poids d’échantillons à votre jeu de données tabulaire, puis la transmettre à votre tâche AutoML pour demander à ce que les lignes du jeu de données soient pondérées pendant l’entraînement et l’évaluation.

La prise en charge des poids d’échantillons est disponible en [mode ensembliste](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode) uniquement. Vos poids doivent être numériques et non négatifs. Les points de données sans valeur de poids ou avec une valeur de poids non valide sont exclus. Pour plus d’informations sur les métriques d’objectif disponibles, consultez [Métriques pondérées Autopilot](autopilot-metrics-validation.md#autopilot-weighted-metrics).

------
#### [ CreateAutoMLJobV2 ]

Pour les données tabulaires, vous devez choisir `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` comme type de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Pour définir les poids d'échantillon lors de la création d'une expérience (voir [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)), vous pouvez transmettre le nom de votre colonne de poids d'échantillon dans l'`SampleWeightAttributeName`attribut de l'`TabularJobConfig`objet. Cela garantit que votre métrique d'objectif utilisera les poids pour l'entraînement, l'évaluation et la sélection des modèles candidats.

------
#### [ CreateAutoMLJob ]

Pour définir les poids d'échantillon lors de la création d'une expérience (voir [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)), vous pouvez transmettre le nom de votre colonne de poids d'échantillon dans l'`SampleWeightAttributeName`attribut de l'MLChannelobjet [Auto](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html). Cela garantit que votre métrique d'objectif utilisera les poids pour l'entraînement, l'évaluation et la sélection des modèles candidats.

------

### Comment configurer AutoML afin de lancer une tâche distante sur EMR sans serveur pour des jeux de données volumineux
<a name="autopilot-set-emr-serverless-api-tabular"></a>

Vous pouvez configurer votre tâche AutoML V2 afin de lancer automatiquement une tâche distante sur Amazon EMR sans serveur lorsque des ressources de calcul supplémentaires sont nécessaires pour traiter des jeux de données volumineux. Grâce à une transition fluide vers EMR sans serveur lorsque cela est nécessaire, la tâche AutoML peut gérer des jeux de données qui dépasseraient autrement les ressources initialement provisionnées, sans aucune intervention manuelle de votre part. EMR sans serveur est disponible pour les types de problèmes de données tabulaires et de séries temporelles. Nous recommandons de configurer cette option pour les jeux de données tabulaires de plus de 5 Go.

Pour permettre à votre tâche AutoML V2 de basculer automatiquement vers EMR sans serveur pour les jeux de données volumineux, vous devez fournir un objet `EmrServerlessComputeConfig`, comprenant un champ `ExecutionRoleARN`, à la classe `AutoMLComputeConfig` de la demande d’entrée de la tâche AutoML V2.

`ExecutionRoleARN` est l’ARN du rôle IAM octroyant à la tâche AutoML V2 les autorisations nécessaires pour exécuter des tâches EMR sans serveur.

Ce rôle doit avoir la relation d’approbation suivante :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Et octroyer les autorisations pour :
+ créer, répertorier et mettre à jour des applications EMR sans serveur ;
+ démarrer, répertorier, obtenir ou annuler des tâches exécutées sur une application EMR sans serveur ;
+ baliser les ressources EMR sans serveur ;
+ transmettre un rôle IAM au service EMR sans serveur pour l’exécution.

  En octroyant l’autorisation `iam:PassRole`, la tâche AutoML V2 peut assumer temporairement le rôle `EMRServerlessRuntimeRole-*` et le transmettre au service EMR sans serveur. Il s'agit des rôles IAM utilisés par les environnements d'exécution de tâches EMR sans serveur pour accéder à AWS d'autres services et ressources nécessaires pendant l'exécution, tels qu'Amazon S3 pour l'accès aux données, pour la journalisation CloudWatch , l'accès au catalogue de données ou à AWS Glue d'autres services en fonction de vos exigences en matière de charge de travail.

  Consultez [Rôles d’exécution des tâches pour Amazon EMR sans serveur](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) pour plus de détails sur les autorisations associées à ces rôles.

La politique IAM définie dans le document JSON fourni accorde les autorisations suivantes :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

## Migrer de a CreateAuto MLJob vers la CreateAuto MLJob V2
<a name="autopilot-create-experiment-api-migrate-v1-v2"></a>

Nous recommandons aux utilisateurs de l’action `CreateAutoMLJob` de migrer vers l’action `CreateAutoMLJobV2`.

Cette section explique les différences entre les paramètres d'entrée [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#API_CreateAutoMLJob_RequestSyntax)et [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax) en mettant en évidence les changements de position, de nom ou de structure des objets et des attributs de la demande d'entrée entre les deux versions.
+ **Attributs de demande qui n’ont pas changé entre les versions.**

  ```
  {
     "AutoMLJobName": "string",
     "AutoMLJobObjective": { 
        "MetricName": "string"
     },
     "ModelDeployConfig": { 
        "AutoGenerateEndpointName": boolean,
        "EndpointName": "string"
     },
     "OutputDataConfig": { 
        "KmsKeyId": "string",
        "S3OutputPath": "string"
     },
     "RoleArn": "string",
     "Tags": [ 
        { 
           "Key": "string",
           "Value": "string"
        }
     ]
  }
  ```
+ **Attributs de demande qui ont changé de position et de structure entre les versions.**

  Les attributs suivants ont changé de position : `DataSplitConfig`, `Security Config`, `CompletionCriteria`, `Mode`, `FeatureSpecificationS3Uri`, `SampleWeightAttributeName`, `TargetAttributeName`.

------
#### [ CreateAutoMLJob ]

  ```
  { 
      "AutoMLJobConfig": { 
          "Mode": "string",
          "CompletionCriteria": { 
              "MaxAutoMLJobRuntimeInSeconds": number,
              "MaxCandidates": number,
              "MaxRuntimePerTrainingJobInSeconds": number
          },
          "DataSplitConfig": { 
              "ValidationFraction": number
          },
          "SecurityConfig": { 
              "EnableInterContainerTrafficEncryption": boolean,
              "VolumeKmsKeyId": "string",
              "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
              }
          },
          "CandidateGenerationConfig": { 
              "FeatureSpecificationS3Uri": "string"
          }
      },
      "GenerateCandidateDefinitionsOnly": boolean,
      "ProblemType": "string"
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {       
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "Mode": "string",
              "ProblemType": "string",
              "GenerateCandidateDefinitionsOnly": boolean,
              "CompletionCriteria": { 
                  "MaxAutoMLJobRuntimeInSeconds": number,
                  "MaxCandidates": number,
                  "MaxRuntimePerTrainingJobInSeconds": number
              },
              "FeatureSpecificationS3Uri": "string",
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      },
      "DataSplitConfig": { 
          "ValidationFraction": number
      },
      "SecurityConfig": { 
          "EnableInterContainerTrafficEncryption": boolean,
          "VolumeKmsKeyId": "string",
          "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
          }
      }
  }
  ```

------
+ **Les attributs suivants ont changé de position et de structure entre les versions.**

  Le JSON suivant illustre le mode [Auto MLJob Config. CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)de type [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) déplacé vers [Auto MLProblemTypeConfig. TabularJobConfig. CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)de type [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)V2.

------
#### [ CreateAutoMLJob ]

  ```
  {
     "AutoMLJobConfig": { 
        "CandidateGenerationConfig": { 
           "AlgorithmsConfig": [ 
              { 
                 "AutoMLAlgorithms": [ "string" ]
              }
           ],
           "FeatureSpecificationS3Uri": "string"
        }
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "CandidateGenerationConfig": { 
                  "AlgorithmsConfig": [ 
                      { 
                      "AutoMLAlgorithms": [ "string" ]
                      }
                  ],
              },
          }
      },
  }
  ```

------
+ **Attributs de demande dont le nom et la structure ont changé.**

  Le JSON suivant illustre comment [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)(un tableau de [Auto MLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)) est devenu [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) (un tableau de [MLJobcanaux automatiques](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)) dans la version V2. Notez que les attributs `SampleWeightAttributeName` et `TargetAttributeName` sortent de `InputDataConfig` et sont placés dans `AutoMLProblemTypeConfig`.

------
#### [ CreateAutoMLJob ]

  ```
  {    
      "InputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              },
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      ]
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {    
      "AutoMLJobInputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              }
          }
      ]
  }
  ```

------

# Jeux de données et types de problèmes Autopilot
<a name="autopilot-datasets-problem-types"></a>

Pour des données tabulaires (c’est-à-dire des données dans lesquelles chaque colonne contient une caractéristique avec un type de données spécifique et où chaque ligne contient une observation), Autopilot vous permet de spécifier le type de problème d’apprentissage supervisé disponible pour les modèles candidats de la tâche AutoML, tel que la classification binaire ou la régression, ou de le détecter à votre place en fonction des données que vous fournissez. Autopilot prend également en charge plusieurs formats et types de données.

**Topics**
+ [Jeux de données, types de données et formats Autopilot](#autopilot-datasets)
+ [Types de problèmes Autopilot](#autopilot-problem-types)

## Jeux de données, types de données et formats Autopilot
<a name="autopilot-datasets"></a>

Autopilot prend en charge les données tabulaires sous forme de fichiers CSV ou Parquet : chaque colonne contient une fonctionnalité avec un type de données spécifique et chaque ligne contient une observation. Les propriétés de ces deux formats de fichiers diffèrent considérablement.
+ **CSV** (comma-separated-values) est un format de fichier basé sur des lignes qui stocke les données en texte clair lisible par l'homme. C'est un choix populaire pour l'échange de données car il est pris en charge par un large éventail d'applications.
+ **Parquet** est un format de fichier basé sur les colonnes dans lequel les données sont stockées et traitées plus efficacement que les formats de fichiers basés sur les lignes. Cela en fait une meilleure option pour les problèmes de big data.

Les **types de données** acceptés pour les colonnes incluent les types numériques, catégoriels et textuels, ainsi que les séries temporelles constituées de chaînes de nombres séparés par des virgules. Si Autopilot détecte qu’il traite des séquences de **séries temporelles**, il les traite par le biais de transformeurs de caractéristiques spécialisés fournis par la bibliothèque [tsfresh](https://tsfresh.readthedocs.io/en/latest/text/list_of_features.html). Cette bibliothèque prend la série temporelle en entrée et produit une caractéristique telle que la valeur absolue la plus élevée de la série temporelle ou des statistiques descriptives sur l’autocorrélation. Ces ressources générées sont ensuite utilisées comme entrées pour l’un des trois types de problèmes.

Le pilote automatique permet de créer des modèles d'apprentissage automatique sur de grands ensembles de données allant jusqu'à des centaines de. GBs Pour plus d’informations sur les limites des ressources par défaut des jeux de données d’entrée et sur la manière de les augmenter, consultez [Quotas Autopilot](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html).

## Types de problèmes Autopilot
<a name="autopilot-problem-types"></a>

Pour les données tabulaires, vous spécifiez également le type de problèmes d’apprentissage supervisé disponible pour les modèles candidats comme suit :

### Régression
<a name="autopilot-automate-model-development-problem-types-regression"></a>

La régression estime les valeurs d’une variable cible dépendante en fonction d’une ou de plusieurs autres variables ou attributs en corrélation avec elle. Exemple de prédiction des prix des maisons à l’aide de caractéristiques telles que le nombre de salles de bains et de chambres à coucher, la superficie de la maison et du jardin. L’analyse de régression peut créer un modèle qui prend en entrée une ou plusieurs de ces fonctions et prédit le prix d’une maison.

### Classification binaire
<a name="autopilot-automate-model-development-problem-types-binary-classification"></a>

La classification binaire est un type d’apprentissage supervisé qui assigne une personne à l’une des deux classes prédéfinies et mutuellement exclusives en fonction d’attributs. Elle est supervisée parce que les modèles sont entraînés à l’aide d’exemples dans lesquels les attributs sont fournis avec des objets correctement étiquetés. Exemple de classification binaire : diagnostic de maladie basé sur les résultats des tests de diagnostic.

### Classification multi-classes
<a name="autopilot-automate-model-development-problem-types-multiclass-classification"></a>

La classification multi-classes est un type d’apprentissage supervisé qui assigne une personne à une classe parmi plusieurs classes prédéfinies en fonction d’attributs. Elle est supervisée parce que les modèles sont entraînés à l’aide d’exemples dans lesquels les attributs sont fournis avec des objets correctement étiquetés. Exemple : la prédiction de la rubrique la plus pertinente pour un document texte. Un document peut être classé comme portant sur la religion, la stratégie ou les finances, ou sur une classe parmi plusieurs classes de sujets prédéfinis.

# Modes d’entraînement et prise en charge des algorithmes
<a name="autopilot-model-support-validation"></a>

Autopilot prend en charge différents modes et algorithmes d’entraînement pour résoudre les problèmes de machine learning, établir des rapports sur la qualité et les métriques d’objectif, et utiliser automatiquement la validation croisée, si nécessaire.

## Modes d’entraînement
<a name="autopilot-training-mode"></a>

SageMaker Le pilote automatique peut sélectionner automatiquement la méthode d'entraînement en fonction de la taille du jeu de données, ou vous pouvez la sélectionner manuellement. Les options sont les suivantes :
+ **Assemblage** — Le pilote automatique utilise la [AutoGluon](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html)bibliothèque pour entraîner plusieurs modèles de base. Pour trouver la meilleure combinaison pour votre jeu de données, le mode Assemblage exécute 10 essais avec différentes valeurs de modèle et de méta-paramètres. Autopilot combine ensuite ces modèles à l’aide d’une méthode ensembliste par empilement pour créer un modèle prédictif optimal. Pour obtenir la liste des algorithmes pris en charge par Autopilot en mode ensembliste pour les données tabulaires, consultez la section **Prise en charge des algorithmes** suivante.
+ **Hyperparameter optimization (HPO)** (Optimisation des hyperparamètres (HPO)) : Autopilot identifie la meilleure version d’un modèle en ajustant les hyperparamètres à l’aide de l’optimisation bayésienne ou de l’optimisation multifidélité tout en exécutant des tâches d’entraînement sur votre jeu de données. Le mode HPO sélectionne les algorithmes les plus pertinents pour votre jeu de données et la meilleure gamme d’hyperparamètres pour ajuster vos modèles. Pour ajuster vos modèles, le mode HPO exécute jusqu’à 100 essais (par défaut) afin de trouver les valeurs d’hyperparamètres optimales dans la plage sélectionnée. Si la taille de votre jeu de données est inférieure à 100 Mo, Autopilot utilise l’optimisation bayésienne. Autopilot choisit l’optimisation multifidélité si la taille de votre jeu de données est supérieure à 100 Mo.

  Dans le cadre de l’optimisation multifidélité, des métriques sont émises en continu à partir des conteneurs d’entraînement. Un essai dont les performances sont médiocres par rapport à une métrique objective sélectionnée est arrêté prématurément. Plus de ressources sont allouées à un essai dont les performances sont bonnes. 

  Pour obtenir la liste des algorithmes pris en charge par Autopilot en mode HPO, consultez la section **Prise en charge des algorithmes** suivante. 
+ **Auto** (Automatique) : Autopilot choisit automatiquement le mode Ensembling (Assemblage) ou le mode HPO en fonction de la taille de votre jeu de données. Si la taille de votre jeu de données est supérieure à 100 Mo, Autopilot choisit HPO. Dans le cas contraire, il choisit le mode Assemblage. Autopilot peut ne pas parvenir à lire la taille de votre jeu de données dans les cas suivants.
  + Si vous activez le mode cloud privé virtuel (VPC) pour une tâche AutoML, le compartiment S3 contenant le jeu de données autorise uniquement l’accès à partir du VPC.
  + L'entrée [S3 DataType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3DataType) de votre ensemble de données est un`ManifestFile`.
  + L’entrée [S3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3Uri) contient plus de 1 000 éléments.

  Si Autopilot ne parvient pas à lire la taille de votre jeu de données, il choisit par défaut le mode HPO.

**Note**  
Pour une exécution et des performances optimales, utilisez le mode d’entraînement par assemblage pour les jeux de données de moins de 100 Mo.

## Prise en charge des algorithmes
<a name="autopilot-algorithm-support"></a>

En **mode HPO**, Autopilot prend en charge les types d’algorithmes de machine learning suivants :
+  [Apprentissage linéaire](https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html) : algorithme d’apprentissage supervisé pouvant résoudre des problèmes de classification ou de régression.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) : un algorithme d'apprentissage supervisé qui tente de prédire avec précision une variable cible en combinant un ensemble d'estimations à partir d'un jeu de modèles plus simples et plus faibles.
+ Algorithme de deep learning : perceptron multicouche (MLP) et réseau neuronal artificiel à action directe. Cet algorithme traite les données qui ne sont pas linéairement séparables.

**Note**  
Vous ne devez pas nécessairement spécifier un algorithme pour résoudre votre problème de machine learning. Autopilot sélectionne automatiquement l’algorithme qu’il convient d’entraîner. 

En **mode ensembliste**, Autopilot prend en charge les types d’algorithmes de machine learning suivants :
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) : framework optimisé qui utilise des algorithmes arborescents avec renforcement de gradient. Cet algorithme utilise des arborescences qui se développent en largeur plutôt qu’en profondeur, et est hautement optimisé en termes de vitesse.
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)— Un framework qui utilise des algorithmes basés sur des arbres avec augmentation du gradient. Optimisé pour la gestion des variables catégorielles.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— Un framework qui utilise des algorithmes basés sur des arbres avec une augmentation du gradient qui augmente en profondeur plutôt qu'en largeur. 
+ [Random Forest](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) (Forêt aléatoire) : algorithme arborescent qui utilise plusieurs arbres de décision sur des sous-échantillons aléatoires des données avec remplacement. Les arbres sont divisés en nœuds optimaux à chaque niveau. La moyenne des décisions de chaque arbre est calculée afin d’éviter tout surajustement et d’améliorer les prédictions.
+ [Extra Trees](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) (Arbres supplémentaires) : algorithme arborescent qui utilise plusieurs arbres de décision sur l’ensemble du jeu de données. Les arbres sont divisés aléatoirement à chaque niveau. La moyenne des décisions de chaque arbre est calculée afin d’éviter tout surajustement et d’améliorer les prédictions. Les arbres supplémentaires ajoutent un degré de randomisation par rapport à l’algorithme Random Forest (Forêt aléatoire).
+ [Linear Models](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) (Modèles linéaires) : framework qui utilise une équation linéaire pour modéliser la relation entre deux variables dans les données observées.
+ Neural network torch (Réseau neuronal torch) : modèle de réseau neuronal implémenté à l’aide de [Pytorch](https://pytorch.org/).
+ Neural network fast.ai (Réseau neuronal fast.ai) : modèle de réseau neuronal implémenté à l’aide de [fast.ai](https://www.fast.ai/).

# Métriques et validation
<a name="autopilot-metrics-validation"></a>

Ce guide présente les métriques et les techniques de validation que vous pouvez utiliser pour mesurer les performances des modèles de machine learning. Amazon SageMaker Autopilot produit des métriques qui mesurent la qualité prédictive des modèles d'apprentissage automatique candidats. Les métriques calculées pour les candidats sont spécifiées à l'aide d'un tableau de types [MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html).

## Métriques Autopilot
<a name="autopilot-metrics"></a>

Voici la liste des noms des métriques qui sont actuellement disponibles pour mesurer les performances du modèle dans Autopilot.

**Note**  
Autopilot prend en charge les poids des échantillons. Pour en savoir plus sur les poids d’échantillons et les métriques d’objectif disponibles, consultez [Métriques pondérées Autopilot](#autopilot-weighted-metrics).

Les métriques suivantes sont disponibles.

**`Accuracy`**  
 Rapport entre le nombre d’éléments correctement classés et le nombre total d’éléments classés (correctement ou non). Elle est utilisée pour la classification binaire et multi-classes. La précision mesure à quel point les valeurs de classe prédites sont proches des valeurs réelles. Les valeurs des métriques de précision varient entre zéro (0) et un (1). La valeur 1 indique une précision parfaite et 0 indique une imprécision parfaite.

**`AUC`**  
 La métrique de zone sous la courbe (AUC, Area Under the Curve) est utilisée pour comparer et évaluer la classification binaire par des algorithmes qui renvoient des probabilités, comme la régression logistique. Pour mapper les probabilités en classifications, les probabilités sont comparées à une valeur de seuil.   
La courbe pertinente est la courbe caractéristique de fonctionnement du récepteur. Cette courbe représente le taux de vrais positifs (TPR, True Positive Rate) des prédictions (ou rappels) par rapport au taux de faux positifs (FPR, False Positive Rate) en fonction de la valeur seuil, au-dessus de laquelle une prédiction est considérée positive. L’augmentation du seuil entraîne moins de faux positifs, mais plus de faux négatifs.   
L’AUC est la zone située sous cette courbe caractéristique de fonctionnement du récepteur. Ainsi, l’AUC fournit une métrique regroupée des performances du modèle sur tous les seuils de classification possibles. Les scores de l’AUC varient entre 0 et 1. Un score de 1 indique une précision parfaite, et un score de la moitié (0,5) indique que la prédiction n’est pas meilleure qu’un classificateur aléatoire. 

**`BalancedAccuracy`**  
`BalancedAccuracy` est une métrique qui mesure la proportion des prédictions exactes dans l’ensemble des prédictions. Ce rapport est calculé après avoir normalisé les vrais positifs (TP) et les vrais négatifs (TN) par le nombre total de valeurs positives (P) et négatives (N). Il est utilisé à la fois dans la classification binaire et multiclasse et est défini comme suit : 0,5\$1 ((TP/P)\$1(TN/N)), avec des valeurs comprises entre 0 et 1. `BalancedAccuracy`fournit une meilleure mesure de précision lorsque le nombre de points positifs ou négatifs est très différent les uns des autres dans un ensemble de données déséquilibré, par exemple lorsque seulement 1 % des e-mails sont des spams. 

**`F1`**  
Le score `F1` représente la moyenne harmonique de la précision et du rappel, définie comme suit : F1 = 2 \$1 (précision \$1 rappel)/(précision \$1 rappel). Il est utilisé pour la classification binaire en classes traditionnellement appelées positives et négatives. On dit que les prédictions sont vraies lorsqu’elles correspondent à leur classe réelle (correcte) et fausse lorsqu’elles n’y correspondent pas.   
La précision désigne le rapport entre les prédictions positives réelles et toutes les prédictions positives. Elle inclut aussi les faux positifs d’un jeu de données. La précision mesure la qualité de la prédiction lorsqu’elle prédit la classe positive.   
Le rappel (ou sensibilité) désigne le rapport entre les prédictions positives réelles et toutes les instances positives réelles. Le rappel mesure le degré de précision avec lequel un modèle prédit les membres réels de la classe dans un jeu de données.   
Les scores de F1 varient entre 0 et 1. Un score de 1 indique la meilleure performance possible et 0 indique la pire.

**`F1macro`**  
Le score `F1macro` applique le score F1 aux problèmes de classification multi-classes. Pour ce faire, la précision et le rappel sont calculés, puis leur moyenne harmonique est utilisée pour calculer le score F1 pour chaque classe. Enfin, `F1macro` calcule la moyenne des scores individuels pour obtenir le score `F1macro`. Les scores `F1macro` varient entre 0 et 1. Un score de 1 indique la meilleure performance possible et 0 indique la pire.

**`InferenceLatency`**  
La latence d’inférence est le temps approximatif qui s’écoule entre la formulation d’une demande de prédiction modélisée et sa réception à partir d’un point de terminaison en temps réel sur lequel le modèle est déployé. Cette métrique est mesurée en secondes et n’est disponible qu’en mode Ensembling (Assemblage).

**`LogLoss`**  
La perte de journaux, également appelée perte d’entropie croisée, est une métrique utilisée pour évaluer la qualité des sorties de probabilité, plutôt que les sorties elles-mêmes. Elle est utilisée pour la classification binaire et multi-classes, ainsi que dans les réseaux neuronaux. C’est également la fonction de coût pour la régression logistique. La perte logistique est une métrique importante pour indiquer quand un modèle fait des prédictions incorrectes avec des probabilités élevées. Les valeurs vont de 0 à l’infini. Une valeur de 0 représente un modèle qui prédit parfaitement les données.

**`MAE`**  
L’erreur absolue moyenne (MAE, Mean Absolute Error) est une mesure de la moyenne des différences entre les valeurs prédites et les valeurs réelles, moyenne calculée sur toutes les valeurs. Elle est couramment utilisée dans l’analyse de régression pour comprendre l’erreur de prédiction modélisée. En cas de régression linéaire, la MAE représente la distance moyenne entre une ligne prédite et la valeur réelle. La MAE est définie comme la somme des erreurs absolues divisée par le nombre d’observations. Les valeurs sont comprises entre 0 et l’infini, les plus petits nombres indiquant une meilleure adéquation du modèle aux données.

**`MSE`**  
L’erreur quadratique moyenne (MSE, Mean Squarred Error) est la moyenne des différences au carré entre les valeurs prédites et réelles. Elle est utilisée pour la régression. Les valeurs MSE sont toujours positives. Plus un modèle est capable de prédire les valeurs réelles, plus la valeur MSE est faible.

**`Precision`**  
La précision mesure l’efficacité avec laquelle un algorithme prédit les vrais positifs (TP) parmi tous les positifs qu’il identifie. Elle est définie comme suit : précision = TP/(TP\$1FP), avec des valeurs allant de zéro (0) à un (1), et est utilisée dans la classification binaire. La précision est une métrique importante lorsque le coût d’un faux positif est élevé. Par exemple, le coût d’un faux positif est très élevé si le système de sécurité d’un avion est considéré à tort comme sûr pour le vol. Un faux positif (FP) reflète une prédiction positive qui est en fait négative dans les données.

**`PrecisionMacro`**  
La macro précision calcule la précision pour les problèmes de classification multi-classes. Pour ce faire, la précision de chaque classe et la moyenne des scores sont calculées pour obtenir la précision de plusieurs classes. Les scores `PrecisionMacro` sont compris entre zéro (0) et un (1). Des scores plus élevés reflètent la capacité du modèle à prédire les vrais positifs (TP) parmi tous les positifs qu’il identifie, en calculant la moyenne sur plusieurs classes.

**`R2`**  
R2, également connu sous le nom de coefficient de détermination, est utilisé en régression pour quantifier dans quelle mesure un modèle peut expliquer l’écart d’une variable dépendante. Les valeurs sont comprises entre un (1) et moins un (-1). Des nombres plus élevés indiquent une fraction plus importante de la variabilité expliquée. Des valeurs `R2` proches de zéro (0) indiquent qu’une faible part de la variable dépendante peut être expliquée par le modèle. Les valeurs négatives indiquent un mauvais ajustement et un dépassement du modèle par une fonction constante. Pour une régression linéaire, il s’agit d’une ligne horizontale.

**`Recall`**  
Le rappel évalue la capacité d’un algorithme à prédire correctement tous les vrais positifs (TP) dans un jeu de données. Un vrai positif est une prédiction positive qui correspond également à une valeur positive réelle dans les données. Le rappel est défini comme suit : rappel = TP/(TP\$1FN), avec des valeurs allant de 0 à 1. Des scores plus élevés reflètent une meilleure capacité du modèle à prédire les vrais positifs (TP) dans les données. Ils sont utilisés dans la classification binaire.   
Le rappel est important lors du dépistage du cancer, car c’est utilisé pour trouver tous les vrais positifs. Un faux négatif (FN) reflète une prédiction négative qui est en fait positive dans les données. Il est souvent insuffisant de mesurer uniquement le rappel, car prédire chaque sortie comme un vrai positif donnera un score de rappel parfait.

**`RecallMacro`**  
La métrique `RecallMacro` calcule le rappel pour les problèmes de classification multi-classes en calculant le rappel pour chaque classe et en faisant la moyenne des scores pour obtenir le rappel pour plusieurs classes. Les scores `RecallMacro` vont de 0 à 1. Des scores plus élevés reflètent la capacité du modèle à prédire les vrais positifs (TP) dans un jeu de données, tandis qu’un vrai positif reflète une prédiction positive qui est également une valeur positive réelle dans les données. Il est souvent insuffisant de mesurer uniquement le rappel, car prédire chaque sortie comme un vrai positif donnera un score de rappel parfait.

**`RMSE`**  
La racine de l’erreur quadratique moyenne (RMSE, Root Mean Squared Error) mesure la racine carrée de la différence au carré entre les valeurs prédites et réelles, moyennée sur l’ensemble des valeurs. Elle est utilisée dans l’analyse de régression pour comprendre l’erreur de prédiction modélisée. Cette métrique est importante pour indiquer la présence d'erreurs et de valeurs aberrantes dans les modèles volumineux. Les valeurs vont de zéro (0) à l'infini, les plus petits nombres indiquant une meilleure adéquation du modèle aux données. La RMSE dépend de l'échelle, et ne doit pas être utilisée pour comparer des jeux de données de tailles différentes.

Les métriques calculées automatiquement pour un modèle candidat sont déterminées par le type de problème à résoudre.

Consultez la [documentation de référence de SageMaker l'API Amazon](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) pour obtenir la liste des métriques disponibles prises en charge par Autopilot.

## Métriques pondérées Autopilot
<a name="autopilot-weighted-metrics"></a>

**Note**  
Autopilot prend en charge les poids des échantillons en mode ensembliste uniquement pour toutes les [métriques disponibles](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics), à l’exception de `Balanced Accuracy` et `InferenceLatency`. `BalanceAccuracy` est doté de son propre schéma de pondération pour les jeux de données déséquilibrés qui ne nécessite pas de poids d’échantillons. `InferenceLatency` ne prend pas en charge les poids des échantillons. Les métriques d’objectif `Balanced Accuracy` et `InferenceLatency` ignorent tous les poids d’échantillon existants lors de l’entraînement et de l’évaluation d’un modèle.

Les utilisateurs peuvent ajouter une colonne de poids d’échantillons à leurs données pour s’assurer que chaque observation utilisée pour entraîner un modèle de machine learning reçoit un poids correspondant à son importance perçue pour le modèle. Cela est particulièrement utile dans les scénarios où les observations du jeu de données ont des degrés d’importance différents, ou dans lesquels un jeu de données contient un nombre disproportionné d’échantillons d’une classe par rapport aux autres. L’attribution d’un poids à chaque observation en fonction de son importance ou de son importance accrue pour une classe minoritaire peut améliorer la performance globale d’un modèle ou garantir qu’un modèle n’est pas biaisé du côté de la classe majoritaire.

Pour en savoir plus sur la façon de transmettre des poids d’échantillons lors de la création d’une expérience dans l’interface utilisateur Studio Classic, reportez-vous à l’*étape 7* dans [Création d’une expérience Autopilot à l’aide de Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html). 

Pour en savoir plus sur la façon de transmettre des poids d’échantillons par programmation lors de la création d’une expérience Autopilot à l’aide de l’API, consultez la section *Comment ajouter des poids d’échantillons à une tâche AutoML* dans [Création d’une expérience Autopilot par programmation](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html).

## Validation croisée dans Autopilot
<a name="autopilot-cross-validation"></a>

La validation croisée permet de réduire le surajustement et le biais dans la sélection des modèles. Elle est également utilisée pour évaluer dans quelle mesure un modèle peut prédire les valeurs d’un jeu de données de validation invisible, si ce dernier est extrait de la même population. Cette méthode est particulièrement importante lors de l’entraînement sur des jeux de données ayant un nombre limité d’instances d’entraînement. 

Autopilot utilise la validation croisée pour créer des modèles en mode d’optimisation des hyperparamètres (HPO) et d’entraînement d’ensemble. La première étape du processus de validation croisée d’Autopilot consiste à diviser les données en k-folds.

### Division en k-folds
<a name="autopilot-cross-validation-kfold"></a>

La division en k-folds est une méthode qui permet de séparer un jeu de données d’entraînement d’entrée en plusieurs jeux de données d’entraînement et de validation. Le jeu de données est divisé en sous-échantillons `k` de taille égale nommés folds. Les modèles sont ensuite entraînés sur `k-1` folds et testés par rapport au ke fold restant, qui sert de jeu de données de validation. Le processus est répété `k` fois en utilisant un jeu de données différent pour la validation. 

L’image suivante montre une division en k-folds avec k = 4 folds. Chaque fold est représenté par une ligne. Les cases foncées représentent les parties des données utilisées lors de l'entraînement. Les cases claires restantes indiquent les jeux de données de validation. 

![\[Répartition à k blocs avec 4 blocs affichés en tant que cases : foncées pour les données utilisées et claires pour les jeux de données de validation.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold-splits.png)


Autopilot utilise la validation croisée k-fold pour le mode d’optimisation des hyperparamètres (HPO) et le mode assemblage.

Vous pouvez déployer des modèles de pilote automatique conçus à l'aide de la validation croisée, comme vous le feriez avec n'importe quel autre modèle de pilote automatique ou d'IA. SageMaker 

### Mode HPO
<a name="autopilot-cross-validation-hpo"></a>

La validation croisée k-fold utilise la méthode de divison k-fold pour la validation croisée. En mode HPO, Autopilot met automatiquement en œuvre une validation croisée k-fold pour les petits jeux de données, comportant 50 000 instances d’entraînement ou moins. La validation croisée est particulièrement importante lors de l’entraînement sur de petits jeux de données, car elle protège contre le surajustement et les biais de sélection. 

Le mode HPO utilise une valeur *k* de 5 sur les algorithmes candidats utilisés pour modéliser le jeu de données. Plusieurs modèles sont entraînés sur différentes divisions et les modèles sont stockés séparément. Lorsque l’entraînement est terminé, la moyenne des métriques de validation de chacun des modèles est calculée pour produire une seule métrique d’estimation. Enfin, Autopilot combine les modèles de l’essai ayant la meilleure métrique de validation pour former un modèle d’ensemble. Autopilot utilise ce modèle d’ensemble pour faire des prédictions.

La métrique de validation des modèles entraînés par Autopilot est présentée comme la métrique objective dans le leaderboard du modèle. Sauf indication contraire, Autopilot utilise la métrique de validation par défaut pour chaque type de problème qu’il gère. Pour obtenir la liste de toutes les métriques utilisées par Autopilot, consultez [Métriques Autopilot](#autopilot-metrics).

Par exemple, le [jeu de données Boston Housing](http://lib.stat.cmu.edu/datasets/boston) ne contient que 861 échantillons. Si vous créez un modèle pour prédire les prix de vente des maisons à l’aide de ce jeu de données sans validation croisée, vous risquez de vous entraîner sur un jeu de données qui n’est pas représentatif du parc immobilier de Boston. Si vous ne divisez les données qu’une seule fois en sous-ensembles d’entraînement et de validation, il se peut que le bloc d’entraînement ne contienne que des données provenant principalement de banlieue. Par conséquent, vous vous entraînerez sur des données qui ne sont pas représentatives du reste de la ville. Dans cet exemple, votre modèle serait probablement trop ajusté par rapport à cette sélection biaisée. La validation croisée k-fold réduit ce risque d’erreur en utilisant pleinement et de façon aléatoire les données disponibles à des fins d’entraînement et de validation.

La validation croisée peut augmenter les temps de formation de 20 % en moyenne. Les temps de formation peuvent également augmenter de manière significative pour les jeux de données complexes.

**Note**  
En mode HPO, vous pouvez consulter les indicateurs de formation et de validation de chaque volet dans vos `/aws/sagemaker/TrainingJobs` CloudWatch journaux. Pour plus d'informations sur CloudWatch les journaux, consultez[CloudWatch Journaux pour Amazon SageMaker AI](logging-cloudwatch.md). 

### Mode d’assemblage
<a name="autopilot-cross-validation-ensemble"></a>

**Note**  
Autopilot prend en charge les poids d’échantillons en mode ensembliste. Pour obtenir la liste des métriques disponibles prenant en charge les poids d’échantillons, consultez [Métriques Autopilot](#autopilot-metrics).

En mode ensembliste, la validation croisée est effectuée quelle que soit la taille du jeu de données. Les clients peuvent soit fournir leur propre jeu de données de validation et un ratio de répartition des données personnalisé, soit laisser Autopilot diviser automatiquement le jeu de données en un ratio de répartition 80-20 %. Les données d'entraînement sont ensuite divisées en plusieurs `k` fois pour une validation croisée, la valeur de `k` étant déterminée par le AutoGluon moteur. Un ensemble se compose de plusieurs modèles de machine learning, chaque modèle étant nommé modèle de base. Un modèle de base unique est entraîné sur (`k`-1) plis et fait des out-of-fold prédictions sur le pli restant. Ce processus est répété pour tous les `k` plis, et les prédictions out-of-fold (OOF) sont concaténées pour former un seul ensemble de prédictions. Tous les modèles de base de l’ensemble suivent le même processus de génération de prédictions OOF.

L’image suivante montre une validation en k-fold avec `k` = 4 folds. Chaque fold est représenté par une ligne. Les cases foncées représentent les parties des données utilisées lors de l'entraînement. Les cases claires restantes indiquent les jeux de données de validation. 

Dans la partie supérieure de l’image, à chaque fold, le premier modèle de base fait des prédictions sur le jeu de données de validation après un entraînement sur les jeux de données d’entraînement. À chaque fold suivant, les jeux de données changent de rôle. Un jeu de données qui était auparavant utilisé pour la formation est désormais utilisé pour la validation, et vice versa. À la fin des `k` plis, toutes les prédictions sont concaténées pour former un seul ensemble de prédictions appelé prédiction out-of-fold (OOF). Ce processus est répété pour chaque modèle de base `n`.

![\[Validation k-fold : quatre rangées de cases représentent 4 folds qui génèrent une ligne de prédictions OOF.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold.PNG)


Les prédictions OOF pour chaque modèle de base sont ensuite utilisées comme caractéristiques pour entraîner un modèle d’empilement. Le modèle d’empilement apprend les poids d’importance pour chaque modèle de base. Ces pondérations sont utilisées pour combiner les prédictions OOF afin de former la prédiction finale. Les performances du jeu de données de validation déterminent quel modèle de base ou d’empilement est le meilleur, et ce modèle est renvoyé en tant que modèle final.

En mode ensemble, vous pouvez soit fournir votre propre jeu de données de validation, soit laisser Autopilot diviser automatiquement le jeu de données d’entrée en jeux de données d’entraînement à 80 % et de validation à 20 %. Les données d’apprentissage sont ensuite divisées en `k` folds à des fins de validation croisée et produisent une prédiction OOF et un modèle de base pour chaque fold.

Ces prédictions OOF sont utilisées comme caractéristiques pour entraîner un modèle d’empilement, qui apprend simultanément les poids de chaque modèle de base. Ces pondérations sont utilisées pour combiner les prédictions OOF afin de former la prédiction finale. Les jeux de données de validation pour chaque fold sont utilisés pour le réglage des hyperparamètres de tous les modèles de base et du modèle d’empilement. Les performances du jeu de données de validation déterminent quel modèle de base ou d’empilement est le meilleur, et ce modèle est renvoyé en tant que modèle final.

# Déploiement et prédiction des modèles Autopilot
<a name="autopilot-deploy-models"></a>

Ce guide Amazon SageMaker Autopilot décrit les étapes relatives au déploiement du modèle, à la configuration de l'inférence en temps réel et à l'exécution de l'inférence avec des tâches par lots. 

Après avoir entraîné vos modèles Autopilot, vous pouvez les déployer pour obtenir des prédictions de deux manières différentes :

1. Utilisez [Déploiement de modèles pour l’inférence en temps réel](autopilot-deploy-models-realtime.md) pour configurer un point de terminaison et obtenir des prévisions de manière interactive. L’inférence en temps réel est idéale pour les charges de travail d’inférence où vous avez des exigences en temps réel, interactives et à faible latence.

1. Utilisez [Exécution des tâches d’inférence par lots](autopilot-deploy-models-batch.md) pour faire des prévisions en parallèle sur des lots d’observations sur l’ensemble d’un jeu de données. L'inférence par lots est une bonne option pour les grands jeux de données, ou si vous n'avez pas besoin d'une réponse immédiate à une demande de prédiction de modèle.

**Note**  
Pour éviter des frais inutiles, lorsque vous n’avez plus besoin des points de terminaison et des ressources créés lors du déploiement du modèle, vous pouvez les supprimer. Pour plus d'informations sur la tarification des instances par région, consultez [Amazon SageMaker Pricing](https://aws.amazon.com/sagemaker/pricing/).

# Déploiement de modèles pour l’inférence en temps réel
<a name="autopilot-deploy-models-realtime"></a>

L’inférence en temps réel est idéale pour les charges de travail d’inférence où vous avez des exigences en temps réel, interactives et à faible latence. Cette section montre comment vous pouvez utiliser l’inférence en temps réel pour obtenir des prévisions interactives à partir de votre modèle.

Plusieurs options s’offrent à vous pour déployer le modèle qui a produit la meilleure métrique de validation dans une expérience Autopilot. Par exemple, lorsque vous utilisez le pilote automatique dans SageMaker Studio Classic, vous pouvez déployer le modèle automatiquement ou manuellement. Vous pouvez également l'utiliser SageMaker APIs pour déployer manuellement un modèle de pilote automatique. 

Les onglets suivants présentent trois options pour déployer votre modèle. Ces instructions supposent que vous avez déjà créé un modèle dans Autopilot. Si vous ne disposez pas de modèle, consultez [Création de tâches de régression ou de classification pour les données tabulaires à l’aide de l’API AutoML](autopilot-automate-model-development-create-experiment.md). Pour voir des exemples de chaque option, ouvrez chaque onglet.

## Déploiement à l’aide de l’interface utilisateur (UI) d’Autopilot
<a name="autopilot-deploy-models-realtime-ui"></a>

L'interface utilisateur d'Autopilot contient des menus déroulants utiles, des boutons, des infobulles et bien plus encore, pour vous aider à parcours le déploiement du modèle. Vous pouvez déployer à l’aide de l’une des procédures suivantes : automatique ou manuelle.
+ **Déploiement automatique** : pour déployer automatiquement le meilleur modèle, d’une expérience Autopilot vers un point de terminaison

  1. [Créez un test](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html) dans SageMaker Studio Classic. 

  1. Basculez la valeur **Auto deploy** (Déploiement automatique) sur **Yes** (Oui).
**Note**  
**Le déploiement automatique échoue si le quota de ressources par défaut ou votre quota client pour les instances de point de terminaison dans une région est trop limité.** En mode d’optimisation des hyperparamètres (HPO), vous devez avoir au moins deux instances ml.m5.2xlarge. En mode d’assemblage, vous devez avoir au moins une instance ml.m5.12xlarge. Si vous rencontrez un échec lié aux quotas, vous pouvez [demander une augmentation de la limite de service](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) pour les instances de point de terminaison SageMaker AI.
+ **Déploiement manuel** : pour déployer manuellement le meilleur modèle, d’une expérience Autopilot vers un point de terminaison

  1. [Créez un test](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html) dans SageMaker Studio Classic. 

  1. Basculez la valeur **Auto deploy** (Déploiement automatique) sur **No** (Non). 

  1. Sélectionnez le modèle que vous voulez déployer sous **Model name** (Nom du modèle).

  1. Sélectionnez le bouton orange **Deployment and advanced settings** (Déploiement et paramètres avancés) situé à droite du classement. Un nouvel onglet s'ouvre.

  1. Configurez le nom du point de terminaison, le type d’instance et d’autres informations facultatives.

  1.  Sélectionnez le bouton orange **Deploy model** (Déployer le modèle) pour déployer vers un point de terminaison.

  1. Vérifiez la progression du processus de création du point de terminaison en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)accédant à la section Points de terminaison. Cette section se trouve dans le menu déroulant **Inference** (Inférence) du panneau de navigation. 

  1. Une fois que le statut du point de terminaison est passé de **Creating** à **InService**, comme indiqué ci-dessous, revenez à Studio Classic et appelez le point de terminaison.  
![\[SageMaker Console AI : page Endpoints pour créer un point de terminaison ou vérifier l'état du point de terminaison.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-check-progress.PNG)

## Déployez en utilisant SageMaker APIs
<a name="autopilot-deploy-models-api"></a>

Vous pouvez également obtenir une inférence en temps réel en déployant votre modèle à l’aide d’**appels d’API**. Cette section présente les cinq étapes de ce processus à l'aide d'extraits de code AWS Command Line Interface (AWS CLI). 

Pour obtenir des exemples de code complets pour les AWS CLI commandes et le AWS SDK pour Python (boto3), ouvrez les onglets directement en suivant ces étapes.

1. **Obtenir les définitions des candidats**

   Obtenez les définitions des conteneurs candidats auprès de [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers). Ces définitions de candidats sont utilisées pour créer un modèle d' SageMaker IA. 

   L'exemple suivant utilise l'[DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API pour obtenir les définitions du meilleur modèle candidat. Consultez la AWS CLI commande suivante à titre d'exemple.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Liste des candidats**

   L'exemple suivant utilise l'[ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API pour répertorier tous les candidats. La commande AWS CLI suivante constitue un exemple.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Création d'un modèle d' SageMaker IA**

   Utilisez les définitions de conteneur des étapes précédentes pour créer un modèle d' SageMaker IA à l'aide de l'[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API. Consultez la AWS CLI commande suivante à titre d'exemple.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Créer une configuration de point de terminaison** 

   L'exemple suivant utilise l'[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API pour créer une configuration de point de terminaison. Consultez la AWS CLI commande suivante à titre d'exemple.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-custom-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **Créer le point de terminaison** 

   L' AWS CLI exemple suivant utilise l'[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API pour créer le point de terminaison.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-custom-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   Vérifiez la progression du déploiement de votre terminal à l'aide de l'[DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Consultez la AWS CLI commande suivante à titre d'exemple.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   Lorsque `EndpointStatus` devient `InService`, le point de terminaison est prêt à être utilisé pour l'inférence en temps réel.

1. **Appeler le point de terminaison** 

   La structure de commande suivante appelle le point de terminaison pour une inférence en temps réel.

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

Les onglets suivants contiennent des exemples de code complets pour déployer un modèle avec le kit AWS SDK pour Python (boto3) ou AWS CLI.

------
#### [ AWS SDK for Python (boto3) ]

1. **Obtenez les définitions des candidats** à l'aide de l'exemple de code suivant.

   ```
   import sagemaker 
   import boto3
   
   session = sagemaker.session.Session()
   
   sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')
   job_name = 'test-auto-ml-job'
   
   describe_response = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   # extract the best candidate definition from DescribeAutoMLJob response
   best_candidate = describe_response['BestCandidate']
   # extract the InferenceContainers definition from the caandidate definition
   inference_containers = best_candidate['InferenceContainers']
   ```

1. **Créez le modèle** à l'aide de l'exemple de code suivant.

   ```
   # Create Model
   model_name = 'test-model' 
   sagemaker_role = 'arn:aws:iam:444455556666:role/sagemaker-execution-role'
   create_model_response = sagemaker_client.create_model(
      ModelName = model_name,
      ExecutionRoleArn = sagemaker_role,
      Containers = inference_containers 
   )
   ```

1. **Créez la configuration du point de terminaison** à l’aide de l’exemple de code suivant.

   ```
   endpoint_config_name = 'test-endpoint-config'
                                                           
   instance_type = 'ml.m5.2xlarge' 
   # for all supported instance types, see 
   # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html#sagemaker-Type-ProductionVariant-InstanceType    # Create endpoint config
   
   endpoint_config_response = sagemaker_client.create_endpoint_config(
      EndpointConfigName=endpoint_config_name, 
      ProductionVariants=[
          {
              "VariantName": "variant1",
              "ModelName": model_name, 
              "InstanceType": instance_type,
              "InitialInstanceCount": 1
          }
      ]
   )
   
   print(f"Created EndpointConfig: {endpoint_config_response['EndpointConfigArn']}")
   ```

1. **Créez le point de terminaison** et déployez le modèle à l’aide de l’exemple de code suivant.

   ```
   # create endpoint and deploy the model
   endpoint_name = 'test-endpoint'
   create_endpoint_response = sagemaker_client.create_endpoint(
                                               EndpointName=endpoint_name, 
                                               EndpointConfigName=endpoint_config_name)
   print(create_endpoint_response)
   ```

   **Vérifiez l’état de création du point de terminaison** à l’aide de l’exemple de code suivant.

   ```
   # describe endpoint creation status
   status = sagemaker_client.describe_endpoint(EndpointName=endpoint_name)["EndpointStatus"]
   ```

1. **Appelez le point de terminaison** pour une inférence en temps réel en utilisant la structure de commande suivante.

   ```
   # once endpoint status is InService, you can invoke the endpoint for inferencing
   if status == "InService":
     sm_runtime = boto3.Session().client('sagemaker-runtime')
     inference_result = sm_runtime.invoke_endpoint(EndpointName='test-endpoint', ContentType='text/csv', Body='1,2,3,4,class')
   ```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Obtenez les définitions des candidats** à l'aide de l'exemple de code suivant.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **Créez le modèle** à l’aide de l’exemple de code suivant.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", amzn-s3-demo-bucket1
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", aws-region
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \ 
   --region 'us-west-2'
   ```

   Pour plus de détails, consultez [Création d’un modèle](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-model.html).

   La commande `create model` renvoie une réponse au format suivant.

   ```
   {
       "ModelArn": "arn:aws:sagemaker:us-west-2:1234567890:model/test-sagemaker-model"
   }
   ```

1. **Créez une configuration du point de terminaison** à l’aide de l’exemple de code suivant.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name 'test-endpoint-config' \
   --production-variants '[{"VariantName": "variant1", 
                           "ModelName": "test-sagemaker-model",
                           "InitialInstanceCount": 1,
                           "InstanceType": "ml.m5.2xlarge"
                          }]' \
   --region us-west-2
   ```

   La commande de configuration `create endpoint` renvoie une réponse au format suivant.

   ```
   {
       "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint-config/test-endpoint-config"
   }
   ```

1. **Créez un point de terminaison** à l’aide de l’exemple de code suivant.

   ```
   aws sagemaker create-endpoint --endpoint-name 'test-endpoint' \    
   --endpoint-config-name 'test-endpoint-config' \                 
   --region us-west-2
   ```

   La commande `create endpoint` renvoie une réponse au format suivant.

   ```
   {
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint"
   }
   ```

   Vérifiez la progression du déploiement du point de terminaison à l’aide de l’exemple de code CLI [describe-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-endpoint.html) suivant.

   ```
   aws sagemaker describe-endpoint --endpoint-name 'test-endpoint' --region us-west-2
   ```

   La précédente vérification de progression renvoie une réponse au format suivant.

   ```
   {
       "EndpointName": "test-endpoint",
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint",
       "EndpointConfigName": "test-endpoint-config",
       "EndpointStatus": "Creating",
       "CreationTime": 1660251167.595,
       "LastModifiedTime": 1660251167.595
   }
   ```

   Lorsque `EndpointStatus` devient `InService`, le point de terminaison est prêt à être utilisé dans l’inférence en temps réel.

1. **Appelez le point de terminaison** pour une inférence en temps réel en utilisant la structure de commande suivante.

   ```
   aws sagemaker-runtime invoke-endpoint --endpoint-name 'test-endpoint' \
   --region 'us-west-2' \
   --body '1,51,3.5,1.4,0.2' \
   --content-type 'text/csv' \
   '/tmp/inference_output'
   ```

   Pour plus d’options, consultez [Invocation d’un point de terminaison](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker-runtime/invoke-endpoint.html).

------

## Déployez des modèles à partir de différents comptes
<a name="autopilot-deploy-models-realtime-across-accounts"></a>

Vous pouvez déployer un modèle Autopilot à partir d’un compte différent du compte d’origine dans lequel le modèle a été généré. Pour implémenter le déploiement de modèles multicomptes, cette section explique comment procéder comme suit :   Accordez l’autorisation d’assumer le rôle au compte à partir duquel vous souhaitez effectuer le déploiement (le compte générateur).    Appelez `DescribeAutoMLJob` depuis le compte de déploiement pour obtenir des informations sur le modèle.    Accordez des droits d’accès aux artefacts du modèle à partir du compte générateur.    

1. **Accorder l’autorisation au compte de déploiement** 

   Pour assumer le rôle dans le compte générateur, vous devez accorder l’autorisation au compte à partir duquel vous souhaitez effectuer le déploiement. Cela permet au compte de déploiement de décrire les tâches Autopilot dans le compte générateur.

   L’exemple suivant utilise un compte générateur avec une entité `sagemaker-role` de confiance. L’exemple montre comment autoriser un compte de déploiement portant l’ID 111122223333 à assumer le rôle du compte générateur.

   ```
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ],
                   "AWS": [ "111122223333"]
               },
               "Action": "sts:AssumeRole"
           }
   ```

   Le nouveau compte portant l’ID 111122223333 peut désormais assumer le rôle du compte générateur. 

   Appelez ensuite l’API `DescribeAutoMLJob` à partir du compte de déploiement pour obtenir une description de la tâche créée par le compte générateur. 

   L’exemple de code suivant décrit le modèle issu du compte de déploiement.

   ```
   import sagemaker 
   import boto3
   session = sagemaker.session.Session()
   
   sts_client = boto3.client('sts')
   sts_client.assume_role
   
   role = 'arn:aws:iam::111122223333:role/sagemaker-role'
   role_session_name = "role-session-name"
   _assumed_role = sts_client.assume_role(RoleArn=role, RoleSessionName=role_session_name)
   
   credentials = _assumed_role["Credentials"]
   access_key = credentials["AccessKeyId"]
   secret_key = credentials["SecretAccessKey"]
   session_token = credentials["SessionToken"]
   
   session = boto3.session.Session()
           
   sm_client = session.client('sagemaker', region_name='us-west-2', 
                              aws_access_key_id=access_key,
                               aws_secret_access_key=secret_key,
                               aws_session_token=session_token)
   
   # now you can call describe automl job created in account A 
   
   job_name = "test-job"
   response= sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   ```

1. **Accordez l’accès au compte de déploiement** aux artefacts du modèle du compte de génération.

   Le compte de déploiement a simplement besoin d’accéder aux artefacts du modèle dans le compte de génération pour le déployer. Ils se trouvent dans le [S3 OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) qui a été spécifié dans l'appel d'`CreateAutoMLJob`API d'origine lors de la génération du modèle.

   Pour donner au compte de déploiement l’accès aux artefacts du modèle, choisissez l’une des options suivantes :

   1. [Donnez accès](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/) au `ModelDataUrl` à partir du compte générateur vers le compte de déploiement.

      Ensuite, vous devez autoriser le compte de déploiement à assumer le rôle. Suivez les [étapes d’inférence en temps réel](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime) pour le déploiement. 

   1. [Copiez les artefacts du modèle](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-objects-account/) depuis le [S3](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) d'origine du compte générateur OutputPath vers le compte générateur.

      Pour autoriser l’accès aux artefacts du modèle, vous devez définir un modèle `best_candidate` et réattribuer des conteneurs de modèle au nouveau compte. 

      L’exemple suivant illustre la façon de définir un modèle `best_candidate` et de réaffecter le `ModelDataUrl`.

      ```
      best_candidate = automl.describe_auto_ml_job()['BestCandidate']
      
      # reassigning ModelDataUrl for best_candidate containers below
      new_model_locations = ['new-container-1-ModelDataUrl', 'new-container-2-ModelDataUrl', 'new-container-3-ModelDataUrl']
      new_model_locations_index = 0
      for container in best_candidate['InferenceContainers']:
          container['ModelDataUrl'] = new_model_locations[new_model_locations_index++]
      ```

      Après cette attribution de conteneurs, suivez les étapes décrites dans [Déployez en utilisant SageMaker APIs](#autopilot-deploy-models-api) pour le déploiement.

Pour créer des données utiles dans l’inférence en temps réel, consultez l’exemple du bloc-notes pour [définir les données utiles de test](https://aws.amazon.com/getting-started/hands-on/machine-learning-tutorial-automatically-create-models). Pour créer les données utiles à partir d’un fichier CSV et invoquer un point de terminaison, consultez la section **Prédire avec votre modèle** dans [Créer automatiquement un modèle de machine learning](https://aws.amazon.com/getting-started/hands-on/create-machine-learning-model-automatically-sagemaker-autopilot/#autopilot-cr-room).

# Exécution des tâches d’inférence par lots
<a name="autopilot-deploy-models-batch"></a>

L’inférence par lots, également appelée inférence hors ligne, génère des prédictions modélisées sur un lot d’observations. L'inférence par lots est une bonne option pour les grands jeux de données, ou si vous n'avez pas besoin d'une réponse immédiate à une demande de prédiction de modèle. En revanche, l’inférence en ligne ([inférence en temps réel](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)) génère des prédictions en temps réel. Vous pouvez effectuer des inférences par lots à partir d'un modèle de pilote automatique à l'aide du [SDK SageMaker Python](https://sagemaker.readthedocs.io/en/stable/), de l'interface utilisateur (UI) du pilote automatique, du SDK [AWS pour Python (boto3) ou du ()](https://aws.amazon.com/sdk-for-python/). AWS Command Line Interface [AWS CLI](https://docs.aws.amazon.com/cli/)

Les onglets suivants présentent trois options pour déployer votre modèle : Utilisation APIs, interface utilisateur du pilote automatique ou utilisation pour le déploiement APIs à partir de différents comptes. Ces instructions supposent que vous avez déjà créé un modèle dans Autopilot. Si vous ne disposez pas de modèle, consultez [Création de tâches de régression ou de classification pour les données tabulaires à l’aide de l’API AutoML](autopilot-automate-model-development-create-experiment.md). Pour voir des exemples de chaque option, ouvrez chaque onglet.

## Déployer un modèle à l’aide de l’interface utilisateur d’Autopilot
<a name="autopilot-deploy-models-batch-ui"></a>

L'interface utilisateur d'Autopilot contient des menus déroulants utiles, des boutons, des infobulles et bien plus encore, pour vous aider à parcours le déploiement du modèle.

Les étapes suivantes montrent comment déployer un modèle à partir d’une expérience Autopilot pour des prédictions par lots. 

1. Connectez-vous à [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)et sélectionnez **Studio** dans le volet de navigation.

1. Dans le panneau de navigation de gauche, choisissez **Studio**.

1. Sous **Commencer**, sélectionnez le domaine dans lequel vous souhaitez lancer l’application Studio. Si votre profil utilisateur n’appartient qu’à un seul domaine, l’option permettant de sélectionner un domaine ne s’affiche pas.

1. Sélectionnez le profil utilisateur pour lequel vous souhaitez lancer l’application Studio Classic. S’il n’existe aucun profil utilisateur dans le domaine, choisissez **Créer un profil utilisateur**. Pour plus d’informations, consultez [Ajout de profils utilisateur](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Choisissez **Launch Studio** (Lancer Studio). Si le profil utilisateur appartient à un espace partagé, choisissez **Open Spaces**. 

1. Lorsque la console SageMaker Studio Classic s'ouvre, cliquez sur le bouton **Launch SageMaker Studio**.

1. Sélectionnez **AutoML** dans le panneau de navigation de gauche.

1. Sous **Nom**, sélectionnez l’expérience Autopilot correspondant au modèle que vous souhaitez déployer. Ceci ouvre un nouvel onglet **AUTOPILOT JOB** (TÂCHE AUTOPILOT).

1. Dans la section **Model name** (Nom du modèle), sélectionnez le modèle que vous voulez déployer.

1. Choisissez **Deploy model (Déployer le modèle)**. Un nouvel onglet s'ouvre.

1. En haut de la page, choisissez **Make batch predictions** (Créer des prédictions par lots).

1. Pour **Configuration des tâches de transformation par lots**, renseignez **Type d’instance**, **Nombre d’instances** et d’autres informations facultatives.

1. Dans la section **Configuration des données d’entrée**, ouvrez le menu déroulant. 

   1. Pour le **type de données S3**, choisissez **ManifestFile**ou **S3Prefix**.

   1. **Pour le **type Split**, choisissez **Line**, **Recordio **TFRecord****ou None.**

   1. Pour **Compression**, choisissez **Gzip** ou **None** (Aucun). 

1. Pour **Emplacement S3**, entrez l’emplacement du compartiment Amazon S3 contenant les données d’entrée et d’autres informations facultatives.

1. Sous **Output data configuration** (Configuration des données de sortie), entrez le compartiment S3 pour les données de sortie et choisissez comment [assembler la sortie](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith) de votre tâche. 

   1. Pour **Additional configuration (optional)** (Configuration supplémentaire (facultative), vous pouvez saisir un type MIME et une clé de cryptage S3 (**S3 encryption key**).

1. Pour le **filtrage des entrées/sorties et les jointures de données (facultatif)**, vous entrez une JSONpath expression pour filtrer vos données d'entrée, vous joignez les données de la source d'entrée à vos données de sortie et vous entrez une JSONpath expression pour filtrer vos données de sortie. 

   1. Pour des exemples pour chaque type de filtre, consultez l'[DataProcessing API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter).

1. Pour effectuer des prédictions par lots sur votre jeu de données d’entrée, sélectionnez **Créer une tâche de transformation par lots**. Un nouvel onglet **Tâches de transformation par lots** s’affiche.

1. Dans l’onglet **Tâches de transformation par lots**, recherchez le nom de votre tâche dans la section **État**. Ensuite, vérifiez l’état d’avancement de la tâche. 

## Déployez en utilisant SageMaker APIs
<a name="autopilot-deploy-models-batch-steps"></a>

Pour utiliser le SageMaker APIs pour l'inférence par lots, il faut suivre trois étapes :

1. **Obtenir les définitions des candidats** 

   Les définitions des candidats provenant de [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)sont utilisées pour créer un modèle d' SageMaker IA. 

   L'exemple suivant montre comment utiliser l'[DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API pour obtenir des définitions de candidats pour le meilleur modèle candidat. Consultez la AWS CLI commande suivante à titre d'exemple.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

   Utilisez l'[ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API pour répertorier tous les candidats. La commande AWS CLI suivante constitue un exemple.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Création d'un modèle d' SageMaker IA**

   Pour créer un modèle d' SageMaker IA à l'aide de l'[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API, utilisez les définitions de conteneur des étapes précédentes. La commande AWS CLI suivante constitue un exemple.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Créez une tâche de transformation SageMaker basée sur l'IA** 

   L'exemple suivant crée une tâche de transformation basée sur l' SageMaker IA avec l'[CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)API. Consultez la AWS CLI commande suivante à titre d'exemple.

   ```
   aws sagemaker create-transform-job --transform-job-name '<your-custom-transform-job-name>' --model-name '<your-custom-model-name-from-last-step>'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "<your-input-data>" 
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "<your-output-path>",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "<instance-type>", 
           "InstanceCount": 1
       }' --region '<region>'
   ```

Vérifiez la progression de votre travail de transformation à l'aide de l'[DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API. Consultez la AWS CLI commande suivante à titre d'exemple.

```
aws sagemaker describe-transform-job --transform-job-name '<your-custom-transform-job-name>' --region <region>
```

Une fois le travail terminé, le résultat prévu sera disponible dans `<your-output-path>`. 

Le nom du fichier de sortie possède le format suivant : `<input_data_file_name>.out`. Par exemple, si votre fichier d'entrée est `text_x.csv`, le nom de sortie sera `text_x.csv.out`.

Les onglets suivants présentent des exemples de code pour le SDK SageMaker Python, le AWS SDK pour Python (boto3) et le. AWS CLI

------
#### [ SageMaker Python SDK ]

L'exemple suivant utilise le **[SDK SageMaker Python](https://sagemaker.readthedocs.io/en/stable/overview.html)** pour effectuer des prédictions par lots.

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = 'test-auto-ml-job' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count=1, 
    instance_type='ml.m5.2xlarge',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='text/csv',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 L'exemple suivant utilise le **kit AWS SDK pour Python (boto3)** pour effectuer des prédictions par lots.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

La tâche d'inférence par lots renvoie une réponse au format suivant.

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Obtenez les définitions des candidats** à l’aide de l’exemple de code suivant.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **Créez le modèle** à l'aide de l'exemple de code suivant.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **Créez la tâche de transformation** à l’aide de l’exemple de code suivant.

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **Vérifiez la progression de la tâche de transformation** à l’aide de l’exemple de code suivant. 

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   Voici la réponse de la tâche de transformation.

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   Une fois les modifications `TransformJobStatus` apportées à `Completed`, vous pouvez vérifier le résultat de l'inférence dans le `S3OutputPath`.

------

## Déployez des modèles à partir de différents comptes
<a name="autopilot-deploy-models-batch-across-accounts"></a>

Pour créer une tâche d’inférence par lots dans un compte différent de celui dans lequel le modèle a été généré, suivez les instructions figurant dans [Déployez des modèles à partir de différents comptes](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts). Vous pouvez ensuite créer des modèles et transformer des tâches en suivant les [Déployez en utilisant SageMaker APIs](#autopilot-deploy-models-batch-steps).

# Afficher les détails des modèles
<a name="autopilot-models-details"></a>

Autopilot génère des informations sur les modèles candidats que vous pouvez obtenir. Ces détails incluent les suivants :
+ Un tracé des valeurs SHAP agrégées qui indique l'importance de chaque fonction. Cela permet d'expliquer les prédictions de vos modèles.
+ Un résumé des statistiques relatives à diverses métriques d'entraînement et de validation, notamment la métrique objective.
+ Une liste des hyperparamètres utilisés pour entraîner et régler le modèle.

Pour afficher les détails du modèle après avoir exécuté une tâche Autopilot, procédez comme suit :

1. Cliquez sur l'icône **Accueil** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/studio/icons/house.png)) dans le volet de navigation de gauche pour afficher le menu de navigation supérieur d'**Amazon SageMaker Studio Classic**.

1. Sélectionnez la carte **AutoML** dans la zone de travail principale. Ceci ouvre un nouvel onglet **Autopilot**.

1. Dans la section **Name** (Nom), sélectionnez la tâche Autopilot qui contient les détails que vous souhaitez examiner. Ceci ouvre un nouvel onglet de **Tâche Autopilot**.

1. Le panneau **Autopilot job** (Tâche Autopilot) répertorie les valeurs de métriques, y compris la métrique **Objective** (Objectif) pour chaque modèle sous **Model name** (Nom du modèle). Le meilleur modèle, **Best model**, est répertorié en haut de la liste sous **Model name** (Nom du modèle) et est également surligné dans l'onglet **Models** (Modèles).

   1. Pour consulter les détails du modèle, sélectionnez le modèle qui vous intéresse et sélectionnez **View model details** (Afficher les détails du modèle). Ceci ouvre un nouvel onglet **Détails du modèle**.

1. L'onglet **Model Details** (Détails du modèle) est divisé en quatre sous-sections.

   1. Le haut de l'onglet **Explainability** (Explicabilité) contient un plan de valeurs agrégées SHAP qui indiquent l'importance de chaque caractéristique. Après cela, vous trouverez les métriques et les valeurs des hyperparamètres pour ce modèle. 

   1. L'onglet **Performance** (Performances) contient des statistiques de métriques et une matrice de confusion. 

   1. L'onglet **Artifacts** (Artefacts) contient des informations sur les entrées, les sorties et les résultats intermédiaires du modèle.

   1. L'onglet **Réseau** récapitule vos choix en matière d'isolation et de chiffrement du réseau.
**Note**  
L'importance des fonctionnalités et les informations dans **Performances** sont uniquement générés pour le **Meilleur modèle**.

   Pour plus d'informations sur la façon dont les valeurs SHAP aident à expliquer les prédictions basées sur l'importance de la fonction, consultez le livre blanc [Understanding the model explainability](https://pages.awscloud.com/rs/112-TZM-766/images/Amazon.AI.Fairness.and.Explainability.Whitepaper.pdf) (Comprendre l'explicabilité du modèle). Des informations supplémentaires sont également disponibles dans la [Explicabilité du modèle](clarify-model-explainability.md) rubrique du Guide du développeur d' SageMaker IA. 

# Affichage d’un rapport de performances du modèle Autopilot
<a name="autopilot-model-insights"></a>

Un rapport sur la qualité du modèle Amazon SageMaker AI (également appelé rapport de performance) fournit des informations et des informations de qualité sur le meilleur modèle candidat généré par une tâche AutoML. Cela inclut des informations sur les détails de la tâche, le type de problème du modèle, la fonction objective et d’autres informations relatives au type de problème. Ce guide explique comment afficher graphiquement les indicateurs de performance d'Amazon SageMaker Autopilot ou les afficher sous forme de données brutes dans un fichier JSON.

Par exemple, dans les problèmes de classification, le rapport de qualité du modèle inclut les éléments suivants :
+ Matrice Confusion
+ Aire située sous la courbe ROC (AUC)
+ Informations pour comprendre les faux positifs et les faux négatifs
+ Compromis entre les vrais positifs et les faux positifs
+ Compromis entre la précision et le rappel

Autopilot fournit également des métriques de performance pour tous vos modèles candidats. Ces métriques sont calculées à l’aide de toutes les données d’entraînement et sont utilisées pour estimer les performances du modèle. La zone de travail principale inclut ces métriques par défaut. Le type de métrique est déterminé par le type de problème à résoudre.

Consultez la [documentation de référence de SageMaker l'API Amazon](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) pour obtenir la liste des métriques disponibles prises en charge par Autopilot.

Vous pouvez trier vos modèles candidats par la métrique appropriée pour vous aider à sélectionner et à déployer le modèle qui répond aux besoins de votre entreprise. Pour connaître les définitions de ces métriques, consultez la rubrique [Métriques des candidats Autopilot](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics).

Pour consulter un rapport de performances provenant d’une tâche Autopilot, procédez comme suit :

1. Cliquez sur l'icône **Accueil** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/studio/icons/house.png)) dans le volet de navigation de gauche pour afficher le menu de navigation supérieur d'**Amazon SageMaker Studio Classic**.

1. Sélectionnez la carte **AutoML** dans la zone de travail principale. Ceci ouvre un nouvel onglet **Autopilot**.

1. Dans la section **Name** (Nom), sélectionnez la tâche Autopilot qui contient les détails que vous souhaitez examiner. Ceci ouvre un nouvel onglet de **Tâche Autopilot**.

1. Le panneau **Autopilot job** (Tâche Autopilot) répertorie les valeurs de métriques, y compris la métrique **Objective** (Objectif) pour chaque modèle sous **Model name** (Nom du modèle). Le **Best model** (Meilleur modèle) est répertorié en haut de la liste sous **Model name** (Nom du modèle) et est également mis en évidence dans l’onglet **Models** (Modèles).

   1. Pour consulter les détails du modèle, sélectionnez le modèle qui vous intéresse et sélectionnez **View model details** (Afficher les détails du modèle). Ceci ouvre un nouvel onglet **Détails du modèle**.

1. Choisissez l’onglet **Performances** entre l’onglet **Explicabilité** et l’onglet **Artefacts**.

   1. Dans la partie supérieure droite de l’onglet, sélectionnez la flèche déroulante sur le bouton **Download Performance Reports** (Télécharger les rapports de performance). 

   1. La flèche vers le bas propose deux options pour afficher les métriques de performances Autopilot :

      1. Vous pouvez télécharger le rapport de performances au format PDF pour visualiser les métriques sous forme graphique.

      1. Vous pouvez afficher les métriques en tant que données brutes et les télécharger sous la forme d’un fichier JSON.

Pour obtenir des instructions sur la création et l'exécution d'une tâche AutoML dans SageMaker Studio Classic, consultez. [Création de tâches de régression ou de classification pour les données tabulaires à l’aide de l’API AutoML](autopilot-automate-model-development-create-experiment.md) 

Le rapport de performances contient deux sections. La première contient des détails sur la tâche Autopilot qui a produit le modèle. La deuxième contient un rapport sur la qualité du modèle.

## Détails de la tâche Autopilot
<a name="autopilot-model-insights-details-and-metrics-table"></a>

La première section du rapport fournit des informations générales sur la tâche Autopilot qui a produit le modèle. Ces détails de tâche incluent les informations suivantes :
+ Nom du candidat Autopilot
+ Nom de la tâche Autopilot
+ Type de problème
+ Métrique d’objectif
+ Direction de l’optimisation

## Rapport de qualité du modèle
<a name="autopilot-model-quality-report"></a>

Des informations sur la qualité du modèle sont générées par les analyses du modèle Autopilot. Le contenu du rapport généré dépend du type de problème résolu : régression, classification binaire ou classification multi-classes. Le rapport spécifie le nombre de lignes incluses dans le jeu de données d’évaluation et le moment auquel l’évaluation a eu lieu.

### Tableaux de métriques
<a name="autopilot-model-quality-report-metrics"></a>

La première partie du rapport sur la qualité du modèle contient des tableaux de métriques. Ils sont adaptés au type de problème traité par le modèle.

L’image suivante est un exemple de tableau de métriques généré par Autopilot pour un problème de régression. Il indique le nom, la valeur et l'écart type de la métrique.

![\[Exemple de rapport sur les mesures de régression du modèle Amazon SageMaker Autopilot Insights.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-regression-metrics.png)


L’image suivante est un exemple de tableau de métriques généré par Autopilot pour un problème de classification multi-classes. Il indique le nom, la valeur et l'écart type de la métrique.

![\[Exemple de rapport sur les mesures de classification multiclasses du modèle Amazon SageMaker Autopilot Insights.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### Informations graphiques sur les performances du modèle
<a name="autopilot-model-quality-report-graphs"></a>

 La deuxième partie du rapport sur la qualité du modèle contient des informations graphiques qui vous aident à évaluer les performances du modèle. Le contenu de cette section dépend du type de problème utilisé dans la modélisation.

#### La zone située sous la courbe ROC.
<a name="autopilot-model-insights-auc-roc"></a>

L’aire sous la courbe caractéristique de fonctionnement du récepteur représente le compromis entre les taux de vrais positifs et de faux positifs. Il s’agit d’une métrique de précision conforme aux normes du secteur, utilisée pour les modèles de classification binaire. L’aire sous la courbe (AUC) mesure l’aptitude du modèle à prédire un score plus élevé pour les exemples de positifs, par rapport aux exemples de négatifs. La métrique AUC fournit une métrique regroupée des performances du modèle sur tous les seuils de classification possibles.

Elle renvoie une valeur décimale comprise entre 0 et 1. Les valeurs AUC proches de 1 indiquent que le modèle de machine learning est très précis. Les valeurs proches de 0,5 indiquent que le modèle n’est pas meilleur que de deviner au hasard. Les valeurs AUC proches de 0 indiquent que le modèle a appris les bonnes tendances, mais effectue des prédictions aussi imprécises que possible. Les valeurs proches de zéro peuvent indiquer un problème lié aux données. Pour plus d’informations sur la métrique AUC, accédez à l’article [Courbe ROC](https://en.wikipedia.org/wiki/Receiver_operating_characteristic) sur Wikipédia.

Voici un exemple de graphe d’aire sous la courbe caractéristique de fonctionnement du récepteur permettant d’évaluer les prédictions effectuées par un modèle de classification binaire. La fine ligne pointillée représente la zone située sous la courbe des caractéristiques de fonctionnement du récepteur à laquelle un modèle qui classe les no-better-than-random suppositions obtiendrait un score, avec un score AUC de 0,5. Les courbes de modèles de classification plus précise se situent au-dessus de cette ligne de base aléatoire, où le taux de vrais positifs dépasse le taux de faux positifs. L’aire sous la courbe caractéristique de fonctionnement du récepteur représentant la performance du modèle de classification binaire correspond à la ligne épaisse continue. 

![\[Exemple de courbe caractéristique de fonctionnement SageMaker de la zone Amazon Autopilot située sous le récepteur.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-receiver-operating-characteristic-curve.png)


Un résumé des composantes du graphe relatives au **taux de faux positifs** (FPR) et au **taux de vrais positifs** (TPR) est défini comme suit.
+ Prédictions correctes
  + **Vrai positif** (TP, True Positive) : la valeur prédite est 1, et la valeur observée est 1.
  + **Vrai négatif** (TN, True Negative) : la valeur prédite est 0, et la valeur observée est 0.
+ Prédictions erronées
  + **Faux positif** (FP) : la valeur prédite est 1, mais la valeur observée est 0.
  + **Faux négatif** (FN) : la valeur prédite est 0, mais la valeur observée est 1.

Le **taux de faux positifs** (FPR) mesure la fraction de vrais négatifs (TN) faussement prédits comme positifs (FP), par rapport à la somme des FP et des TN. La plage est comprise entre 0 et 1. Plus la valeur est petite et meilleure est la précision prédictive. 
+ TFP = FP/(FP\$1TN)

Le **taux de vrais positifs** (TPR) mesure la fraction de vrais positifs correctement prédits comme positifs (TP), par rapport à la somme des TP et des faux négatifs (FN). La plage est comprise entre 0 et 1. Plus la valeur est grande et meilleure est la précision prédictive.
+ TPR = TP/(TP\$1FN)

#### Matrice Confusion
<a name="autopilot-model-insights-confusion-matrix"></a>

Une matrice de confusion permet de visualiser la précision des prédictions faites par un modèle de classification binaire et multi-classes pour différents problèmes. La matrice de confusion du rapport sur la qualité du modèle contient les éléments suivants.
+ Le nombre et le pourcentage de prédictions correctes et incorrectes pour les étiquettes réelles
+ Le nombre et le pourcentage de prédictions exactes sur la diagonale, du coin supérieur gauche au coin inférieur droit
+ Le nombre et le pourcentage de prédictions inexactes sur la diagonale, du coin supérieur droit au coin inférieur gauche

Les prédictions incorrectes d’une matrice de confusion sont les valeurs de confusion.

Le diagramme suivant est un exemple de matrice de confusion pour un problème de classification binaire. Elle contient les informations suivantes :
+ L’axe vertical est divisé en deux rangées contenant des étiquettes réelles vraies et fausses.
+ L’axe horizontal est divisé en deux colonnes contenant des étiquettes vraies et fausses prédites par le modèle.
+ La barre de couleur attribue une tonalité plus foncée à un plus grand nombre d'échantillons afin d'indiquer visuellement le nombre de valeurs classées dans chaque catégorie.

Dans cet exemple, le modèle a prédit correctement 2 817 valeurs fausses réelles et 353 valeurs vraies réelles. Le modèle a prédit incorrectement que 130 valeurs vraies réelles étaient fausses et que 33 valeurs fausses réelles étaient vraies. La différence de tonalité indique que le jeu de données n’est pas équilibré. Le déséquilibre est dû au fait qu’il y a beaucoup plus d’étiquettes fausses réelles que d’étiquettes vraies réelles.

![\[Exemple de matrice de confusion binaire Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-binary.png)


Le diagramme suivant est un exemple de matrice de confusion pour un problème de classification multi-classes. La matrice de confusion du rapport sur la qualité du modèle contient les éléments suivants.
+ L’axe vertical est divisé en trois rangées contenant trois étiquettes réelles différentes.
+ L’axe horizontal est divisé en trois colonnes contenant des étiquettes prédites par le modèle.
+ La barre de couleur attribue une tonalité plus foncée à un plus grand nombre d'échantillons afin d'indiquer visuellement le nombre de valeurs classées dans chaque catégorie.

Dans l’exemple ci-dessous, le modèle a correctement prédit 354 valeurs réelles pour l’étiquette **f**, 1094 valeurs pour l’étiquette **i** et 852 valeurs pour l’étiquette **m**. La différence de tonalité indique que le jeu de données n’est pas équilibré, car il existe beaucoup plus d’étiquettes pour la valeur **i** que pour **f** ou **m**. 

![\[Exemple de matrice de confusion multiclasse Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


La matrice de confusion du rapport sur la qualité du modèle fourni peut prendre en charge un maximum de 15 étiquettes pour les types de problèmes de classification multi-classes. Si une ligne correspondant à une étiquette affiche une valeur `Nan`, cela signifie que le jeu de données de validation utilisé pour vérifier les prédictions modélisées ne contient pas de données portant cette étiquette.

#### Courbe de gain
<a name="autopilot-model-insights-precision-gain-curve"></a>

Dans la classification binaire, une courbe de gain prédit l’avantage cumulé de l’utilisation d’un pourcentage du jeu de données pour trouver une étiquette positive. La valeur du gain est calculée pendant l’entraînement en divisant le nombre cumulé d’observations positives par le nombre total d’observations positives dans les données, à chaque décile. Si le modèle de classification créé pendant l’entraînement est représentatif des données invisibles, vous pouvez utiliser la courbe de gain pour prédire le pourcentage de données que vous devez cibler pour obtenir un pourcentage d’étiquettes positives. Plus le pourcentage du jeu de données utilisé est élevé, plus le pourcentage d’étiquettes positives trouvées est élevé.

Dans l’exemple de graphe suivant, la courbe de gain est la ligne dont la pente change. La ligne droite correspond au pourcentage d’étiquettes positives trouvées en sélectionnant au hasard un pourcentage de données dans le jeu de données. En ciblant 20 % du jeu de données, vous pouvez vous attendre à trouver plus de 40 % d’étiquettes positives. À titre d’exemple, vous pouvez envisager d’utiliser une courbe de gain pour déterminer vos efforts dans le cadre d’une campagne marketing. En utilisant notre exemple de courbe de gain, pour que 83 % des habitants d’un quartier achètent des cookies, vous enverriez une publicité à environ 60 % de la population du quartier.

![\[Exemple de courbe de gain Amazon SageMaker Autopilot avec pourcentage et valeur de gain.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-gain-curve.png)


#### Courbe de Lift
<a name="autopilot-model-insights-lift-curve"></a>

En classification binaire, la courbe de Lift illustre l’amélioration apportée par l’utilisation d’un modèle entraîné pour prédire la probabilité de trouver une étiquette positive par rapport à une estimation aléatoire. La valeur de Lift est calculée pendant l’entraînement en utilisant le ratio du pourcentage de gain par rapport au ratio d’étiquettes positives à chaque décile. Si le modèle créé pendant l’entraînement est représentatif des données invisibles, utilisez la courbe de Lift pour prédire l’avantage à utiliser le modèle par rapport à des suppositions aléatoires.

Dans l’exemple de graphe suivant, la courbe de Lift est la ligne dont la pente change. La ligne droite est la courbe de Lift associée à la sélection aléatoire du pourcentage correspondant dans le jeu de données. Si vous ciblez 40 % du jeu de données avec les étiquettes de classification de votre modèle, vous pouvez vous attendre à trouver environ 1,7 fois plus d’étiquettes positives que vous auriez trouvées en sélectionnant au hasard 40 % des données invisibles.

![\[Exemple de courbe de levage Amazon SageMaker Autopilot avec pourcentage et valeur de portance.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-lift-curve.png)


#### Courbe de rappel de précision
<a name="autopilot-model-insights-precision-recall-curve"></a>

La courbe de précision-rappel représente le compromis entre précision et rappel pour les problèmes de classification binaire. 

La **précision** mesure la fraction de positifs réels qui sont prédits comme positifs (TP) parmi l’ensemble des prédictions positives (TP et faux positifs). La plage est comprise entre 0 et 1. Plus la valeur est grande et meilleure est la précision des valeurs prédites.
+ Précision = TP/(TP\$1FP)

Le **rappel** mesure la fraction de positifs réels qui sont prédits comme positifs (TP) parmi l’ensemble des prédictions positives (TP et faux négatifs). Ceci est également connu sous le nom de taux de sensibilité ou de vrais positifs. La plage est comprise entre 0 et 1. Une valeur plus élevée indique une meilleure détection des valeurs positives de l’exemple. 
+ Rappel = TP/(TP\$1FN)

L’objectif d’un problème de classification est d’étiqueter correctement autant d’éléments que possible. Un système avec un rappel élevé, mais une faible précision, renvoie un pourcentage élevé de faux positifs. 

Le graphe suivant illustre un filtre de courrier indésirable qui marque chaque e-mail comme courrier indésirable. Son rappel est élevé, mais sa précision est faible, car le rappel ne mesure pas les faux positifs. 

Accordez plus de poids au rappel qu’à la précision si votre problème a une faible pénalité pour les valeurs de faux positifs, mais une pénalité élevée pour le fait de manquer un résultat vrai positif. Par exemple, la détection d’une collision imminente dans un véhicule autonome.

![\[Exemple Autopilot d’un système à rappel élevé et faible précision, modélisant tous les échantillons comme des positifs.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-recall-low-precision.PNG)


En revanche, un système avec précision élevée, mais faible rappel, renvoie un pourcentage élevé de faux négatifs. Un filtre de courrier indésirable qui marque chaque e-mail comme souhaitable (et non comme courrier indésirable) a une précision élevée et un faible rappel, car la précision ne mesure pas les faux négatifs. 

Si votre problème a une faible pénalité pour les valeurs de faux négatifs, mais une pénalité élevée pour le fait de manquer des résultats de vrais négatifs, accordez plus de poids à la précision qu’au rappel. Par exemple, le signalement d’un filtre suspect pour un contrôle fiscal.

Le graphe suivant représente un filtre de courrier indésirable à précision élevée, mais faible rappel, car la précision ne mesure pas les faux négatifs. 

![\[Exemple Autopilot d’un système à précision élevée et à faible rappel, modélisant tous les échantillons comme des négatifs.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-precision-low-recall.PNG)


Un modèle qui réalise des prédictions avec à la fois une précision élevée et un rappel élevé produit un grand nombre de résultats correctement étiquetés. Pour en savoir plus, consultez [Précision et rappel](https://en.wikipedia.org/wiki/Precision_and_recall) dans Wikipédia.

#### Aire sous la courbe précision-rappel (AUPRC)
<a name="autopilot-model-insights-area-under-precision-recall-curve"></a>

Pour les problèmes de classification binaire, Amazon SageMaker Autopilot inclut un graphique de la zone située sous la courbe de rappel de précision (AUPRC). La métrique AUPRC fournit une mesure agrégée des performances du modèle sur tous les seuils de classification possibles et utilise à la fois la précision et le rappel. La courbe AUPRC ne prend pas en compte le nombre de vrais négatifs. Il peut donc être utile d’évaluer les performances du modèle dans les cas où les données contiennent un grand nombre de vrais négatifs. Par exemple, pour modéliser un gène contenant une mutation rare.

Le graphique suivant est un exemple de graphe AUPRC. La précision à sa valeur la plus élevée est de 1 et le rappel est de 0. Dans le coin inférieur droit du graphe, le rappel est sa valeur la plus élevée (1) et la précision est 0. Entre ces deux points, la courbe AUPRC illustre le compromis entre la précision et le rappel à différents seuils.

![\[La courbe précision-rappel illustre le compromis entre précision et rappel à différents seuils.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-binary-precision-recall.png)


#### Tracé des valeurs réelles par rapport aux prédictions
<a name="autopilot-model-insights-actual-vs-predicted-plot"></a>

Le tracé des valeurs réelles par rapport aux prédictions montre la différence entre les valeurs réelles et les valeurs prédites du modèle. Dans l’exemple de graphe suivant, la ligne continue est une droite de meilleur ajustement. Si le modèle était précis à 100 %, chaque point prédit serait égal à son point réel correspondant et se situerait sur cette droite de meilleur ajustement. La distance par rapport à la droite de meilleur ajustement est une indication visuelle de l’erreur du modèle. Plus la distance par rapport à la droite de meilleur ajustement est grande, plus l’erreur du modèle est importante.

![\[Exemple avec droite de meilleur ajustement, différenciant le tracé réel du tracé prédit et indiquant l’erreur du modèle.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-actual-vs-predicted-plot.png)


#### Tracé résiduel normalisé
<a name="autopilot-model-insights-standardized-residual"></a>

Un tracé résiduel normalisé intègre les termes statistiques suivants :

**`residual`**  
Un résiduel (brut) indique la différence entre les valeurs réelles et les valeurs prédites par votre modèle. Plus la différence est importante, plus la valeur résiduelle est importante.

**`standard deviation`**  
L’écart type est une mesure de la façon dont les valeurs varient par rapport à une valeur moyenne. Un écart type élevé indique que de nombreuses valeurs sont très différentes de leur valeur moyenne. Un écart type faible indique que de nombreuses valeurs sont proches de leur valeur moyenne.

**`standardized residual`**  
Un résiduel normalisé divise les résiduels bruts par leur écart type. Les résiduels normalisés comportent des unités d’écart type et sont utiles pour identifier les valeurs aberrantes dans les données, quelle que soit la différence d’échelle des résiduels bruts. Si un résiduel normalisé est beaucoup plus petit ou plus grand que les autres résiduels normalisés, cela indique que le modèle ne correspond pas bien à ces observations.

Le tracé résiduel normalisé mesure la force de la différence entre les valeurs observées et attendues. La valeur réelle prédite est affichée sur l’axe X. Un point dont la valeur est supérieure à la valeur absolue de 3 est généralement considéré comme une valeur aberrante.

L’exemple de graphe suivant montre qu’un grand nombre de résiduels normalisés sont regroupés autour de 0 sur l’axe horizontal. Les valeurs proches de zéro indiquent que le modèle correspond bien à ces points. Les points situés en haut et en bas du tracé ne sont pas bien prédits par le modèle.

![\[Exemple de diagramme des valeurs résiduelles standardisées Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-standardized-residual.png)


#### Histogramme résiduel
<a name="autopilot-model-insights-residual-histogram"></a>

Un histogramme résiduel intègre les termes statistiques suivants :

**`residual`**  
Un résiduel (brut) indique la différence entre les valeurs réelles et les valeurs prédites par votre modèle. Plus la différence est importante, plus la valeur résiduelle est importante.

**`standard deviation`**  
L’écart type est une mesure du degré de variation des valeurs par rapport à une valeur moyenne. Un écart type élevé indique que de nombreuses valeurs sont très différentes de leur valeur moyenne. Un écart type faible indique que de nombreuses valeurs sont proches de leur valeur moyenne.

**`standardized residual`**  
Un résiduel normalisé divise les résiduels bruts par leur écart type. Les résiduels normalisés ont des unités d’écart type. Ils sont utiles pour identifier les valeurs aberrantes dans les données, quelle que soit la différence d’échelle des résiduels bruts. Si un résiduel normalisé est beaucoup plus petit ou plus grand que les autres résiduels normalisés, cela indique que le modèle ne correspond pas bien à ces observations.

**`histogram`**  
Un histogramme est un graphe qui indique la fréquence d’apparition d’une valeur.

L’histogramme résiduel montre la distribution des valeurs résiduelles normalisées. Un histogramme distribué en forme de cloche centrée sur zéro indique que le modèle ne prédit pas systématiquement trop haut ou trop bas une plage particulière de valeurs cibles.

Dans le graphique suivant, les valeurs résiduelles normalisées indiquent que le modèle correspond bien aux données. Si le graphe montrait des valeurs très éloignées de la valeur centrale, cela indiquerait que ces valeurs ne correspondent pas bien au modèle.

![\[Valeur résiduelle normalisée proche de zéro, indiquant que le modèle correspond bien aux données.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-residual-histogram.png)


# Bloc-notes Autopilot générés pour gérer les tâches AutoML
<a name="autopilot-automate-model-development-notebook-output"></a>

Amazon SageMaker Autopilot gère les tâches clés d'un processus d'apprentissage automatique (AutoML) à l'aide d'une tâche AutoML. La tâche AutoML crée deux rapports basés sur des blocs-notes qui décrivent le plan suivi par Autopilot pour générer des modèles candidats.

Un modèle candidat se compose d’une paire (pipeline, algorithme). Premièrement, un bloc-notes d’**exploration de données** décrit ce qu’Autopilot a appris sur les données que vous avez fournies. Deuxièmement, un bloc-notes de **définition de candidats **utilise ces informations sur les données pour générer des candidats. Troisièmement, un rapport d’**analyse de modèle** qui peut aider à détailler les caractéristiques de performance du meilleur modèle dans le classement d’une expérience Autopilot.

**Topics**
+ [Rapport Autopilot d’exploration de données](autopilot-data-exploration-report.md)
+ [Recherche et exécution du bloc-notes de définition des candidats](autopilot-candidate-generation-notebook.md)

Vous pouvez exécuter ces blocs-notes dans Amazon SageMaker AI, ou localement, si vous avez installé le [SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable). Vous pouvez partager les blocs-notes comme n'importe quel autre bloc-notes SageMaker Studio Classic. Les carnets sont créés pour que vous puissiez effectuer des expériences. Par exemple, vous pouvez modifier les éléments suivants dans les blocs-notes :
+ Préprocesseurs utilisés sur les données 
+ Nombre d’exécutions d’optimisation des hyperparamètres et leur parallélisme
+ Algorithmes à essayer
+ Types d’instance utilisés pour les tâches d’optimisation des hyperparamètres
+ Plages des hyperparamètres

Les modifications du bloc-notes de définition des candidats sont encouragées en tant qu’outil d’apprentissage. Grâce à cette capacité, vous apprenez comment les décisions prises au cours du processus de machine learning influencent vos résultats. 

**Note**  
Lorsque vous exécutez les blocs-notes dans votre instance par défaut, vous payez des coûts de référence. Cependant, lorsque vous exécutez des tâches HPO à partir du bloc-notes des candidats, ces tâches utilisent des ressources de calcul supplémentaires qui entraînent des coûts supplémentaires. 

# Rapport Autopilot d’exploration de données
<a name="autopilot-data-exploration-report"></a>

Amazon SageMaker Autopilot nettoie et prétraite automatiquement votre ensemble de données. La qualité élevée des données améliore l’efficacité du machine learning et produit des modèles dont les prédictions sont plus précises. 

Il existe des problèmes avec des jeux de données fournis par le client qui ne peuvent pas être résolus automatiquement sans une certaine connaissance du domaine. Par exemples, les valeurs aberrantes importantes dans la colonne cible pour les problèmes de régression peuvent entraîner des prédictions sous-optimales pour les valeurs non aberrantes. Certaines valeurs aberrantes doivent être supprimées selon l’objectif de modélisation. Si une colonne cible est incluse par accident comme l’une des ressources d’entrée, le modèle final sera bien validé, mais n’aura que peu de valeur pour les prédictions à venir. 

Pour aider les clients à déceler ce genre de problèmes, Autopilot fournit un rapport d’exploration des données qui contient des informations sur les problèmes potentiels de leurs données. Le rapport suggère également la manière de traiter les problèmes.

Un bloc-notes d’exploration de données contenant le rapport est généré pour chaque tâche Autopilot. Le rapport est stocké dans un compartiment S3 et est accessible depuis votre chemin de sortie. Le chemin du rapport d’exploration de données correspond généralement au schéma suivant.

```
[s3 output path]/[name of the automl job]/sagemaker-automl-candidates/[name of processing job used for data analysis]/notebooks/SageMaker AIAutopilotDataExplorationNotebook.ipynb
```

L'emplacement du carnet d'exploration des données peut être obtenu à partir de l'API Autopilot à l'aide de la réponse à l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)opération, qui est stockée dans. [DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html#sagemaker-Type-AutoMLJobArtifacts-DataExplorationNotebookLocation) 

Lorsque vous exécutez le pilote automatique depuis SageMaker Studio Classic, vous pouvez ouvrir le rapport d'exploration des données en procédant comme suit :

1. Cliquez sur l'icône **Accueil** dans le *volet ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/studio/icons/house.png) de navigation de gauche* pour afficher le menu de navigation supérieur d'**Amazon SageMaker Studio Classic**.

1. Sélectionnez la carte **AutoML** dans la zone de travail principale. Ceci ouvre un nouvel onglet **Autopilot**.

1. Dans la section **Name** (Nom), sélectionnez la tâche Autopilot qui contient le bloc-notes d’exploration des données que vous souhaitez examiner. Ceci ouvre un nouvel onglet de **Tâche Autopilot**.

1. Sélectionnez **Open data exploration notebook** (Ouvrir le bloc-notes d’exploration de données) dans la section supérieure droite de l’onglet **Autopilot job** (Tâche Autopilot).

Le rapport d’exploration de données est généré à partir de vos données avant le début du processus d’entraînement. Cela vous permet d’arrêter les tâches Autopilot susceptibles d’entraîner des résultats dénués de sens. De même, vous pouvez résoudre l’ensemble des problèmes ou améliorations liés à votre jeu de données avant de réexécuter Autopilot. Vous pouvez ainsi utiliser savoir-faire dans votre domaine pour améliorer manuellement la qualité des données avant d’entraîner un modèle sur un jeu de données mieux organisé.

Le rapport de données ne contient qu’une syntaxe statique et peut être ouvert dans n’importe quel environnement Jupyter. Le bloc-notes contenant le rapport peut être converti en d’autres formats, tels que PDF ou HTML. Pour plus d’informations sur les conversions, consultez [Utilisation du script nbconvert pour convertir les blocs-notes Jupyter vers d’autres formats](https://nbconvert.readthedocs.io/en/latest/usage.html ).

**Topics**
+ [Récapitulatif du jeu de données](#autopilot-data-exploration-report-dataset-summary)
+ [Analyse de la cible](#autopilot-data-exploration-report-target-analysis)
+ [Échantillon de données](#autopilot-data-exploration-report-data-sample)
+ [Lignes dupliquées.](#autopilot-data-exploration-report-duplicate-rows)
+ [Corrélations croisées de colonnes](#autopilot-data-exploration-report-cross-column-correlations)
+ [Lignes anormales](#autopilot-data-exploration-report-cross-anomolous-rows)
+ [Valeurs manquantes, cardinalité et statistiques descriptives](#autopilot-data-exploration-report-description-statistics-and-values)

## Récapitulatif du jeu de données
<a name="autopilot-data-exploration-report-dataset-summary"></a>

Ce **Dataset Summary** (Récapitulatif du jeu de données) fournit des statistiques clés caractérisant votre jeu de données, notamment le nombre de lignes, le nombre de colonnes, le pourcentage de lignes dupliquées et les valeurs cibles manquantes. Il est destiné à vous fournir une alerte rapide en cas de problème avec votre ensemble de données détecté par Amazon SageMaker Autopilot et susceptible de nécessiter votre intervention. Ces informations sont présentées sous forme d’avertissements classés comme étant de gravité « élevée » ou « faible ». La classification dépend du niveau de confiance dans le fait que le problème aura un impact négatif sur la performance du modèle.

Les informations sur la gravité élevée et faible apparaissent dans le résumé sous forme de fenêtres contextuelles. Dans la plupart des cas, des recommandations sont proposées pour confirmer qu’il existe un problème avec le jeu de données qui requiert votre attention. Des propositions sont également formulées sur la manière de résoudre les problèmes.

Autopilot fournit d’autres statistiques sur les valeurs cibles manquantes ou non valides dans notre jeu de données pour vous aider à détecter d’autres problèmes qui peuvent ne pas être détectés par des informations de gravité élevée. Un nombre inattendu de colonnes d’un type particulier peut indiquer que certaines colonnes que vous souhaitez utiliser sont peut-être absentes du jeu de données. Cela pourrait également indiquer qu’il y a eu un problème dans la façon dont les données ont été préparées ou stockées. La résolution de ces problèmes de données portés à votre attention par Autopilot peut améliorer les performances des modèles de machine learning entraînés sur vos données. 

Les informations de gravité élevée sont présentés dans la section récapitulative et dans d’autres sections pertinentes du rapport. Des exemples d’informations de gravité élevée et faible sont généralement donnés en fonction de la section du rapport de données.

## Analyse de la cible
<a name="autopilot-data-exploration-report-target-analysis"></a>

Diverses informations de gravité élevée et faible sont présentées dans cette section concernant la distribution des valeurs dans la colonne cible. Vérifiez que la colonne cible contient les bonnes valeurs. Des valeurs incorrectes dans la colonne cible donneront probablement lieu à un modèle de machine learning qui ne servira pas l’objectif commercial visé. Plusieurs informations de données de gravité élevée et faible figurent dans cette section. Voici quelques exemples.
+ **Valeurs cibles aberrantes** : distribution des cibles asymétriques ou inhabituelles pour la régression, comme les cibles à ailes lourdes.
+ **Cardinalité de cible élevée ou faible** : nombre peu fréquent d’étiquettes de classe ou grand nombre de classes uniques pour la classification.

Pour les types de problèmes de régression et de classification, des valeurs non valides telles que l’infinité numérique, `NaN` ou un espace vide apparaissent dans la colonne cible. Selon le type de problème, différentes statistiques de jeux de données sont présentées. Une distribution de valeurs de colonne cible pour un problème de régression vous permet de vérifier si la distribution correspond à vos attentes. 

La capture d’écran suivante montre un rapport de données Autopilot, qui inclut des statistiques telles que la moyenne, la médiane, le minimum, le maximum et le pourcentage de valeurs aberrantes dans votre jeu de données. La capture d’écran inclut également un histogramme montrant la distribution des étiquettes dans la colonne cible. L’histogramme montre **Valeurs de colonne cible** sur l’axe horizontal et **Nombre** sur l’axe vertical. Un encadré met en évidence la section **Pourcentage de valeurs aberrantes** de la capture d’écran pour indiquer où cette statistique apparaît.

![\[Rapport de données Autopilot sur la distribution des valeurs des colonnes cibles.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis.png)


Plusieurs statistiques sont affichées concernant les valeurs cibles et leur distribution. Si l’une des valeurs aberrantes, des valeurs non valides ou des pourcentages manquants est supérieure à zéro, ces valeurs sont mises en évidence afin que vous puissiez étudier pourquoi vos données contiennent des valeurs cibles inutilisables. Certaines valeurs cibles inutilisables sont mises en évidence par un avertissement de faible gravité. 

Dans la capture d’écran suivante, un symbole ` a été ajouté par erreur à la colonne cible, ce qui a empêché l’analyse de la valeur numérique de la cible. Un avertissement **Information de faible gravité : « Valeurs cibles non valides »** s’affiche. Dans cet exemple, l’avertissement indique que « 0,14 % des étiquettes de la colonne cible n’ont pas pu être converties en valeurs numériques. Les valeurs non numériques les plus courantes sont : [« -3,8e-05 »,« -9-05 »,« -4,7e-05 »,« -1,4999999999999999e-05 »,« -4,3e-05 »]. Cela indique généralement qu’il existe des problèmes de collecte ou de traitement des données. Amazon SageMaker Autopilot ignore toutes les observations dont l'étiquette cible n'est pas valide. »

![\[Les données Autopilot transmettent un avertissement de faible gravité concernant des valeurs cibles non valides.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-target-values.png)


Autopilot fournit également un histogramme indiquant la distribution des étiquettes à des fins de classification. 

La capture d’écran suivante montre un exemple de statistiques fournies pour votre colonne cible, notamment le nombre de classes, les valeurs manquantes ou non valides. Un histogramme avec **Étiquette cible** sur l’axe horizontal et **Fréquence** sur l’axe vertical montre la distribution de chaque catégorie d’étiquettes.

![\[Les données Autopilot signalent une cardinalité élevée pour la classification.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-classification.png)


**Note**  
Vous trouverez des définitions de tous les termes présentés dans cette section et dans d’autres sections dans la section **Définitions** au bas du bloc-notes du rapport.

## Échantillon de données
<a name="autopilot-data-exploration-report-data-sample"></a>

Autopilot présente un échantillon réel de vos données pour vous aider à identifier les problèmes liés à votre jeu de données. La table d’échantillon défile horizontalement. Inspectez les données de l’échantillon pour vérifier que toutes les colonnes nécessaires sont présentes dans le jeu de données. 

Autopilot calcule également une mesure du pouvoir prédictif, qui peut être utilisée pour identifier une relation linéaire ou non linéaire entre une caractéristique et la variable cible. La valeur `0` indique que la caractéristique n’a aucune valeur prédictive dans la prédiction de la variable cible. La valeur `1` indique le pouvoir prédictif le plus élevé pour la variable cible. Pour plus d’informations sur le pouvoir prédictif, consultez **Définitions**. 

**Note**  
Il n’est pas recommandé d’utiliser le pouvoir prédictif comme substitut à l’importance d’une caractéristique. Ne l’utilisez que si vous êtes certain que le pouvoir prédictif est une mesure appropriée pour votre cas d’utilisation.

La capture d’écran suivante montre un exemple d’échantillon de données. La ligne du haut contient le pouvoir prédictif de chaque colonne dans votre jeu de données. La deuxième ligne contient le type de données de colonne. Les lignes suivantes contiennent les étiquettes. Les colonnes contiennent la colonne cible suivie de chaque colonne de caractéristique. Un pouvoir prédictif est associé à chaque colonne de caractéristique, encadré dans cette capture d’écran. Dans cet exemple, la colonne contenant la caractéristique `x51` a un pouvoir prédictif de `0.68` pour la variable cible `y`. La caractéristique `x55` est légèrement moins prédictive avec un pouvoir prédictif de `0.59`.

![\[Pouvoir de prédiction des échantillons de données du rapport Autopilot.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-sample-prediction.png)


## Lignes dupliquées.
<a name="autopilot-data-exploration-report-duplicate-rows"></a>

Si des lignes dupliquées sont présentes dans l'ensemble de données, Amazon SageMaker Autopilot en affiche un échantillon.

**Note**  
Il n’est pas recommandé d’équilibrer un jeu de données par sur-échantillonnage avant de le fournir à Autopilot. Cela peut entraîner des scores de validation inexacts pour les modèles entraînés par Autopilot, et les modèles produits peuvent être inutilisables.

## Corrélations croisées de colonnes
<a name="autopilot-data-exploration-report-cross-column-correlations"></a>

Autopilot utilise le coefficient de corrélation de Pearson, une mesure de la corrélation linéaire entre deux caractéristiques, pour remplir une matrice de corrélation. Dans cette matrice de corrélation, les caractéristiques numériques sont tracées sur les axes horizontal et vertical, avec le coefficient de corrélation de Pearson tracé à leurs intersections. Plus la corrélation entre deux caractéristiques est élevée, plus le coefficient est élevé, avec une valeur maximale de `|1|`.
+ La valeur `-1` indique que les caractéristiques présente une parfaite corrélation négative.
+ La valeur `1`, qui apparaît lorsqu’une caractéristique est corrélée à elle-même, indique une parfaite corrélation positive.

Vous pouvez utiliser les informations de la matrice de corrélation pour supprimer les caractéristiques fortement corrélées. Un nombre réduit de ressources diminue les risques de surajustement d’un modèle et peut baisser les coûts de production de deux manières. Cela raccourcit le temps d’exécution d’Autopilot et, pour certaines applications, peut réduire le coût des procédures de collecte de données. 

La capture d’écran suivante montre un exemple de matrice de corrélation entre `7` caractéristiques. Chaque caractéristique est affichée dans une matrice sur les axes horizontal et vertical. Le coefficient de corrélation de Pearson est affiché à l’intersection de deux caractéristiques. Une tonalité de couleur est associée à chaque intersection de caractéristiques. Plus la corrélation est élevée, plus la tonalité est foncée. Les tonalités les plus foncées occupent la diagonale de la matrice, où chaque caractéristique est corrélée à elle-même, ce qui représente une parfaite corrélation.

![\[Matrice de corrélation croisée des données du rapport Autopilot.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-cross-column-statistics.png)


## Lignes anormales
<a name="autopilot-data-exploration-report-cross-anomolous-rows"></a>

Amazon SageMaker Autopilot détecte les lignes de votre ensemble de données susceptibles de présenter des anomalies. Il attribue ensuite un score d’anomalie à chaque ligne. Les lignes présentant un score d’anomalie négatif sont considérées comme anormales. 

La capture d’écran suivante montre le résultat d’une analyse Autopilot pour les lignes contenant des anomalies. Une colonne contenant un score anormal apparaît à côté des colonnes du jeu de données pour chaque ligne.

![\[Jeu de données Autopilot avec des lignes anormales, affichant des scores d’anomalie négatifs.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-anomalous-rows.png)


## Valeurs manquantes, cardinalité et statistiques descriptives
<a name="autopilot-data-exploration-report-description-statistics-and-values"></a>

Amazon SageMaker Autopilot examine et génère des rapports sur les propriétés des différentes colonnes de votre ensemble de données. Dans chaque section du rapport de données qui présente cette analyse, le contenu est classé dans l’ordre. Cela vous permet de vérifier en priorité les valeurs les plus « suspectes ». Grâce à ces statistiques, vous pouvez améliorer le contenu des colonnes individuelles et améliorer la qualité du modèle produit par Autopilot.

Autopilot calcule plusieurs statistiques sur les valeurs catégoriques des colonnes qui les contiennent. Celles-ci incluent notamment le nombre d’entrées uniques et, pour le texte, le nombre de mots uniques.

Autopilot calcule plusieurs statistiques standard sur les valeurs numériques des colonnes qui les contiennent. L’image suivante illustre ces statistiques, notamment les valeurs moyennes, médianes, minimales et maximales, ainsi que les pourcentages de types numériques et de valeurs aberrantes. 

![\[Les données Autopilot présentent les statistiques sur des colonnes avec des valeurs numériques.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-descriptive-statistics.png)


# Recherche et exécution du bloc-notes de définition des candidats
<a name="autopilot-candidate-generation-notebook"></a>

Le bloc-notes de définition de candidats contient des suggestions sur chaque étape de prétraitement, algorithme et plages d’hyperparamètres. 

Vous pouvez choisir le candidat à entraîner et à ajuster de deux manières. La première, en exécutant des sections du bloc-notes. La seconde, en exécutant l’intégralité du bloc-notes pour optimiser tous les candidats afin d’identifier le meilleur candidat. Si vous exécutez l’ensemble du bloc-notes, seul le meilleur candidat s’affiche une fois la tâche terminée. 

Pour exécuter le pilote automatique à partir de SageMaker Studio Classic, ouvrez le bloc-notes de définition des candidats en procédant comme suit :

1. Cliquez sur l'icône **Accueil** dans le volet ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/studio/icons/house.png) de navigation de gauche pour afficher le menu de navigation supérieur d'**Amazon SageMaker Studio Classic**.

1. Sélectionnez la carte **AutoML** dans la zone de travail principale. Ceci ouvre un nouvel onglet **Autopilot**.

1. Dans la section **Name** (Nom), sélectionnez la tâche Autopilot qui contient le bloc-notes de définition des candidats que vous souhaitez examiner. Ceci ouvre un nouvel onglet de **Tâche Autopilot**.

1. Choisissez **Ouvrir le bloc-notes de génération des candidats** dans la section supérieure droite de l’onglet **Tâche Autopilot**. Cela ouvre un nouvel aperçu en lecture seule du bloc-notes de définition des candidats **Amazon SageMaker Autopilot.**

Pour exécuter le bloc-notes de définition des candidats, procédez comme suit :

1. Choisissez **Importer un bloc-notes** en haut à droite de l'onglet **Amazon SageMaker Autopilot Candidate Definition Notebook**. Cela ouvre un onglet permettant de configurer un nouvel environnement de bloc-notes pour exécuter celui-ci.

1. Sélectionnez une SageMaker **image** existante ou utilisez une **image personnalisée**. 

1. Sélectionnez un **Noyau**, un **Type d’instance** et un **Script de démarrage** facultatif.

Vous pouvez désormais exécuter le bloc-notes dans ce nouvel environnement.

# Configuration de la sortie d’inférence dans les conteneurs générés
<a name="autopilot-automate-model-development-container-output"></a>

Autopilot génère une liste [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) ordonnée. Elle peut être utilisée pour créer un modèle à déployer dans un pipeline de machine learning. Ce modèle peut être utilisé pour l’hébergement en ligne et l’inférence. 

Les clients peuvent répertorier les définitions des conteneurs d’inférence à l’aide de l’API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html). La liste des définitions des conteneurs d’inférence représentant le meilleur candidat est également disponible dans la réponse [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html).

## Définitions des conteneurs d’inférence pour les types de problèmes de régression et de classification
<a name="autopilot-problem-type-container-output"></a>

Autopilot génère des conteneurs d’inférence spécifiques au [mode d’entraînement](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode) et au [type de problèmes](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types) de la tâche.

### Définitions de conteneurs pour le mode d’optimisation des hyperparamètres (HPO)
<a name="autopilot-problem-type-container-output-hpo"></a>
+ **Régression** : HPO génère deux conteneurs :

  1. Un conteneur d’ingénierie des caractéristiques qui transforme les caractéristiques d’origine en caractéristiques sur lesquelles les algorithmes de régression peuvent s’entraîner.

  1. Un conteneur d’algorithme qui transforme les caractéristiques et génère un score de régression pour le jeu de données.
+ **Classification** : HPO génère trois conteneurs :

  1. Un conteneur d’ingénierie des caractéristiques qui transforme les caractéristiques d’origine en caractéristiques sur lesquelles les algorithmes de classification peuvent s’entraîner.

  1. Un conteneur d’algorithme qui génère l’étiquette `predicted_label` qui présente la plus forte probabilité. Ce conteneur peut également générer les différentes probabilités associées aux résultats de la classification dans la réponse d’inférence.

  1. Un conteneur d’ingénierie des caractéristiques qui effectue le post-traitement de la prédiction de l’algorithme. Par exemple, il peut effectuer une transformation inverse sur l’étiquette prédite et la remplacer par l’étiquette d’origine. 

### Définitions de conteneur pour le mode Assemblage
<a name="autopilot-problem-type-container-output-ensemble"></a>

En mode Assemblage, les types de problèmes de régression et de classification n’ont qu’un seul conteneur d’inférence. Ce conteneur d’inférence transforme les caractéristiques et génère les prédictions en fonction du type de problème. 

## Réponses d’inférence par type de problèmes
<a name="autopilot-problem-type-inference-response"></a>

### Réponses d’inférence pour les modèles de classification
<a name="autopilot-problem-type-inference-response-classification"></a>

Pour les conteneurs d’inférence de classification, vous pouvez sélectionner le contenu de la réponse d’inférence à l’aide de quatre clés prédéfinies :
+ `predicted_label` : étiquette présentant la probabilité la plus élevée de prédire l’étiquette correcte, telle que déterminée par Autopilot.
+ `probability`: 
  + **Modèles HPO :** probabilité de la classe `True` pour la classification binaire. La probabilité de l’étiquette `predicted_label` pour la classification multi-classes.
  + **Modèles ensemblistes :** probabilité de l’élément `predicted_label` pour la classification binaire et multi-classes.
+ `probabilities` : liste des probabilités pour toutes les classes correspondantes.
+ `labels` : liste de toutes les étiquettes.

Par exemple, pour un problème de classification binaire, si vous transmettez les clés de réponse d’inférence `['predicted_label', 'probability', 'probabilities', 'labels']` et que la réponse de sortie apparaît sous la forme `[1, 0.1, "[0.9, 0.1]", "['1', '0']"]`, vous devez l’interpréter comme suit :

1. La clé `predicted_label` est égale à `1` parce que l’étiquette « 1 » a une probabilité plus élevée (`0.9` dans ce cas).

1. Pour les modèles HPO, la clé `probability` est égale à `0.1` qui est la probabilité de l’élément `positive_class` (`0` dans ce cas) sélectionné par Autopilot.

   Pour les modèles ensemblistes, la clé `probability` est égale à `0.9` qui est la probabilité de l’étiquette `predicted_label`.

1. La clé `probabilities` répertorie la clé `probability` de chaque étiquette dans `labels`.

1. Les éléments `labels` sont les étiquettes uniques du jeu de données, où la deuxième étiquette (« 0 » dans ce cas) est l’élément `positive_class` sélectionné par Autopilot.

Par défaut, les conteneurs d’inférence sont configurés pour générer uniquement les étiquettes `predicted_label`. Pour sélectionner du contenu d’inférence supplémentaire, vous pouvez mettre à jour le paramètre `inference_response_keys` afin d’inclure jusqu’à ces trois variables d’environnement :
+ `SAGEMAKER_INFERENCE_SUPPORTED` : est définie pour vous fournir des conseils sur le contenu pris en charge par chaque conteneur.
+ `SAGEMAKER_INFERENCE_INPUT` : doit être définie sur les clés que le conteneur attend dans les données utiles d’entrée.
+ `SAGEMAKER_INFERENCE_OUTPUT` : doit être renseignée avec le jeu de clés que le conteneur délivre en sortie.

### Réponses d’inférence pour les modèles de classification en mode HPO
<a name="autopilot-problem-type-inference-response-classification-hpo"></a>

Cette section explique comment configurer la réponse d’inférence à partir de modèles de classification à l’aide du mode d’optimisation des hyperparamètres (HPO).

Pour choisir le contenu de la réponse d’inférence en mode HPO : ajoutez les variables `SAGEMAKER_INFERENCE_INPUT` et `SAGEMAKER_INFERENCE_OUTPUT` aux deuxième et troisième conteneurs générés en mode HPO pour les problèmes de classification.

Les clés prises en charge par le deuxième conteneur (algorithme) sont predicted\$1label, probabilité et probabilités. Notez que `labels` n’est délibérément pas ajouté à `SAGEMAKER_INFERENCE_SUPPORTED`.

Les clés prises en charge par le troisième conteneur de modèle de classification sont `predicted_label`, `labels`, `probability` et `probabilities`. Par conséquent, l’environnement `SAGEMAKER_INFERENCE_SUPPORTED` inclut les noms de ces clés.

Pour mettre à jour la définition des conteneurs d’inférence afin de recevoir `predicted_label` et `probability`, utilisez l’exemple de code suivant.

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

L’exemple de code suivant met à jour la définition des conteneurs d’inférence afin de recevoir `predicted_label`, `probabilities` et `labels`. Ne passez pas l’étiquette `labels` au deuxième conteneur (conteneur d’algorithme), car elle peut être générée par le troisième conteneur indépendamment. 

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probabilities,labels'})
```

Les sections démontables suivantes fournissent des exemples de code pour AWS SDK pour Python (Boto3) et pour le SageMaker SDK pour Python. Chaque section montre comment sélectionner le contenu des réponses d’inférence en mode HPO pour l’exemple de code correspondant.

#### AWS SDK pour Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-hpo-boto3"></a>

```
import boto3

sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

best_candidate_containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})

# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

#### SageMaker SDK pour Python
<a name="autopilot-problem-type-inference-response-classification-hpo-sdk"></a>

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  inference_response_keys**=['probabilities', 'labels'])

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

### Réponses d’inférence pour les modèles de classification en mode Assemblage
<a name="autopilot-problem-type-inference-response-classification-ensemble"></a>

Cette section explique comment configurer la réponse d’inférence à partir de modèles de classification à l’aide du mode Assemblage. 

En **mode Assemblage**, pour choisir le contenu de la réponse d’inférence, mettez à jour la variable d’environnement `SAGEMAKER_INFERENCE_OUTPUT`.

Les clés prises en charge par le conteneur de modèle de classification sont `predicted_label`, `labels`, `probability` et `probabilities`. Ces clés sont incluses dans l’environnement `SAGEMAKER_INFERENCE_SUPPORTED`.

Pour mettre à jour la définition des conteneurs d’inférence afin de recevoir `predicted_label` et `probability`, consultez l’exemple de code suivant.

```
containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

La section réductible suivante fournit un exemple de code permettant de sélectionner le contenu des réponses d’inférence en mode Assemblage. L'exemple utilise AWS SDK pour Python (Boto3).

#### AWS SDK pour Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-ensembling-boto3"></a>

```
import boto3
sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>' 

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

*best_candidate_containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
*
# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

La section démontable suivante fournit un exemple de code identique à l'exemple du SageMaker SDK pour Python pour HPO. Ces informations sont incluses à titre indicatif.

#### SageMaker SDK pour Python
<a name="autopilot-problem-type-inference-response-classification-ensembling-sdk"></a>

L'exemple de code HPO suivant utilise le SageMaker SDK pour Python.

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  *inference_response_keys**=['probabilities', 'labels'])*

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```