内容简介:业务方说需要我做个注:作者去简单尝试了
背景
业务方说需要我做个 web
界面,在上面输入一条网站访问线索的信息,后台通过机器学习计算这条线索的评级,例如这条线索对应的用户购买意愿有多强之类的。而机器学习对应的模型,也是业务方自己用 KNIME
这个软件训练的,然后将训练完的模型导出为一个 PMML
格式的文件,我所需要做的主要工作就是导入这个文件,转换成对应的机器学习模型。
注:作者去简单尝试了 KNIME
这个软件,感觉是个数据分析的利器。 [链接]
PMML
介绍
PMML(Predictive Model Markup Language)
全称是 预测模型标记语言
,既然叫做标记语言,那其实与 html/XML
等也是非常类似的,只是它存储的是机器学习模型的信息,比如特征名称、类型、个数,模型种类等等。它常用于部署,例如模型在 dev
环节训练好了,将其导出为一个 PMML
文件,然后在 prod
环境中导入即可,也很方便在不同的环境间传递模型,例如使用 python
训练出来的模型,用 R
来调用和预测。
Python
导入 PMML
的问题
现在大部分语言都支持将训练好的模型 导出
为 PMML
文件, python
同样也可以使用 sklearn2pmml
这个库来导出模型,
但我发现没有一个很好的 工具 能反向操作,将已有的 PMML
文件还原成 sklearn
中的机器学习模型。
于是在 GitHub
尝试了一些方案,如下:
-
找到一个项目叫做 jpmml-evaluator
,是用
java
写的,它支持将PMML
导入到java
中,进入作者的仓库中,又发现一个叫做jpmml-evaluator-python
,根据ReadMe
介绍,这是一个将jpmml-evaluator
做了简单封装的python
版本,使python
可以导入PMML
文件,但用户较少,start
也只有1
,试用时发现了问题,也向作者反馈了,并且作者还因此更新了代码,但仍然没有解决。issue
链接: https://github.com/jpmml/jpmm... - 又找了一个叫做 sklearn-pmml-model ,目前也是用户少,功能不完整(支持的模型有限)的情况,但在安装过程中就出错,联系了作者,未获得反馈。
-
openscoring
项目,同样也是一个用
java
写的项目,其作用就是支持开启一个服务端用于调用机器学习模型,客户端向服务端传递机器学习的PMML
文件和预测数据,服务端可以使用jar
包一键部署,而客户端则可以使用java/python/R
等不同的SDK
,甚至直接使用curl
,最终该方案用上了。在和作者沟通中,作者还指出了KNIME
导出的PMML
存在的BUG
,并建议向KNIME
反馈这个BUG
。
以上所述就是小编给大家介绍的《记一次PMML文件的处理过程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- MDK编译过程及文件类型全解
- 宜家PDF下载过程本地文件包含漏洞披露
- 在 Swift Framework 中使用 C 文件的过程探索
- 阿里云短信提示网站发现后门(webshell)文件的解决过程分享
- PHPCMSv9.6.1任意文件读取漏洞的挖掘和分析过程
- 一文了解文件上传全过程(1.8w 字深度解析,进阶必备)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构C++语言描述
William Ford,William Topp / 刘卫东 沈官林 / 清华大学出版社 / 1999-09-01 / 58.00
一起来看看 《数据结构C++语言描述》 这本书的介绍吧!