Scaricare, preparare e caricare i dati di addestramento - Amazon SageMaker AI

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

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 hpo_xgboost_direct_marketing_sagemaker_ nella sezione Hyperparameter Tuning della scheda AI Examples APIs dell'istanza del notebook. SageMaker

Scaricare ed esplorare il set di dati di addestramento

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

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

Configurare e avviare il processo di ottimizzazione degli iperparametri