我有一个使用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]]
}
从逻辑上讲,类字段应该是响应的一部分,并且不应该在请求数据中预期。
可能有点晚了,但解决方案如下:
我猜你添加了将标签/类从字符串或原始数据集中的任何内容转换为管道的预期double值的步骤。因此,管道要求类列必须存在于要使用它处理的数据框中。
只需从管道中删除该步骤,然后在其外部执行。一切都会奏效 - 我希望。 :-)