遍历决策树得到规则集
Posted
技术标签:
【中文标题】遍历决策树得到规则集【英文标题】:Traversing decision tree to get rule set 【发布时间】:2017-02-12 09:15:11 【问题描述】:我正在使用训练数据生成 ML 决策树。根据我的用例,我需要查看决策树以获取有关数据分布的更多详细信息,例如每个节点的值等。我在 java 中使用 weka 来生成树,我可以使用简单的 print 语句查看树结构,但是weka 没有提供任何 API 来进一步研究树,树只是作为字符串提供。我不想解析字符串,是否有任何其他可用的库可以帮助通过正常遍历将树转换为规则集? 任何其他基于 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
现在我想窥视树以获得一些结果。请帮助我使用任何可用的库。
【问题讨论】:
【参考方案1】:Weka 是开源的。
使用来源。根据需要进行自定义。
如果您绝对需要访问某些内部数据结构(请注意这些数据结构可能会因版本而异),将它们公开是合法的。或者你甚至可以制作一个 API 来遍历树(如果这个真的还不存在;因为也存在可视化树的函数)然后为 Weka 做贡献以便其他人也可以使用它。
【讨论】:
以上是关于遍历决策树得到规则集的主要内容,如果未能解决你的问题,请参考以下文章