【问题标题】:H2O AutoML error Test/Validation dataset has a non-categorical column which is categorical in the training data" on predictH2O AutoML 错误测试/验证数据集有一个非分类列,它在训练数据中是分类的“预测
【发布时间】:2019-12-22 18:25:49
【问题描述】:

我已经训练并保存了我的 H2O AutoML 模型。重新加载后,当我使用预测方法时,出现以下错误: java.lang.IllegalArgumentException:测试/验证数据集有一个非分类列“响应”,它在训练数据中是分类的

我在创建模型时没有指定任何编码,但我现在收到此错误。谁能帮我解决这个问题。

我们将不胜感激。

【问题讨论】:

  • 您能指定您使用的 H2O 版本吗?这看起来像是一个已修复的旧错误。
  • 我使用的是 3.26.0.2 版本的 H2O。
  • 我在 3.26.0.3 java.lang.IllegalArgumentException 上看到了类似的错误:测试/验证数据集有一个分类响应列“C30”,与模型没有共同的级别。如果您从“测试”集中删除 y 标签并传递给 model.predict() ,那么它可以工作。这种行为最近改变了吗?我试图通过这个差异:github.com/h2oai/h2o-3/compare/…
  • 嗨 Atul 你能得到答案吗?我面临着类似的问题。

标签: h2o predict automl


【解决方案1】:

此问题与训练集中不存在的特定列中的新示例数据有关。 在这种情况下,我使用将列类型解析为数字(或字符串)。

def _convert_h2oframe_to_numeric(h2o_frame, training_columns):
    for column in training_columns:
        h2o_frame[column] = h2o_frame[column].asnumeric()
    return h2o_frame

记得使用这个函数进行训练和预测过程。

【讨论】:

    猜你喜欢
    • 2013-09-27
    • 2020-09-12
    • 2019-05-01
    • 2021-01-19
    • 2015-10-25
    • 2018-01-01
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多