1

我有一个使用 mleap 训练和保存的葡萄酒分类模型。

注意:目前我使用的是 mleap 的 TrueCar 版本。计划尽快更新。

现在,当我尝试启动服务于该模型的服务器时,我能够成功启动服务器,但是每当我尝试调用转换 API 时,它都无法正常工作,并引发以下错误:

java.lang.Error: Field class does not exist

这是请求 json -

{ 
  "schema": {
    "fields": [{
      "name": "alcohol",
      "dataType": "double"
    }, {
      "name": "malic_acid",
      "dataType": "double"
    }, {
      "name": "ash",
      "dataType": "double"
    }, {
      "name": "mg",
      "dataType": "double"
    }, {
      "name": "phenols",
      "dataType": "double"
    }, {
      "name": "alcalinity",
      "dataType": "double"
    }, {
      "name": "flavaniods",
      "dataType": "double"
    }, {
      "name": "nf_phenols",
      "dataType": "double"
    }, {
      "name": "proanthocyanins",
      "dataType": "double"
    }, {
      "name": "color_intensity",
      "dataType": "double"
    }, {
      "name": "hue",
      "dataType": "double"
    }, {
      "name": "diluted",
      "dataType": "double"
    }, {
      "name": "proline",
      "dataType": "double"
    }]
  },
  "rows": [[13.25, 4.87, 14.6, 109.1, 1.8, 2.05, 2.8, 0.4, 2.4, 7.6, 0.9, 2, 1176, 2]]
}

从逻辑上讲,类字段应该是响应的一部分,并且不应出现在请求数据中。

4

1 回答 1

0

可能有点晚了,但解决方案如下:

我猜您添加了将标签/类从字符串或原始数据集中可能存在的任何内容转换为管道的预期双精度值的步骤。因此,管道要求类列必须存在于您要使用它处理的数据框中。

只需从您的管道中删除该步骤并在它之外执行它。然后一切都会奏效-我希望。:-)

于 2018-09-11T16:32:26.767 回答