H2O Python: Извлеките модель поиска по сетке с наибольшим AUC для набора данных проверки

#python #h2o

#питон #h2o

Вопрос:

Я создаю модель случайного леса, используя поиск по сетке с помощью H2O Python API. Я разделяю данные на train и validation и использую k-кратную перекрестную проверку, чтобы выбрать лучшую модель при поиске по сетке.

Я могу получить модель с лучшим MSE результатом из обучающего набора, но я хочу получить модель с самым высоким AUC результатом из набора данных проверки.

Я мог бы закодировать все на Python, но мне было интересно, существует ли подход H2O для решения этой проблемы. Есть какие-нибудь предложения о том, как я мог бы это сделать?

Ответ №1:

Если g это ваш объект grid, то:

 g.sort_by('auc', False);
  

предоставит вам модели, упорядоченные по AUC. 2-й параметр False означает, что наибольший AUC будет первым. Он возвращает H2OTwoDimTable объект, так что вы можете выбрать первую модель (лучшую модель по AUC) таким образом.

Я считаю, что это должна быть сортировка на основе оценок в наборе проверки, а не в обучающем наборе. Однако вы можете указать это явно с помощью:

 g.sort_by('auc(valid=True)', False);
  

Комментарии:

1. Это больше не работает в H2O-3. Новая версия: g.get_grid(sort_by=’auc’, уменьшение = True)