我正在使用 jpmml 库来解析 PMML 文档(带有根元素 PMML 的 xml 文档)。我能够解析一些元素,但不是全部。在这里,我无法解析 RegressionTable 元素内的 CategoricalPredictor 属性。解析 CategoricalPredictor 的代码是:

    RegressionTable regressionTable = new RegressionTable(intercept);
    List<CategoricalPredictor> categoricalPredictor=regressionTable.getCategoricalPredictors();


    /*Categorical predictors*/

    System.out.println("Categorical Predictors:");
    for(CategoricalPredictor c : categoricalPredictor){

        System.out.println("Name :"+c.getName()+",\tValue :"+c.getValue()+
                ",\tCoefficient :"+c.getCoefficient());
        System.out.println();
    }

使用此代码,我只得到 Categorical Predictors: 作为输出。

我该怎么做才能得到它?你的努力将是可观的。
提前致谢。

最佳答案

您正在新构造的 RegressionTable#getCategoricalPredictors() 实例上调用 RegressionTable。 getter 返回一个空的 List ,这是预期的行为。

如果要使用现有的 RegressionTable 实例,则需要从 PMML 文件中加载它,如下所示:

PMML pmml = ...
RegressionModelManager regressionManager = new RegressionModelManager(pmml);
RegressionModel model = regressionManager.getModel();
List<RegressionTable> modelTables = model.getRegressionTables();
for(RegressionTable regressionTable : regressionTables){
  ...
}

关于java - PMML 文档解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13813479/

10-09 05:05