H2O AutoML构建了大量的GBM模型

时间:2017-08-14 00:18:31

标签: h2o

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

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

2 个答案:

答案 0 :(得分: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排行榜中。

答案 1 :(得分:0)

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

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

关于停止标准的一点:

stopping_criteria,例如max_modelsstopping_roundsstopping_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并支持(at)h2o.ai以防我们需要进一步深入研究。您可以从服务器获取H2O日志,也可以使用Flow下载它们。