1.学习需求
想把训练好的python机器学习算法模型,运用至java web的框架中;现了解到有两种种方式:①python模型序列化→PMML→java
②运用m2cgen库,直接将python模型输出为包含模型权重系数的公式java代码。现将第二种方法学习过程列出,不足之处希望大家指正。
2.学习过程
2.1 python训练模型
from sklearn.svm import LinearSVC
from sklearn.datasets import load_iris
import m2cgen as m2c
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
#加载数据
samples = load_iris()
X, y = samples.data, samples.target
#划分训练集与测试集
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=0)
#标准化
stdsc = StandardScaler()
X_train_std = stdsc.fit_transform(X_train)
X_test_std = stdsc.transform(X_test)
#训练模型
model = LinearSVC()
model.fit(X_train_std,y_train)
#转换成java代码
code_java = m2c.export_to_java(model)
其中模型的预测结果为:
2.2 输出的Java code
2.3 java code的使用与验证
package m2cgen;
import java.util.ArrayList;
import java.util.Arrays;
import jav