R 的 h2o.stack 是否有 python 等价物?

Is there a python equivalent for R's h2o.stack?

我正在与堆叠学习者一起工作。根据 H2OStackedEnsembleEstimator 的文档,h2o 的 python 实现允许您轻松构建集成模型。然而,这仅限于使用相同的基础训练数据构建基础分类器。我有基于时间的功能,其最短日期因数据源而异。每个数据样本都是一个时间点。为了尽可能多地利用数据,我将特征分成两组(取决于相关性和最短日期)并训练两个单独的模型。我想结合这些模型,但 H2OStackedEnsembleEstimator 要求功能相同。

根据 关于 R 的堆叠集成实现,有一个选项可以只执行元学习步骤,这应该只需要每个基本模型的 k 折交叉验证预测和真实目标值。

万一有人想到了...对于我的特殊问题,我意识到我将 运行 进入元学习步骤的问题,最小日期不匹配,我有一些想法可以规避这个。

对于 Super Learner algorithm (stacking such that you use the cross-validated predicted values from the base learners as training data for the metalearner), the only requirement is that the base learners must be trained on the same rows -- the columns can be different. There is a variant of stacking, let's call it "Holdout Stacking",您在 holdout 数据集上对基本模型进行评分,然后使用这些预测来训练元学习器。在这种情况下,您可以为基础学习者使用完全不同的训练框架。

当前 Stacked Ensembles implementation in H2O has a restriction that the whole training frame (rows and columns) must be the same for the base learners, but we will relax that requirement 将来(因为它不是真正需要的)。

在我们将 Stacked Ensembles 移动到 H2O 的 Java 后端之前,我在 Python 中仅使用 h2o Python 模块。目前,您可能可以相当轻松地修改该代码以获得您正在寻找的 Stacked Ensemble 类型。它在要点 here 中。