Есть два места, где вы можете указать начальное число при использовании Python API
1) Оценщик, давайте возьмем GBM в качестве примера
gbm = H2OGradientBoostingEstimator(nfolds=5, seed=1234)
gbm.train(x=features,y=response,training_frame=train)
Обратите внимание, как я не делаюукажите семя в методе train
.Если вы передадите начальный аргумент train
, он сломается.
Из API docs вы увидите, что не задан начальный аргумент.
train(x=None, y=None, training_frame=None, offset_column=None, fold_column=None, weights_column=None, validation_frame=None, max_runtime_secs=None, ignored_columns=None, model_id=None, verbose=False)
Из документации приведено определение начального числа оценщика.
Эта опция указывает начальное число генератора случайных чисел (RNG) для алгоритмов, зависящих от рандомизации.,Когда начальное число определено, алгоритм будет вести себя детерминистически.Начальное число согласовано для каждого экземпляра H2O, поэтому вы можете создавать модели с одинаковыми начальными условиями в альтернативных конфигурациях.
2) search_criteria
в H2OGridSearch .Для документов :
Подробнее о критериях поиска: это словарь параметров управления для более интеллектуального поиска гиперпараметров.Словарь может содержать значения для: стратегии, max_models, max_runtime_secs, stopping_metric, stopping_tolerance, stopping_rounds и seed.Значение по умолчанию для стратегии «Декартов» охватывает все пространство комбинаций гиперпараметров.Если вы хотите использовать поиск по декартовой сетке, вы можете оставить аргумент search_criteria неопределенным.Укажите стратегию «RandomDiscrete» для случайного поиска всех комбинаций ваших гиперпараметров.RandomDiscrete обычно должен сочетаться хотя бы с одним критерием ранней остановки max_models и / или max_runtime_secs.Ниже приведены некоторые примеры:
Хотя вы можете передать параметр seed в метод train
для поиска по сетке без каких-либо разрывов, параметр seed там ничего не делает.Если вы хотите иметь воспроизводимые прогоны поиска по сетке, вам нужно указать аргумент seed в параметре search_criteria, например:
# build grid search with previously made GBM and hyper parameters
grid = H2OGridSearch(model = my_model, hyper_params = hyper_params,
search_criteria = {'strategy': "RandomDiscrete", "max_runtime_secs" : 10, "seed" :1234})
# train using the grid
grid.train(x = predictors, y = response, training_frame = train, validation_frame = valid)