Я разработал модель H2O в R и сгенерировал модель MOJO, чтобы иметь возможность использовать ее в Java. Это код Java:
import java.io.*;
import hex.genmodel.easy.RowData;
import hex.genmodel.easy.EasyPredictModelWrapper;
import hex.genmodel.easy.exception.PredictException;
import hex.genmodel.easy.prediction.*;
import hex.genmodel.MojoModel;
/**
* Mojo prediction
*
*/
public class App
{
public static void main( String[] args ) throws IOException, PredictException {
EasyPredictModelWrapper model = new EasyPredictModelWrapper(MojoModel.load("StackedEnsemble_BestOfFamily_AutoML_20191014_092117.zip"));
RowData row = new RowData();
row.put("crim", "0.00632");
row.put("cn", "18");
row.put("indus", "2.31");
row.put("chas", "1");
row.put("nox", "0.538");
row.put("rm", "6.575");
row.put("age", "65.2");
row.put("dis", "4.09");
row.put("rad", "1");
row.put("tax", "296");
row.put("ptratio", "15.3");
row.put("b", "396.9");
row.put("lstat", "4.98");
RegressionModelPrediction p = model.predictRegression(row);
System.out.println("Predicción: " + p.value);
}
}
Вывод:
Failed to extract element 'output.model_summary' MojoModel dump.
Failed to extract element 'output.scoring_history' MojoModel dump.
Failed to extract element 'output.cross_validation_metrics_summary' MojoModel dump.
Predicción: 26.041093600957513
Process finished with exit code 0
Кто-нибудь знает причину сбоев?
Прогноз возвращает 26 041, тогда как в R 26 035,Почему?
Версия R - 3.6.1, версия H2O - 3.26.06, а версия Java - 1.8.
Спасибо!