【问题标题】:h2o subset to "bestofFamily"“bestofFamily”的 h2o 子集
【发布时间】:2018-07-27 14:02:47
【问题描述】:

AutoML 生成两个学习器,一个包含“所有”,另一个是“家族最佳”的子集。

有什么方法可以不手动将组件和堆叠的集成聚合器保存到磁盘,以便将“最好的系列”视为独立的黑盒,可以存储、重新加载和使用,而无需真正减少 1000有价值的学习者存在于同一个空间?

如果是这样,我该怎么做?

【问题讨论】:

    标签: h2o ensemble-learning automl


    【解决方案1】:

    在运行 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")
    

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

    或者,您可以使用MOJO model(不同的模型格式),而不是使用需要在预测时运行 H2O 集群的 H2O 二元模型。使用 MOJO 需要做更多的工作,尽管它们速度更快并且专为生产使用而设计。如果您想保存 MOJO 模型,则可以在 Python 中使用 h2o.save_mojo() 或在 R 中使用 h2o.saveMojo()

    【讨论】:

      猜你喜欢
      • 2015-01-26
      • 2018-01-31
      • 2015-07-01
      • 2016-06-23
      • 1970-01-01
      • 2022-01-09
      • 2018-07-16
      • 2016-03-02
      • 1970-01-01
      相关资源
      最近更新 更多