Téléchargement, préparation et chargement des données d'entraînement - Amazon SageMaker

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

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_xgboost_direct_marketing_sagemaker_ dans la section Réglage APIs des hyperparamètres de l'onglet Exemples de votre instance de bloc-notes. SageMaker

Téléchargement et exploration du jeu de données d'entraînement

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

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

Configuration et lancement de la tâche de réglage des hyperparamètres