我尝试使用AutoML进行100小时的二进制分类任务。它似乎只是构建了大量的GBM模型而没有进入其他类型。 (到目前为止已建成40)
有没有办法设置GBM模型的最大数量?
答案 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_models
,stopping_rounds
和stopping_tolerance
适用于整个AutoML
流程以及超参数搜索和单个模型建立。在运行开始时max_runtime_secs
用于计算整个过程的结束时间,然后在每个阶段计算剩余的总时间,并传递给模型构建或超参数搜索子任务。
您发布的Run Time 558:10:56.131
非常奇怪。我在AutoML.java
代码或Python或R绑定中都没有看到那种输出。看起来第一眼看来这是来自H2O之外。 。 。你对这次运行的真实时间有什么看法吗?
如果您执行以下操作,我们应该能够弄清楚会发生什么:
seed
参数,以便我们获得可重复的结果。