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

时间:2017-07-17 20:31:15

标签: h2o

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

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

我很确定发现的内容不受支持但现在可以使用(v 3.13.0.341)。是否有更强大/支持的方式来做到这一点?

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

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

以类似的方式,有一种支持的方法可以找出模型所依据的 H2O版本。我在json中找不到版本号。

1 个答案:

答案 0 :(得分:2)

如果要在构建模型后知道模型使用哪些功能列,可以在python中执行以下操作:

my_training_frame = your_model.actual_params['training_frame']

将返回一些帧ID

然后你可以做

col_used = h2o.get_frame(my_training_frame)
col_used

已编辑(发表评论后)

使用列: enter code here col_used.columns

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

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

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