1、PMLL概述
用python训练好的机器学习模型如果上线部署,被java调用,可以将模型保存为pmml文件,那么什么是pmml呢?PMML是数据挖掘的一种通用的规范,它用统一的XML格式来描述我们生成的机器学习模型。这样无论你的模型是sklearn,R还是Spark MLlib生成的,都可以将其转化为标准的XML格式来存储。当我们需要将这个PMML的模型用于部署的时候,可以使用目标环境的解析PMML模型的库来加载模型,并做预测。
可以看出,要使用PMML,需要两步的工作,第一块是将离线训练得到的模型转化为PMML模型文件,第二块是将PMML模型文件载入在线预测环境,进行预测。这两块都需要相关的库支持。
2、PMML依赖环境安装
Step1: PMML需要安装python一个第三方库,在ubuntu 16.04下终端命令为
pip3 install sklearn2pmml
Step 2:将模型打包为PMML文件的上述库还依赖于java jdk ,终端输入如下命令,然后按提示敲入回车:
sudo add-apt-repository ppa:webupd8team/java
Step3:然后依次输入以下命令
sudo apt update #更新库缓存
sudo apt install openjdk-9-jdk #安装jdk
sudo apt -f install #修复依赖与覆盖问题,完成安装
其中第二条指令可能会出错。不要担心,只要执行完第三条后就会成功
3、将机器学习模型打包PMML小例子
完成上述依赖环境后,我们就可以将我们训练的模型打包为PMML