Сохранить / загрузить модель каретки M5 RWeka не удалось

Я получаю сообщение об ошибке после загрузки сохраненной реализации пакета RWeka для M5 через Caret.

Ошибка в.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.

Этот пост указывает, что объекты RWeka являются ссылками на объект Java, и этот объект должен быть сериализован для правильного сохранения / загрузки.

Однако я не могу найти правильные команды, чтобы расширить это до реализации пакета Caret.

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")

Это может помочь вам.

Кстати Есть ли методы, которые могут превратить классификатор Rweka J48 в правила?

Другие вопросы по тегам