h2oEnsemble包中的h2o.ensemble和h2o.stack有什么不同

Tao*_* Hu 5 r h2o

根据功能描述:

h2o.stack:此函数使用用户指定的现有H2O基本模型列表创建"超级学习者"(堆叠)集合.

h2o.ensemble:此函数使用用户指定的H2O基础学习算法创建"超级学习者"(堆叠)集合.

Eri*_*ell 8

它们是构建整体的两种不同方式.它们具有不同的接口,但它们最终会产生完全相同类型的对象.

  • h2o.stack()函数将已经训练过的(和交叉验证的)H2O模型列表作为输入,因此它需要做的就是元学习(组合器)步骤,这非常快.如果您想使用H2O模型网格或H2O模型网格集合作为基础学习者,这将非常有用.唯一需要注意的是,所有基础学习者必须使用相同的交叉验证折叠.如果您fold_assignment = "Modulo"在所有基础学习者(或网格)中使用,将确保相同的折叠.
  • h2o.ensemble()功能允许用户在整体中指定他们想要的基本模型,然后进行基本模型的所有训练和交叉验证,然后进行元学习(组合)步骤.这需要更长的时间,因为它必须训练所有的基础模型.

从最新的稳定版本(H2O 3.10.3.*)开始,堆叠现在可以在H2O(R,Python,Java,Scala)中作为"Stacked Ensemble"方法本地使用.关于这里的更多信息.但是,h2oEnsemble R软件包(其中h2o.ensemble()h2o.stack()功能仍然存在)也将继续得到支持.