Я использую AWS SageMaker для запуска настройки гиперпараметра для оптимизации модели XGBoost. Я могу сделать это, используя пример кода ниже. У меня вопрос: как я могу тогда выбрать лучшую работу по настройке гиперпараметра и создать модель с помощью кода? Я знаю, что в консоли AWS я вижу лучшую работу и нажимаю «Создать модель», но я хочу сделать это, используя код Python.
sess = sagemaker.Session()
s3_input_train = sagemaker.s3_input(s3_data='s3://{}/{}/train'.format(bucket, prefix), content_type='csv')
s3_input_validation = sagemaker.s3_input(s3_data='s3://{}/{}/valid/'.format(bucket, prefix), content_type='csv')
xgb_cont = get_image_uri(region, 'xgboost', repo_version='0.90-1')
xgb = sagemaker.estimator.Estimator(xgb_cont, role, train_instance_count=1, train_instance_type='ml.m4.4xlarge',
output_path='s3://{}/{}/output'.format(bucket, prefix), sagemaker_session=sess)
xgb.set_hyperparameters(eval_metric='rmse', objective='reg:squarederror', num_round=100)
hyperparameter_ranges = {'eta': ContinuousParameter(0, 1), 'min_child_weight': ContinuousParameter(1, 10),
'alpha': ContinuousParameter(0, 2), 'max_depth': IntegerParameter(1, 10)}
tuner = HyperparameterTuner(xgb,
objective_metric_name='validation:rmse',
objective_type='Minimize',
hyperparameter_ranges=hyperparameter_ranges,
max_jobs=20, max_parallel_jobs=10)
tuner.fit({'train': s3_input_train, 'validation': s3_input_validation})