在链接:https://www.cnblogs.com/pinard/p/9220199.html讲述了什么是pmml以及java实现pmml的demo代码,下面我就说说此种方法的优缺点:
优点:
只需要在线下进行模型的训练生成pmml文件 , 就可以 实现跨平台的模型上线,简单方便;
缺点:
1. 由于数据的不断变化,原始线下训练好的模型不适用,因此需要java端进行触发模型自主训练时,就难以满足需求;
2. 由于预测执行时导入模型的数据形式要和训练模型时的数据形式要一样,同时由于有时在训练模型时需要对定性变量进行one-hot等处理,此种处理方式使用python更方便,因此此时就难以满足;
因此,有以上原因个人认为使用Process pr = Runtime.getRuntime().exec(commandStr)方式更加方便 ,而且还可进行java与python之间的传参。