网络上太多示例展示了Weka怎么样调用数据分类算法,但想想我如何针对一个训练好的分类模型进行重用呢。所以必须要“导出来”。导出模型,一个标准的方式就是用PMML了。
标准的方式,Weka一定会支持。找了一下,不负所望。将上一次的代码整理了一下,加上PMML的支持:
训练模型,导出PMML文件
static void trainModelToPmml(String arffFile, int classIndex, File pmmlFile) throws Exception {
File inputFile = new File(arffFile); //训练文件
ArffLoader loader = new ArffLoader();
loader.setFile(inputFile);
Instances insTrain = loader.getDataSet(); // 读入训练文件
insTrain.setClassIndex(classIndex);
Logistic logic=new Logistic();
logic.buildClassifier(insTrain);//根据训练数据构造分类器
String pmml = logic.toPMML(insTrain);
PrintWriter writer = new PrintWriter(new BufferedOutputStream(new FileOutputStream(pmmlFile)));
writer.println(pmml);
writer.close();
}
加载PMML文件

本文介绍了如何使用Weka训练数据分类模型并以PMML格式导出和加载。通过示例代码展示了从训练模型到导出PMML文件,再到加载模型和验证模型的过程。此外,还提到了另一种模型保存方法——Java序列化。
最低0.47元/天 解锁文章
1205

被折叠的 条评论
为什么被折叠?



