如何将LIGHTGBM转换为PMML?



我想知道是否存在将LightGBM模型转换为PMML的方法。从lightgbm.basic.Booster对象开始,我想知道如何将其转换为PMML或MOJO/POJO对象。如果不可能,我想知道是否有可能将LGBM模型保存为Pickle,然后将其转换为PMML(或MOJO/POJO)对象。

目前,至少有两种方法可以从lightGBM创建PMML,例如sklearn2pmml和Nyoka,但两者都不能从已学习的Booster创建PMML。

要创建PMML,我们需要使用Scikit-learn API,如LGBMClassifier和Pipeline。两个包都可以以几乎相同的方式创建PMML。这里描述了sklearn2pmml和Nyoka的详细用法,两者都非常简单。

Nyoka只是使用正常的Scikit-learn API进行训练,但是sklearn2pmml需要安装Java,并且在训练期间使用PMMLPipeline,所以如果你正在使用python和sklearn, Nyoka可能是更好的选择。

如果有一种方法可以直接从训练有素的Booster创建PMML或将Booster转换为LGBMClassifier然后创建PMML,那就太好了,但是没有其他包可以直接从Booster创建PMML,根据这一点,没有正式的方法将Booster转换为LGBMClassifier

最新更新