java - PMML文档解析

标签 java xsd

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

使用这段代码,除了分类预测器:作为输出,我什么也得不到。

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

最佳答案

您正在对新构造的 RegressionTable 实例调用 RegressionTable#getCategoricalPredictors()。 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/

相关文章:

Java:将 XML 模式本身绑定(bind)到类

javascript - 从 XSD 创建 Web 表单,然后输出 xml 表单

java - 为什么 java 中的最大整数是 2^31 - 1 而不是 2^31

java - 当页面中不存在 Web 元素时如何继续执行脚本

java - 日志记录异常问题

java - 当扫描模式时,如何在字符串中检查 float 范围?

java - tomcat的性能极限是多少?

java - MSML 的 XSD 架构中的 XML 失败 (RFC 5707)

xml - XSD 序列显示不明确

XML特有的错误语法?