기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
훈련 데이터 다운로드, 준비 및 업로드
이 예제를 위해 은행 고객에 대한 정보로 구성된 훈련 데이터 세트를 사용하는데, 여기에는 고객의 직업, 결혼 여부 및 은행의 다이렉트 마케팅 캠페인 기간 중 고객 연락 방법이 포함되어 있습니다. 하이퍼파라미터 튜닝 작업에 데이터 세트로 사용하기 위해 다운로드한 다음 데이터를 변환한 후 Amazon S3 버킷으로 업로드합니다.
예제가 수행하는 데이터 세트 및 데이터 변환에 대한 자세한 내용은 노트북 인스턴스의 SageMaker 예제 탭의 하이퍼파라미터 튜닝 섹션에서 hpo_xgboost_direct_marketing_sagemaker_APIs 노트북을 참조하세요.
훈련 데이터 세트 다운로드 및 탐색
데이터 세트를 다운로드 및 탐색하려면 노트북에서 다음 코드를 실행합니다.
!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')