I have a wine classification model trained and saved using mleap.
Note: For now I am using TrueCar version of mleap. Planning to update it soon.
Now, when I try to start a server for serving this model I am successfully able to start the server but whenever I try to call the transform API it does not work throwing the following error:
java.lang.Error: Field class does not exist
Here is the request 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]]
}
Logically, class field should be part of the response and should not be expected in the request data.
It maybe a little late, but the solution is the following:
I guess you added the step to transform the label/class from string or whatever it might be in your original dataset to the expected double value to your Pipeline. Therefore, the pipeline has the requirement that the class column has to exist in the dataframe that you want to process with it.
Just remove that step from your pipeline and do it outside of it. Then everything will work - i hope. :-)