java pmml_JPMML解析PMML模型并导入数据进行分析生成结果

这是一个Java类,名为PmmlInvoker,用于读取PMML文件并创建ModelEvaluator实例以评估模型。类提供了通过文件名或输入流加载PMML模型的方法,并在加载成功后验证模型。invoke方法接收参数映射并返回模型的预测结果。

importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.Map;importjavax.xml.bind.JAXBException;importorg.dmg.pmml.FieldName;importorg.dmg.pmml.PMML;importorg.jpmml.evaluator.ModelEvaluator;importorg.jpmml.evaluator.ModelEvaluatorFactory;importorg.jpmml.model.PMMLUtil;importorg.xml.sax.SAXException;/*** 读取pmml 获取模型

*@authorbiantech

**/

public classPmmlInvoker {privateModelEvaluator modelEvaluator;//通过文件读取模型

publicPmmlInvoker(String pmmlFileName) {

PMML pmml= null;

InputStream is= null;try{if (pmmlFileName != null) {

is= PmmlInvoker.class.getClassLoader().getResourceAsStream(pmmlFileName);if(is==null){

is= newFileInputStream(pmmlFileName);

}

pmml=PMMLUtil.unmarshal(is);

}this.modelEvaluator =ModelEvaluatorFactory.newInstance().newModelEvaluator(pmml);

}catch(Exception e) {

e.printStackTrace();

}finally{try{if(is!=null)

is.close();

}catch(Exception localIOException3) {

localIOException3.printStackTrace();

}

}this.modelEvaluator.verify();

System.out.println("模型读取成功");

}//通过输入流读取模型

publicPmmlInvoker(InputStream is) {

PMML pmml;try{

pmml=PMMLUtil.unmarshal(is);try{

is.close();

}catch(IOException localIOException) {

}this.modelEvaluator =ModelEvaluatorFactory.newInstance().newModelEvaluator(pmml);

}catch(SAXException e) {

pmml= null;

}catch(JAXBException e) {

pmml= null;

}finally{try{

is.close();

}catch(IOException localIOException3) {

}

}this.modelEvaluator.verify();

}public Map invoke(MapparamsMap) {return this.modelEvaluator.evaluate(paramsMap);

}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值