mleap 中的服务葡萄酒分类模型

Posted

技术标签:

【中文标题】mleap 中的服务葡萄酒分类模型【英文标题】:Serving Wine Classifcation model in mleap 【发布时间】:2017-07-03 12:40:06 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于mleap 中的服务葡萄酒分类模型的主要内容,如果未能解决你的问题,请参考以下文章

Python机器学习实战

阿里云随笔(10)-PAI-AutoML

分类模型与排序模型在推荐系统中的异同分析

带有变压器的分类模型的 keras 模型中的错误

分类:基本概念、决策树与模型评估

scikit管道python中的多个分类模型