在mleap中提供Wine Classifcation模型

时间:2017-07-03 12:40:06

标签: apache-spark apache-spark-sql apache-spark-mllib apache-spark-ml mleap

我有一个使用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]]
}

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

1 个答案:

答案 0 :(得分:0)

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

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

只需从管道中删除该步骤,然后在其外部进行即可。然后一切都会正常-我希望。 :-)