【问题标题】:Save/load a M5 RWeka caret model fails保存/加载 M5 RWeka 插入符号模型失败
【发布时间】:2015-03-15 11:38:33
【问题描述】:

在通过 Caret 加载 RWeka 包的已保存 M5 实现后,我遇到了一个错误。

.jcall(o, "Ljava/lang/Class;", "getClass") 中的错误:

RcallMethod:尝试调用 NULL 对象的方法。

重现错误:

library(caret); library(RWeka)
data(GermanCredit)

myModel <- train(Duration~Amount, data=GermanCredit, method="M5")
predict(myModel, GermanCredit[1,]) # Works.

save(myModel, file="myModel.rda")
load("myModel.rda")
predict(myModel, GermanCredit[1,]) # Produces the RcallMethod error.

This post 表示 RWeka 对象是对 Java 对象的引用,并且该对象必须被序列化才能正确保存/加载。

但是,我找不到将其扩展到 Caret 包实现的正确命令。

【问题讨论】:

  • 您能否提供MyData 或使用内置数据集以便我试用?也许GermanCredit 来自caret
  • Hack-R,代码已更新为可重现。
  • 谢谢,我今天试试看

标签: r r-caret rweka


【解决方案1】:

http://one-line-it.blogspot.tw/2013/03/r-store-rweka-model-to-file.html

library(RWeka)
j48.model <- J48(formula=class ~ ., data=data)
library(rJava)
.jcache(j48.model$classifier)
save(j48.model, file="j48.model.rda")

这可能会对你有所帮助。

顺便说一句 有没有方法可以将 J48 Rweka 分类器变成规则?

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 2019-03-23
    • 2018-02-07
    • 2019-01-17
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    相关资源
    最近更新 更多