h2o - 是否有受支持的方法来获取 H2O 模型在训练期间使用的功能列表?

标签 h2o

这是我的情况。我有 400 多个功能,其中许多可能没有用,而且通常为零。我希望能够:

  • 使用这些特征的子集训练模型
  • 查询该模型以获取实际用于构建该模型的特征
  • 构建一个只包含这些特征的 H2OFrame(我为我想要预测的每一行得到一个非零值的稀疏列表。)
  • 将这个新构建的框架传递给 H2OModel.predict() 以获得预测

我很确定找到的内容不受支持但目前有效 (v 3.13.0.341)。是否有更强大/受支持的方式来执行此操作?

model._model_json['output']['names']

响应变量似乎是此列表中的最后一项。

以类似的方式,最好有一种支持的方法来找出模型是在哪个 H2O 版本 下构建的。我在 json 中找不到版本号。

最佳答案

建好模型后,如果想知道模型使用了哪些特征列,可以在python中执行以下操作:

my_training_frame = your_model.actual_params['training_frame']

这将返回一些帧 id

然后你可以做

col_used = h2o.get_frame(my_training_frame)
col_used

已编辑(发表评论后)

要获取列,请使用: col_used.columns

此外,检查已保存二进制模型版本的一种快速方法是尝试将其加载到 h2o 中,如果它加载的是与 h2o 相同的版本,否则您将收到警告。

您也可以打开保存的模型文件,第一行会列出创建它所用的H2O版本。

对于保存为 mojo 的模型,您可以查看 model.ini 文件。它将列出 H2O 的版本。

关于h2o - 是否有受支持的方法来获取 H2O 模型在训练期间使用的功能列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45153176/

相关文章:

python - 在数据子集上运行但在原始数据上完美运行时出现 h2o 错误

r - 来自 H2O Mojo/Pojo 的分类 TreeMap

docker - 如何使用 docker 部署分布式水流集群?

来自 h2o 的 Python data.table

ubuntu - H2O 的 Driverless AI .deb 包安装失败

machine-learning - 具有多个特征的训练模型,其值在概念上是相同的

python - 如何在 H2OFrame 中删除行?

r - 将 h2o 模型转换为非 h2o 模型

python - H2O 性能指标 : AUCPR not available?

r - H2O importFile 跳过行