【问题标题】:Is there a python equivalent for R's h2o.stack?R的h2o.stack是否有python等价物?
【发布时间】:2017-12-17 03:07:27
【问题描述】:

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

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

以防万一……对于我的特定问题,我意识到我将遇到与最小日期不匹配的元学习步骤的问题,我有想法来规避这个问题。

【问题讨论】:

    标签: python r h2o ensemble-learning


    【解决方案1】:

    对于Super Learner 算法(堆叠以便您使用来自基础学习器的交叉验证预测值作为金属学习器的训练数据),唯一的要求是基础学习器必须在相同的行上进行训练——列可以不同。有一种堆叠的变体,我们称之为"Holdout Stacking",您可以在其中对保留数据集上的基本模型进行评分,并使用这些预测来训练金属学习者。在这种情况下,您可以为基础学习者使用完全不同的训练框架。

    当前在 H2O 中的 Stacked Ensembles 实现有一个限制,即整个训练框架(行和列)对于基础学习器必须相同,但我们将来会 will relax that requirement(因为它不是真正需要的)。

    在将 Stacked Ensembles 移至 H2O 的 Java 后端之前,我仅使用 h2o Python 模块在 Python 中编写了一个简单的参考实现。目前,您可能可以相当轻松地修改该代码以获得您正在寻找的 Stacked Ensemble 类型。这是一个要点here

    【讨论】:

    • 我会试一试的。谢谢!
    猜你喜欢
    • 2021-03-29
    • 2012-07-17
    • 2012-06-14
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    相关资源
    最近更新 更多