2016-10-04 79 views
-2

我使用的训练数据生成ML决策树。根据我的使用情况,我需要查看决策树以获取有关数据分布的更多详细信息,例如每个节点处的值等。我使用java中的weka生成树,然后使用简单的print语句可以看到树结构,但是weka没有提供任何API来进一步查看树,树只能以String形式提供。我不想解析字符串,是否还有其他可用的库,可以通过正常遍历将树翻译为一组规则? 任何其他基于ML的库可以基于可用的数据生成树,并让您可以像规则提取一样查看树进行分析?遍历决策树得到的规则集

BufferedReader reader = new BufferedReader(
       new FileReader("NewData.arff")); 

     Instances data = new Instances(reader); 
     reader.close(); 
     data.setClassIndex(data.numAttributes() - 1); 
     String[] options = new String[1]; 
     options[0] = "-U";   // unpruned tree 
     J48 tree = new J48();   // new instance of tree 
     tree.setOptions(options);  // set the options 
     tree.setMinNumObj(100); 
     tree.buildClassifier(data); // build classifier 
     System.out.println(tree); // Print tree as string 

现在我想窥视一下树,得到一些结果。请帮助我完成任何可用的库。

回答

0

Weka的是开源。

使用来源。根据需要自定义。

如果您确实需要访问一些内部数据结构(注意,这些可以跨版本改变),它是合法向公众发布。或者,你甚至可以使一个API来遍历树(如果这真的尚不存在;因为存在功能形象化个树,太),然后促进了Weka,以便其他人可以使用它了。