Как автоматически использовать все параметры модели не выигравших моделей h2o automl? - PullRequest
0 голосов
/ 08 октября 2019

Я довольно новичок в H2O и пытаюсь разобраться с этим. В настоящее время я использую automl и из моделей в списке лидеров Я решил использовать 3-ю модель, а не модель лидера .

Я делаю это с помощью приведенного ниже кода, а затем получаю параметрыэта конкретная модель. Затем я вручную проверяю фактические параметры, которые отличаются от параметров по умолчанию, и использую их для определения моей модели.

#choosing the 3rd model from the leaderboard
chosen_model = h2o.get_model(aml.leaderboard.as_data_frame()['model_id'][2])

#getting the model parameters
chosen_model.params

# example result including only some of the parameters 

{'model_id': {'default': None,
  'actual': {'__meta': {'schema_version': 3,
    'schema_name': 'ModelKeyV3',
    'schema_type': 'Key<Model>'},
   'name': 'GBM_grid_1_AutoML_20191007_170602_model_12',
   'type': 'Key<Model>',
   'URL': '/3/Models/GBM_grid_1_AutoML_20191007_170602_model_12'}},
 'training_frame': {'default': None,
  'actual': {'__meta': {'schema_version': 3,
    'schema_name': 'FrameKeyV3',
    'schema_type': 'Key<Frame>'},
   'name': 'automl_training_py_13_sid_ac88',
   'type': 'Key<Frame>',
   'URL': '/3/Frames/automl_training_py_13_sid_ac88'}},
 'validation_frame': {'default': None,
  'actual': {'__meta': {'schema_version': 3,
    'schema_name': 'FrameKeyV3',
    'schema_type': 'Key<Frame>'},
   'name': 'py_15_sid_ac88',
   'type': 'Key<Frame>',
   'URL': '/3/Frames/py_15_sid_ac88'}},
 'nfolds': {'default': 0, 'actual': 5},
 'keep_cross_validation_models': {'default': True, 'actual': False},
 'keep_cross_validation_predictions': {'default': False, 'actual': True},
 'keep_cross_validation_fold_assignment': {'default': False, 'actual': False},  etc.


# pasting the actual parameters on my model

model = H2OGradientBoostingEstimator(nfolds=5, keep_cross_validation_models=False, keep_cross_validation_predictions= True, score_tree_interval=5, fold_assignment= 'Modulo', ntrees=51, max_depth=12, min_rows=5.0, stopping_metric='deviance', stopping_tolerance = 0.04867923835112355, seed = 47, distribution='gaussian', learn_rate=0.1, sample_rate=0.5, col_sample_rate = 0.7) 

Это процесс, который я должен повторить много раз, так как я запускаю много автомобилей для проекта, над которым я сейчас работаю.

Есть ли код, уже доступный на h2o, которыйпозволяет вам сделать это автоматически? Или кто-нибудь знает более эффективный способ?

Заранее большое спасибо!

1 Ответ

0 голосов
/ 08 октября 2019

У нас пока нет удобной функции для получения нестандартных параметров из модели H2O в Python, но есть тикет, открытый для этого.

Мое предложение заключается в том, что вы просто пишете функцию для этого (проверьте все параметры, чтобы увидеть, совпадают ли значения «по умолчанию» и «фактические», верните значения не по умолчанию), чтобы вы могли повторно- использовать его на любой модели в будущем. Если вы пишете функцию, обновите ваш пост, и, возможно, мы сможем использовать ваш код для выполнения задачи (или не стесняйтесь создавать запрос на извлечение). : -)

...