H2O AutoML构建了大量的GBM模型

问题描述 投票:0回答:2

我尝试使用AutoML进行100小时的二进制分类任务。它似乎只是构建了大量的GBM模型而没有进入其他类型。 (到目前为止已建成40)

有没有办法设置GBM模型的最大数量?

h2o
2个回答
3
投票

AutoML构建模型的顺序(GBM排在第一位)。 GBM模型构建过程的长度取决于您为max_runtime_secs设置的时间。如果你计划运行它100个小时,那么其中很大一部分将用于GBM超级参数空间,所以我对你的前40个型号是GBM并不感到惊讶。换句话说,这是预期的行为。

如果你想要训练模型中的多样性,那么你可以为一个较小的max_runtime_secs(比如说2小时)运行一个AutoML作业,然后在同一个项目上再次运行AutoML进程(每次2小时再运行49次 - - 或一些加起来长达100小时的组合)。如果在启动AutoML作业时使用相同的project_name,则应将全新的模型集(GBM,RF,DNN,GLM)添加到现有的AutoML排行榜中。


0
投票

正如Erin所说,如果你使用相同的AutoML多次运行project_name,结果将累积到单个leaderboard中,超参数搜索将累积到相同的grid对象中。但是,AutoML仍将运行相同的模型构建序列,因此它将在进入DL模型构建之前再次进行GBM超参数搜索。

感觉您的GBM超参数搜索没有收敛,因为stopping_tolerance对于您的数据集来说太小了。绑定的预发布版本中存在一个错误,它将stops_tolerance强制为0.001而不是让AutoML将其设置得更高,如果它计算出该容差对于小数据集而言太紧。您使用的是哪种版本的H2O-3?

关于停止标准的一点:

stopping_criteriamax_modelsstopping_rounds这样的stopping_tolerance适用于整个AutoML过程以及超参数搜索和单个模型构建。在运行开始时,max_runtime_secs用于计算整个过程的结束时间,然后在每个阶段计算剩余的总时间,并传递给模型构建或超参数搜索子任务。

你发布的Run Time 558:10:56.131真的很奇怪。我没有在AutoML.java代码中看到那种输出,也没有在Python或R绑定中看到那种输出。看起来第一眼看来这是来自H2O之外。 。 。你对这次运行的真实时间有什么看法吗?

如果您执行以下操作,我们应该能够弄清楚发生了什么:

  1. 如果您没有使用最新版本3.14.x,请升级。
  2. 在我们调试时,请为您的AutoML运行设置seed参数,以便我们获得可重复的结果。
  3. 请发布您的停止标准,排行榜输出,用户反馈输出,并将您的H2O日志发送到rpeck(at)h2o.ai和support(at)h2o.ai,以防我们需要进一步深入研究。您可以从服务器获取H2O日志或使用Flow下载它们。
© www.soinside.com 2019 - 2024. All rights reserved.