SoftwareAG/nyoka

LGBM PMML not loadable with jpmml-evaluator; PMML scoping compliance?

Sathrovarr opened this issue · 1 comments

I'm exporting lightgbm.LGBMClassifier with nyoka.lgb_to_pmml, to be read by jpmml-evaluator.

On evaluating the model, jpmml-evaluator raises DuplicateValueException, as the top-level MiningModel duplicates OutputFieldsof the models in modelChain. While, from my own assessment, this should be fine with the PMML 4.4 standard, the jpmml team insists that this is against scoping rules, and that their exception is the intended behaviour.

I explain the case in (much) greater detail here: jpmml/jpmml-evaluator#231

I wonder if there is anything you can think of to get the two packages to play together nicely. Or whether there may be an alternative Java package that is designed to work with nyoka. I'm bound to export to Java, and would like to keep the calls with nyoka as I really like the package. :)

I have some other models that work just fine, this is the only one that doesn't. I was also able to design a bandaid for the particular case, simply by erasing the top-level Output. Indeed, the final Output in my case indeed is the Output of the last segment/model in the modelChain.

Hi @Sathrovarr, the mentioned behavior is compliant to PMML 4.4 standard and we do not want to change this behavior,
unless there has been a update in the schema for the given model as per PMML standards in the future.

Regarding the alternate Java package , I would suggest using ZEMENTIS PREDICTIVE ANALYTICS application, which is, a significantly fast inference engine and is entirely compatible to PMML generated with Nyoka.
https://www.softwareag.com/corporate/products/az/zementis/default.html