4

我正在使用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();
    }

使用此代码,我得到的只是分类预测器:作为输出。

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

4

1 回答 1

1

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

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

PMML pmml = ...
RegressionModelManager regressionManager = new RegressionModelManager(pmml);
RegressionModel model = regressionManager.getModel();
List<RegressionTable> modelTables = model.getRegressionTables();
for(RegressionTable regressionTable : regressionTables){
  ...
}
于 2012-12-11T11:59:29.487 回答