如何部署复杂机器学习预测器?

时间:2016-09-13 18:17:22

标签: deployment machine-learning kernel

因此,在我花了几天时间清理数据,预先进行预处理以及尝试使用几种不同的模型(例如在R Studio中)之后,我如何实际部署解决方案。 如果模型是一个简单的模型,例如决策树,逻辑回归,它很简单,因为模型很明显,R预测模型部署到具有http端点的商业R服务器等。

我的问题是,复杂的预处理(例如PCA转换,RBF内核或100棵树的随机森林)如同验证阶段一样,我认为我必须部署R脚本进行预处理,而PCA或者将RBF预处理脚本等应用于我的部署服务器?

这对于RBF是否意味着我必须在SVM预测器旁边托管所有原始训练数据集? RBF变换是训练集或至少支持向量的函数。

对于Random Forest,我假设我必须上传所有500个左右的树,作为一个非常大的模型的一部分。

2 个答案:

答案 0 :(得分:0)

首先,使用PMML data formatpmml包的组合或pmmlTransformations将您的R解决方案(数据预处理步骤和模型)导出到r2pmml包。其次,使用Openscoring REST Web服务JPMML-Spark或其他适合您部署需求的PMML集成来部署PMML解决方案。

PMML在使用RBF内核,树集合等代表PCA,SVM方面没有问题。

答案 1 :(得分:0)

针对此问题的纯R香草溶液。大多数集合方法提供了转储/保存学习模型的实用程序。学习是非常耗时和迭代的过程,应该做一次。发布学习保存/转储您的R对象。在部署中只有得分代码。评分代码将执行所有数据转换,然后进行评分。

对于正常的预处理,您可以重用训练中使用的R代码。对于像PCA这样的复杂处理,再次保存最终模型,只需在保存的PCA R对象上得分/运行数据。最后发布预处理分数/运行您在学习模型上的数据并获得最终结果。

相关问题