3

私はこのコンストラクタを持っています:

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 セッションとして取得する方法はありますか?

4

1 に答える 1