我有一个成功的随机森林模型,我想将它集成到另一个软件中,我知道我可以使用一些库(如 Java 中的 fastRF 或其他语言的 ALGLIB 的 DecisionForest),但是我如何使用在 R 中训练的“模型”?我必须用新语言重新训练它吗?
另一种观点是以某种方式提取它,但我不知道该怎么做......
任何帮助将不胜感激
提前致谢
我有一个成功的随机森林模型,我想将它集成到另一个软件中,我知道我可以使用一些库(如 Java 中的 fastRF 或其他语言的 ALGLIB 的 DecisionForest),但是我如何使用在 R 中训练的“模型”?我必须用新语言重新训练它吗?
另一种观点是以某种方式提取它,但我不知道该怎么做......
任何帮助将不胜感激
提前致谢
randomForest 对象包含对象中每棵树的所有信息。每棵树都不是特别复杂,尽管它可能会令人困惑。
iris.rf <- randomForest(Species ~ ., data=iris, importance=TRUE,
proximity=TRUE)
> names(iris.rf$forest)
[1] "ndbigtree" "nodestatus" "bestvar" "treemap" "nodepred"
[6] "xbestsplit" "pid" "cutoff" "ncat" "maxcat"
[11] "nrnodes" "ntree" "nclass" "xlevels"
要弄清楚如何在 R 之外使用森林,您必须查看源代码。下载randomForest的源码包,解压tar.gz,查看src目录。在 rf.c 中,您将看到函数 classForest(对于回归,请查看 regrf.c 中的 regForest)。查看 R 函数 predict.randomForest 以了解其调用方式。您可能必须使用 getAnywhere("predict.randomForest") 在 R 中查看它。
提取 R 信息并在另一个包中进行预测需要相当多的时间,因此在实际执行此操作之前,您必须仔细考虑。重新安装您打算使用的软件可能更直接。