

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Scaricare, preparare e caricare i dati di addestramento
<a name="automatic-model-tuning-ex-data"></a>

Per questo esempio, utilizziamo un set di dati di addestramento con informazioni sui clienti di una banca che include la professione del cliente, lo stato civile e le modalità di contatto durante la campagna di marketing diretto della banca. Per utilizzare un set di dati per un processo di ottimizzazione degli iperparametri, scaricalo, trasforma i dati e quindi caricalo in un bucket Amazon S3 .

****Per ulteriori informazioni sul set di dati e sulla trasformazione dei dati eseguita dall'esempio, consulta il notebook *APIshpo\$1xgboost\$1direct\$1marketing\$1sagemaker\$1* nella sezione Hyperparameter Tuning della scheda AI Examples nell'istanza del notebook. SageMaker ****

## Scaricare ed esplorare il set di dati di addestramento
<a name="automatic-model-tuning-ex-data-download"></a>

Per scaricare ed esplorare il set di dati, esegui il codice seguente nel notebook:

```
!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
```

## Preparare e caricare i dati
<a name="automatic-model-tuning-ex-data-transform"></a>

Prima di creare il processo di ottimizzazione degli iperparametri, prepara i dati e caricali in un bucket S3 a cui può accedere il processo di ottimizzazione degli iperparametri.

Esegui il codice seguente nel notebook:

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

## Fase succcessiva
<a name="automatic-model-tuning-ex-next-tuning-job"></a>

[Configurare e avviare il processo di ottimizzazione degli iperparametri](automatic-model-tuning-ex-tuning-job.md)