我有这样的构造:如何在Java中使用R模型来预测多个模型?
public Revaluator(File model,PrintStream ps) {
modelFile=model;
rsession=Rsession.newInstanceTry(ps, null);
rsession.eval("library(e1071)");
rsession.load(modelFile);
}
我想加载一个模型,并用它预测。 的问题Rsession.newInstanceTry(ps, null);
总是相同的会话,所以如果我加载另一个模型,如:
Revaluator re1=new Revaluator(new File("model1.RData"),System.out);
Revaluator re2=new Revaluator(new File("model2.RData"),System.out);
两个RE1并使用相同的模型,因为变量名称是model
,所以只有最后一个加载RE2。
的评价功能:
public REXP evaluate(Object[] arr){
String expression=String.format("predict(model, c(%s))", J2Rarray(arr));
REXP ans=rsession.eval(expression);
return ans;
}
//J2Rarray just creates a string from the array like "1,2,true,'hello',false"
我需要装载约250预测,有没有办法让Rsession的每个实例作为一个新的分离R对话?
很好的问题! – gran33