【发布时间】:2018-07-27 14:02:47
【问题描述】:
AutoML 生成两个学习器,一个包含“所有”,另一个是“家族最佳”的子集。
有什么方法可以不手动将组件和堆叠的集成聚合器保存到磁盘,以便将“最好的系列”视为独立的黑盒,可以存储、重新加载和使用,而无需真正减少 1000有价值的学习者存在于同一个空间?
如果是这样,我该怎么做?
【问题讨论】:
标签: h2o ensemble-learning automl
AutoML 生成两个学习器,一个包含“所有”,另一个是“家族最佳”的子集。
有什么方法可以不手动将组件和堆叠的集成聚合器保存到磁盘,以便将“最好的系列”视为独立的黑盒,可以存储、重新加载和使用,而无需真正减少 1000有价值的学习者存在于同一个空间?
如果是这样,我该怎么做?
【问题讨论】:
标签: h2o ensemble-learning automl
在运行 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()。
【讨论】: