私はこのコンストラクタを持っています:
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 と re2 の両方が同じモデルを使用しています。var 名はmodel
であるため、最後に読み込まれたものだけが読み込まれます。
評価関数:
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 セッションとして取得する方法はありますか?