0

我的 pmml 文件链接。由 R-Tool 生成

谷歌驱动器上的 pmml 文件

这是我的java代码..

PMML model = null;
    File inputFilePath = new File("/home/equation/iris_rf.pmml");
    try (InputStream is = new FileInputStream(inputFilePath)) {
        model = org.jpmml.model.PMMLUtil.unmarshal(is);
    } catch (Exception e) {
        throw e;
    }

    // construct a tree predictor based on the PMML
    ModelEvaluator<TreeModel> modelEvaluator = new TreeModelEvaluator(model);
    System.out.println(modelEvaluator.getSummary());

例外 - -

Exception in thread "main" org.jpmml.evaluator.InvalidFeatureException: PMML
at org.jpmml.evaluator.ModelEvaluator.selectModel(ModelEvaluator.java:528)
at org.jpmml.evaluator.tree.TreeModelEvaluator.<init>(TreeModelEvaluator.java:64)
at com.girnarsoft.Pmml.main(Pmml.java:24)

任何想法?为什么会出现此错误?

4

1 回答 1

1

您必须实例化org.jpmml.evaluator.ModelEvaluator与您的 PMML 文件的顶级 Model 元素匹配的子类。

目前,您正在实例化org.jpmml.evaluator.tree.TreeModelEvaluator,它对应于TreeModelelement。但是,您应该实例化org.jpmml.evaluator.mining.MiningModelEvaluator,因为 PMML 文件中的顶级 Model 元素是MiningModelelement

通常,您应该使用工厂方法构造ModelEvaluator实例。ModelEvaluatorFactory#newModelEvaluator(PMML)

于 2016-09-26T14:18:55.710 回答