代码之家  ›  专栏  ›  技术社区  ›  EngrStudent

h2o子集到“bestofFamily”

  •  1
  • EngrStudent  · 技术社区  · 7 年前

    AutoML有两个学习者,一个包括“all”,另一个是“best of family”的子集。

    有没有办法不手动将组件和堆叠的集成聚合器保存到磁盘上,这样就可以存储、重新加载和使用作为独立黑匣子的“最佳家庭”,而不需要在同一空间中存在1000个价值较低的学习者?

    如果是,我该怎么做?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Erin LeDell    7 年前

    运行AutoML时,所有内容都在内存中运行(除非将其中一个模型保存到磁盘,或者应用将对象保存到磁盘的选项,否则不会将任何内容保存到磁盘)。

    如果你只是想要“家庭最佳”叠层合奏,你所要做的就是 save that binary model . 保存堆叠集合时,它会为您保存所有必需的片段(基本模型和元模型)。然后,当您准备好进行预测时,可以稍后重新加载以用于另一个H2O集群(只要确保,如果您保存的是二进制模型,以后可以使用相同版本的H2O)。

    Python示例:

    bestoffamily = h2o.get_model('StackedEnsemble_BestOfFamily_0_AutoML_20171121_012135')
    
    h2o.save_model(bestoffamily, path = "/home/users/me/mymodel")
    

    R示例:

    bestoffamily <- h2o.getModel('StackedEnsemble_BestOfFamily_0_AutoML_20171121_012135')
    
    h2o.saveModel(bestoffamily, path = "/home/users/me/mymodel")
    

    稍后,您可以使用将堆叠的集合重新加载到内存中 h2o.load_model() Python或 h2o.loadModel() 在R。

    或者,您可以使用 MOJO model (不同的模型格式)。使用MOJOs需要做更多的工作,尽管它们速度更快,并且是为生产使用而设计的。如果要保存MOJO模型,则可以使用 h2o.save_mojo() Python或 h2o.saveMojo() 在R。