如何保存rxNeuralNet(mlModel)的输出以供重用?

时间:2017-09-05 16:53:36

标签: microsoft-r

我使用了rxNeuralNet并获得了很好的结果。我希望将其保存以备将来使用。

nnOutput <- rxNeuralNet(formula = savedFormula, data = inputData, 
                        type = "regression", acceleration = "sse")

我可以将nnOutput与rxPredict一起使用,并验证我的答案。

rxPredict(nnOutput, data = testSet, outData = tempXDF)

现在我想保存输出,所以我可以在以后重复使用它。 (训练时间并不重要。)我似乎无法找到任何这样做的例子。我试过了:

rxDataStep(inData = nnOutput, outFile = tempXDF, overwrite = TRUE)
rxImport(inData = nnOutput, outFile = tempXDF, overwrite = TRUE)
write.csv(nnOutput, file = "c:\\temp\\temp.csv")

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

rxNeuralNet模型对象只是一个常规的R对象。您可以使用常用的R方法来处理它。

例如,假设您的数据是数据框:

glmMod <- glm(y ~ x1 + x2 + x3, data=dat)
nnMod <- rxNeuralNet(y ~ x1 + x2 + x3, data=dat,
                     type="regression", accel="sse")
save(glmMod, nnMod, file="models.rdata")

下次你开始R:

load("models.rdata")
glmPred <- predict(glmMod, newdat)
nnPred <- rxPredict(nnMod, newdat, outData=NULL)

答案 1 :(得分:0)

如果您有SQL Server,则可以使用rxSerializeModel和/或rxWriteObject将模式作为二进制文件保存到SQL。

你也可以使用&#34; bog-standard&#34; R serialize函数,或savesaveRDS