方案1: 根据(Python) 输出模型的pmml文件;开发者根据pmml文件,开发java上线。
方案2: 单独的部署一个生产的python环境,模型输出到这个环境并起flask的api,给java开发者调用。
结论: 方案1不可行。方案2是业内通行方案。
无法将模型预测全部(含特征加工和输出值转换)过程为pmml文件。 pmml文件只存储sklearn标准模型。【比如有个需求: 需要将下述python处理过程的代码(WEO转换、模型、及模型输出的概率值映射评分),三部分整合成一个pipeline,输出到pmml文件中给java开发同事上线。】
参考:
Sklearn机器学习模型上线
https://blog.csdn.net/u010654299/article/details/104353687
https://www.slideshare.net/VilluRuusmann/converting-scikitlearn-to-pmml
自定义函数用于PMMLPipeline中,在y值之后;
sklearn pipeline 实现多个模型统一调参
https://blog.csdn.net/ghj786110/article/details/106711047
DataFrameMapper做特征工程
https://blog.csdn.net/hshuihui/article/details/53260922
sklearn pipeline使用,以及保存pmml
https://blog.csdn.net/liaozj/article/details/108845599
使用的包:sklearn2pmml
已经训练好一个模型的pipeline,
计划:将WEO转换、模型、及模型输出的概率值映射评分,三部分整合成一个pipeline,输出到pmml文件中。
现在实现了 整合 模型及概率转换部分的pipeline;但是在sklearn2pmml(pipeline_instance,"pipeline_instance,pmml",with_repr=True),
这一步会报错。