如何训练h2o automl模型iterativley

时间:2018-01-07 18:31:12

标签: r machine-learning h2o automl

我正在尝试使用h2o.automl()进行训练。但由于超时,培训退出了。我知道max_runtime_secs可以设置为更高的数字。但如果我们可以训练1小时,然后将它保存在某个地方,那就太棒了。第二天再次从第1天开始训练。

怎么做?

我试过设置project_name - 但退出时没有保存。因此,如果我们关闭电脑并重新启动,则没有用。

我已经使用了以下代码:

library( h2o )

h2o.init( nthreads = -1, max_mem_size = '10240m' )

train = h2o.importFile( 'train.csv' )

automl_model = h2o.automl( y = 'outcome', training_frame = train, nfolds = 3, max_runtime_secs = 1800,

                           project_name = 'automl_aus_tennis' )

link.csv链接:http://www.mediafire.com/file/qj7yiju15ncgnax/train.csv

2 个答案:

答案 0 :(得分:3)

您可以使用相同的h2o.automl()和不同种子重复运行project_name以构建其他模型,并将它们添加到同一leaderboard。我一直这样做。

有一个pull request,应尽快进入,这允许您指定algos不运行。这允许您调整在每次AutoML运行时执行哪些超参数搜索。

您需要保持h2o-3实例运行以实现您的目标,因为您目前无法将AutoML运行状态持久保存到磁盘并将其加载到新的{{1}实例,或将从磁盘加载的模型添加到h2o-3。那些将是有用的功能请求。 : - )

答案 1 :(得分:1)

如果关闭H2O群集(或计算机)并在以后重新启动H2O群集,则无法继续运行H2O AutoML作业。如果您让H2O群集保持运行,则可以使用h2o.automl()的相同值再次运行project_name,从而向排行榜添加更多模型。

如果您需要在运行之间关闭H2O群集,那么您可以做的最好的事情是在运行第二,第三,第四时,在seed函数中设置不同的h2o.automl()等时间因为你在AutoML运行中的随机网格搜索会有所不同。这样你就可能得到新的模型,而不是你之前在AutoML运行中训练过的模型。