

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\_auto\_ml\_job\_v2](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**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)et [DescribeAutoMLJobV2](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é.  
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 un CreateAutoMLJob vers CreateAutoMLJobV2](#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 de [AutoMLCandidateGenerationConfig](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 de [AutoMLCandidateGenerationConfig](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 requis [AutoMLJobInputDataConfig](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 [Cross-validation 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'objet [AutoMLChannel](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 un CreateAutoMLJob vers CreateAutoMLJobV2
<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 en [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)mettant en évidence les modifications 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 comment le [AutoMLJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)type [AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)a été déplacé vers le [AutoMLProblemTypeConfig.TabularJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)type [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)dans la 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 [AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)) est devenu [AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)(Un tableau de [AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)) dans la 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"
                  }
              }
          }
      ]
  }
  ```

------