大家都知道,机器学习算法用python的契合度是最高的,但很多公司的在售产品是用java写,想集成机器学习算法,又不能把前面的东西都推到重写,所以在java中调python方法迫在眉睫,所以本方案就是通过java调python程序导出模型,并可以随时通过java导入模型,应用其场景。我是小順,请大家关注我,我会给大家发更多的工具。
prop.properties
modelUrl=/soc/
trainDataUrl=/soc/data_log/
predictDataUrl=/soc/predict_test_log/
sciptsUrl=/soc/
python3Url=/root/anaconda3/bin/python3
predictSavePath=/soc/
modelName1=mnb_pipeline
JavaExecPythonMLModel.java
package com.eduTwo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Properties;
public class JavaExecPythonMLModel {
/**
* 全局静态变量
* Global static variable
*/
public static String modelUrl;
public static String trainDataUrl;
public static String predictDataUrl;
public static String sciptsUrl;
public static String python3Url;
public static String modelName1;
public static String predictSavePath;
static{
InputStream in = null;
try {
//创建Properties对象 Create a Properties object
Properties prop = new Properties();
//读取属性文件prop.properties Read the property file prop.properties)
in = JavaExecPythonMLModel.class.getResourceAsStream("prop.properties");
//加载属性列表 Load attribute list
prop.load(new InputStreamReader(in, "utf-8"));
//读取属性列表 Read attribute list
modelUrl &