Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk contoh ini, Anda menggunakan kumpulan data pelatihan informasi tentang nasabah bank yang mencakup pekerjaan pelanggan, status perkawinan, dan bagaimana mereka dihubungi selama kampanye pemasaran langsung bank. Untuk menggunakan kumpulan data untuk pekerjaan penyetelan hyperparameter, Anda mengunduhnya, mengubah data, dan kemudian mengunggahnya ke bucket Amazon S3.
Untuk informasi selengkapnya tentang kumpulan data dan transformasi data yang dilakukan contoh, lihat notebook hpo_xgboost_direct_marketing_sagemaker_ di bagian Penyetelan Hyperparameter APIs pada tab Contoh AI di instance notebook Anda. SageMaker
Unduh dan Jelajahi Dataset Pelatihan
Untuk mengunduh dan menjelajahi kumpulan data, jalankan kode berikut di buku catatan Anda:
!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
Siapkan dan Unggah Data
Sebelum membuat pekerjaan tuning hyperparameter, siapkan data dan unggah ke bucket S3 di mana pekerjaan tuning hyperparameter dapat mengaksesnya.
Jalankan kode berikut di buku catatan Anda:
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')
Langkah Selanjutnya
Konfigurasikan dan Luncurkan Job Tuning Hyperparameter