【发布时间】:2014-12-06 07:07:51
【问题描述】:
是否有标准(或可用)方法在 R 中导出 gbm 模型? PMML 可以工作,但是当我尝试使用 pmml 库时,可能会出现错误:
例如,我的代码如下所示:
library("gbm")
library("pmml")
model <- gbm(
formula,
data = my.data,
distribution = "adaboost",
n.trees = 450,
n.minobsinnode = 10,
interaction.depth = 4, shrinkage=0.05, verbose=TRUE)
export <- pmml(model)
# and then export to xml
我得到的错误是:
Error in UseMethod("pmml") : no applicable method for 'pmml' applied to an object of class "gbm"
我也尝试过传入数据集。在任何情况下,我都可以接受另一种我可以通过编程方式解析的格式(我将在 JVM 上评分),但如果有办法让它发挥作用,PMML 会很棒。
【问题讨论】:
-
我在 github 上找到的两个都以纯文本形式转储了 GBM 模型,然后进行了一些自定义解析。 github.com/infnty/junkyard/blob/master/R/gbm-scorer.ccgist.github.com/shanebutler/5456942
-
您可以使用
RProtoBuf包序列化 R 数据结构。在 CV 中查看您的问题的答案:stats.stackexchange.com/questions/118616/… -
更新:上面的建议很好。我没有找到开箱即用的解决方案,所以我实现了一个自定义文本导出,然后在 Scala 中实现了基于该导出的评分。如果可以,我会将结果开源并在此处发布。
-
@JoshMarcus 你最终开源了结果吗?我对将多类 gbms 导出到 pmml 很感兴趣
-
@Moderat 获得文本表示后,我在 Scala 中构建了一个自定义 gbm 记分器,而不是导出到 PMML。对不起!
标签: r machine-learning pmml gbm