下載、準備和上傳訓練資料 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

下載、準備和上傳訓練資料

在本範例中,您會使用銀行客戶相關資訊的訓練資料集,包含客戶的工作、婚姻狀態,以及銀行的直接行銷活動如何聯絡他們。若要使用超參數調校任務的資料集,您可以下載、轉換資料,然後將其上傳到 Amazon S3 儲存貯體。

如需有關此範例所執行之資料集和資料轉換的詳細資訊,請參閱筆記本執行個體中「範例」索引標籤中「超參數調整」區段中的 HPO_XGBOOST_Direct_marketing_SAGEMAKER_ API 筆記本。SageMaker

下載並探索訓練資料集

若要下載並探索資料集,請在您的筆記本中執行下列程式碼:

!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

準備並上傳資料

建立超參數調校任務之前,請先準備資料並將其上傳到超參數調校任務可以存取的 S3 儲存貯體。

在您的筆記本中執行下列程式碼:

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

後續步驟

設定並啟動超參數調校任務