所以,在我花了几天时间清理我的数据,预处理,并试验了几个不同的模型(例如在R Studio中)之后,我该如何实际地部署解决方案。如果模型是一个简单的模型,那么它很简单,例如决策树,Logistic回归,因为模型很明显,R Predictor模型部署到具有http端点的商业R Server中等。
我的问题是,复杂的预处理(例如PCA变换、RBF内核或100棵树的随机森林)如何处理?就像在验证阶段一样,我假设我必须部署R脚本进行预处理,并将PCA或应用RBF预处理脚本等应用到我的部署服务器?
这是否意味着对于RBF,我必须将所有原始训练数据集与我的SVM预测器一起托管?RBF变换是训练集或至少是支持向量的函数。
对于Random Forest,我假设我必须上传所有大约500棵树,作为一个非常大的模型的一部分。
发布于 2016-09-14 14:05:29
首先,使用PMML data format和pmmlTransformations包的组合或r2pmml包将R解决方案(数据预处理步骤和模型)导出到pmml中。其次,使用Openscoring REST web服务、JPMML-Spark或任何其他适合您部署需求的PMML集成来部署PMML解决方案。
PMML在表示PCA、具有RBF核的SVM、树集成等方面没有问题。
发布于 2016-09-14 17:07:11
这个问题的一个纯粹的R香草解决方案。大多数集成方法都提供了转储/保存学习模型的实用程序。学习是非常耗时和迭代的过程,应该只做一次。学习后保存/转储R对象。在部署中只有评分代码。评分代码将执行所有的数据转换,并在以后的评分中执行。
对于正常的预处理,您可以重用训练中使用的R代码。对于像PCA这样的复杂处理,保存最终的模型,只需在保存的PCA R对象上评分/运行数据。最后,对学习到的模型进行后处理、评分/运行数据,并得到最终结果。
https://stackoverflow.com/questions/39476576
复制相似问题