内容简介:业务方说需要我做个注:作者去简单尝试了
背景
业务方说需要我做个 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文件的处理过程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构、算法与应用
(美)Sartaj Sahni / 汪诗林、孙晓东、等 / 机械工业出版社 / 2000-01 / 49.00
本书是关于计算机科学与工程领域的基础性研究科目之一――数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是,本书不仅仅介绍了理论知识,还提供了50多个应用实例及600多道练习题。 本书......一起来看看 《数据结构、算法与应用》 这本书的介绍吧!