

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.

# Téléchargement, préparation et chargement des données d'entraînement
<a name="automatic-model-tuning-ex-data"></a>

Pour cet exemple, vous utilisez un jeu de données de formation contenant des informations sur les clients de la banque (emploi, statut marital et mode de contact lors de la campagne de marketing direct de la banque). Pour utiliser un jeu de données pour une tâche de réglage d'hyperparamètres, commencez par le télécharger, transformez ensuite les données, puis téléchargez-les dans un compartiment Amazon S3.

****Pour plus d'informations sur l'ensemble de données et la transformation des données effectuée dans l'exemple, consultez le bloc-notes *hpo\$1xgboost\$1direct\$1marketing\$1sagemaker\$1 dans la section Réglage APIs* des hyperparamètres de l'onglet Exemples d'IA de votre instance de bloc-notes. SageMaker ****

## Téléchargement et exploration du jeu de données d'entraînement
<a name="automatic-model-tuning-ex-data-download"></a>

Pour télécharger et explorer le jeu de données, exécutez le code suivant dans votre bloc-notes :

```
!wget -N https://archive.ics.uci.edu/ml/machine-learning-databases/00222/bank-additional.zip
!unzip -o bank-additional.zip
data = pd.read_csv('./bank-additional/bank-additional-full.csv', sep=';')
pd.set_option('display.max_columns', 500)     # Make sure we can see all of the columns
pd.set_option('display.max_rows', 5)         # Keep the output on one page
data
```

## Préparation et chargement des données
<a name="automatic-model-tuning-ex-data-transform"></a>

Avant de créer la tâche de réglage des hyperparamètres, préparez les données et chargez-les dans un compartiment S3 dans lequel la tâche de réglage des hyperparamètres pourra y accéder.

Exécutez le code suivant dans votre bloc-notes :

```
data['no_previous_contact'] = np.where(data['pdays'] == 999, 1, 0)                                 # Indicator variable to capture when pdays takes a value of 999
data['not_working'] = np.where(np.in1d(data['job'], ['student', 'retired', 'unemployed']), 1, 0)   # Indicator for individuals not actively employed
model_data = pd.get_dummies(data)                                                                  # Convert categorical variables to sets of indicators
model_data
model_data = model_data.drop(['duration', 'emp.var.rate', 'cons.price.idx', 'cons.conf.idx', 'euribor3m', 'nr.employed'], axis=1)

train_data, validation_data, test_data = np.split(model_data.sample(frac=1, random_state=1729), [int(0.7 * len(model_data)), int(0.9*len(model_data))])

pd.concat([train_data['y_yes'], train_data.drop(['y_no', 'y_yes'], axis=1)], axis=1).to_csv('train.csv', index=False, header=False)
pd.concat([validation_data['y_yes'], validation_data.drop(['y_no', 'y_yes'], axis=1)], axis=1).to_csv('validation.csv', index=False, header=False)
pd.concat([test_data['y_yes'], test_data.drop(['y_no', 'y_yes'], axis=1)], axis=1).to_csv('test.csv', index=False, header=False)

boto3.Session().resource('s3').Bucket(bucket).Object(os.path.join(prefix, 'train/train.csv')).upload_file('train.csv')
boto3.Session().resource('s3').Bucket(bucket).Object(os.path.join(prefix, 'validation/validation.csv')).upload_file('validation.csv')
```

## Étape suivante
<a name="automatic-model-tuning-ex-next-tuning-job"></a>

[Configuration et lancement de la tâche de réglage des hyperparamètres](automatic-model-tuning-ex-tuning-job.md)