Java如何调用python平台的机器学习模型

  1. 训练好模型后,保存模型
joblib.dump(xgb,"xgb_model.pkl")
  1. 新建一个python文件,useModel.py。
import sys 
if __name__ == '__main__':
	model = joblib.load("xgb_model.pkl") # 加载模型
	value=[]
	# 接收参数
	for i in range(len(sys.argv)):
		value.append(float(sys.argv[i]))
	# 预测	
	predict = model.predict(value) 
  1. java可以通过调用python解释器,即使用jpython。但是此种方式必须保证python代码内不包含第三方库。如果要包含第三方库,需要通过如下方式:
public static void main(String[] args) throws IOException, InterruptedException {
    System.out.println("start python");
    String[] arg = new String[]{"python", "test\\useModel.py","123","4"};
    //参数2:python文件路径;参数3,参数4:python代码的输入参数。
    Process pr = Runtime.getRuntime().exec(arg);
    BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
    String line;
    while ((line = in.readLine()) != null) {
        System.out.println(line);
    }
    in.close();
    System.out.println("end");
    pr.waitFor();
}

你可能感兴趣的:(python,java,机器学习)