在mleap中提供葡萄酒分类模型

问题描述 投票:1回答:1

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

注意:目前我正在使用TrueCar版本的mleap。计划很快更新。

现在,当我尝试启动服务器来提供此模型时,我成功地启动了服务器,但每当我尝试调用转换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]]
}

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

apache-spark apache-spark-sql apache-spark-mllib apache-spark-ml mleap
1个回答
0
投票

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

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

只需从管道中删除该步骤,然后在其外部执行。一切都会奏效 - 我希望。 :-)

© www.soinside.com 2019 - 2024. All rights reserved.