2012-12-11 99 views
4

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

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(); 
    } 

有了这个代码,我得到什么,但分类预测:作为输出。

我该怎么做才能得到它?你的努力将是可观的。 在此先感谢。

回答

1

您正在调用RegressionTable#getCategoricalPredictors()对新构建的RegressionTable实例。获取方返回一个空的List,这是预期的行为。

如果您希望使用现有RegressionTable实例来工作,那么你需要从PMML加载文件类似的东西:

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

感谢我对你的回答的帮助下得到了它 –