Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Herunterladen, Vorbereiten und Hochladen von Trainingsdaten
In diesem Beispiel verwenden Sie einen Trainingsdatensatz mit Informationen über Bankkunden, der den Beruf des Kunden, den Familienstand und die Art der Kontaktaufnahme mit ihm im Rahmen der Direktmarketingkampagne der Bank enthält. Um einen Datensatz für einen Hyperparameter-Abstimmungsauftrag zu verwenden, laden Sie ihn herunter, transformieren Sie die Daten und laden Sie sie dann in einen Amazon-S3-Bucket hoch.
Weitere Informationen zum Datensatz und zur Datentransformation, die das Beispiel durchführt, finden Sie im Notizbuch HPO_XGBoost_Direct_Marketing_SageMaker_APIs im Abschnitt Hyperparameter Tuning auf der Registerkarte Beispiele in Ihrer Notebook-Instanz. SageMaker
Herunterladen und Auswerten des Trainingsdatensatzes
Um den Datensatz herunterzuladen und auszuwerten, führen Sie den folgenden Code in Ihrem Notebook aus:
!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
Vorbereiten und Hochladen von Daten
Bevor Sie den Hyperparameter-Optimierungsauftrag erstellen, müssen Sie die Daten vorbereiten und in einen S3-Bucket hochladen, wo der Hyperparameter-Optimierungsauftrag darauf zugreifen kann.
Führen Sie den folgenden Code in Ihrem Notebook aus:
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')
Nächster Schritt
Konfigurieren und Starten eines Hyperparameter-Optimierungsauftrags