本文为您介绍POJO部署预测的部署流程。
操作步骤
- 新建文件夹。在模型部署所在的机器执行如下命令。
mkdir gdb_automl
说明 以下步骤中的文件均放在gdb_automl文件夹下。 - 下载依赖包。
- 在模型详情页面,单击下载模型。
- 将下载的依赖包gdbautoml-genmodel.jar,放在gdb_automl文件夹下。
- 下载模型部署包。
- 在模型详情页面,单击下载模型部署包(MOJO)。
- 下载完成后的模型部署包文件名为“模型ID.java”,当前示例中模型部署包的文件名为“GBM_2_AutoML_20210726_081632.java”,放在gdb_automl文件夹下。
- 编写Java类。新建main.java文件,按照压缩包中polo/main.java新建文件,命名为main.java,其中类名和预测数据需要根据模型进行修改。
import java.io.*; import hex.genmodel.easy.RowData; import hex.genmodel.easy.EasyPredictModelWrapper; import hex.genmodel.easy.prediction.*; // 类名为步骤三中下载的文件名 public class main { private static String modelClassName = "GBM_2_AutoML_20210726_081632"; public static void main(String[] args) throws Exception { hex.genmodel.GenModel rawModel; rawModel = (hex.genmodel.GenModel) Class.forName(modelClassName).newInstance(); EasyPredictModelWrapper model = new EasyPredictModelWrapper(rawModel); System.out.println(model); //数据根据实际预测的数据进行修改 RowData row = new RowData(); row.put("V1", "是"); row.put("V2", "互联网公共服务平台"); row.put("V3", "GC3"); row.put("V4", "DB4"); row.put("V5", "否"); row.put("V6", 49653.0753); row.put("V7", 2419006.0264); row.put("V8", "互联网游戏"); row.put("V9", "是"); row.put("V10", "是"); row.put("V11", "是"); row.put("V12", "是"); row.put("V13", "是"); row.put("V14", "是"); row.put("V15", 500000.0); BinomialModelPrediction p = model.predictBinomial(row); System.out.println("The prediction result is: " + p.label); System.out.print("Class probabilities: "); for (int i = 0; i < p.classProbabilities.length; i++) { if (i > 0) { System.out.print(","); } System.out.print(p.classProbabilities[i]); } System.out.println(""); } }
- 编译执行。
- 执行以下命令。
javac -cp gdbautoml-genmodel.jar -J-Xmx2g -J-XX:MaxPermSize=128m GBM_2_AutoML_20210726_081632.java main.java
说明 其中GBM_2_AutoML_20210726_081632.java要修改为步骤三中下载的模型部署包文件名。 - 执行以下命令。
java -cp .:gdbautoml-genmodel.jar main
- 执行以下命令。
- 返回结果。返回结果如下所示,返回格式可在main.java文件中修改。
The prediction result is: 0 Class probabilities: 0.9607,0.0392