如何使用Weka API请求单个属性的输入来遍历决策树?

时间:2013-11-30 19:34:16

标签: java weka decision-tree

我已经浏览过互联网,但无法使用Weka API中的工具找到实现以下功能的方法来访问树节点。

我使用Weka API创建J48决策树。我希望能够要求用户输入树根的选项。例如,我使用“labor.arff”训练文件来获取以下树,并希望作为用户输入基于带圆圈的节点。

First question to user.

比方说,例如,用户输入“3”来回答这个问题。然后树应处理此输入并向右遍历树。

Process input and traverse to right.

然后,将向用户提示对下一个节点的响应,在这种情况下为“法定假日”。用户可以响应“6”。将处理此输入并遍历树的左分支。

Prompt for second node, request and process second input.

程序将检测到它所在的节点是叶节点并打印出分类。

Leaf-Node! Classified!

这一切都在Java中的命令行中实现。

对此事的任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

您可以让Weka构建您的J48决策树,然后输出源代码。获得源代码后,您可以修改它以满足您的需求!输出源代码并对其进行修改的示例如question所示。

但是,如果决策树要经常更改,这可能不是最佳选择。一个好的选择可能是从用户那里获取输入来创建自己的实例并对其进行分类。不幸的是,通过这条路线,您最终可能会提出比遍历树所需的问题更多的问题。