【发布时间】:2016-07-06 03:56:06
【问题描述】:
我使用 R 中 pmml 库中的 pmml 函数创建了一个 xml 文件。
adamodel_iOS=ada(label~.,data=train_iOS, iter=ntrees, verbose=TRUE, loss="ada", bag.frac=0.7, nu=0.1, control=defctrl, type="real")
Ptrain_iOS = predict(adamodel_iOS,newdata=train_iOS, type="prob")
library(pmml)
adapmml_iOS=pmml(adamodel_iOS)
saveXML(adapmml_iOS,"model_iOS.xml")
save.image()
在第一行的训练模型之后,我找到了训练数据的对应概率。
现在我想使用这个 xml 文件来生成对一组数据的预测(基本上又是训练集)。我如何在 R 中做到这一点?我看到在java和spark中,我们可以加载pmml函数生成的xml文件,然后有可以进行预测的函数。
基本上,我在 R 中寻找一个函数,它可以将此 xml 文件作为输入,然后返回一个对象,该对象又将一些数据点作为输入并返回它们具有标签 0 和 1 的概率。
我找到了一个链接: Can PMML models be read in R?
但没用
【问题讨论】:
-
如果您在 R 中训练模型,并在 R 中使用模型,那么您为什么还需要 PMML?
predict(adamodel_iOS)怎么了? -
我期待这个问题。 :) 我更大的目的是将这个模型传输到火花集群中,以对数百万个数据点进行预测。这就是我以 pmml 格式记录模型的原因。但是事情出了问题,因为 adamodel 生成的分数与 Spark 代码生成的分数不匹配。因此,为了调试,我想确保在将模型记录为 pmml 格式的过程中没有任何变化。这就是为什么我想将 pmml 文件加载到 R 中,然后查看它预测的训练数据值是否与 adamodel 输出的值相同。
-
R 的
pmml包的pmml.ada()函数正在导出损坏的模型。不要浪费时间调试它。 -
哦……这是个坏消息!您能否将我引导到一些有关 pmml(adamodel_object)故障的更多信息的来源。我的 adamodel 预测标签 0 或 1,但 pmml() 调用后生成的 xml 文件包含 -1 和 1 作为标签。
-
这些模型在某种意义上被破坏了,因为某些树分割条件编码不正确。尝试开发一个玩具问题(例如,使用
iris数据集,预测鸢尾花实例是否为杂色)并亲自查看。