2

保存した 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 パッケージの実装に拡張するための適切なコマンドが見つかりません。

4

1 に答える 1

4

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-05-15T06:43:02.917 に答える