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

标签 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 的命令行中实现。

如有任何帮助,我们将不胜感激!谢谢!

最佳答案

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

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

关于java - 如何使用 Weka API 请求单个属性的输入以遍历决策树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20304737/

相关文章:

java - MYSql 中的全文搜索

java - 在java中使用扫描仪时控制台中缺少显示顺序

java - Java程序中递归方法导致堆栈溢出

java - 从 Asynctask 返回数组列表

java - R 中的 Weka 不工作 - 无法通过 WPM 加载 weka 包

python - 从 sklearn.model_selection.GridSearchCV 获取 keyerror

python - 可以在 scikit-learn 中修改/修剪学习树吗?

java - 在 Java 中为 weka 增加堆大小

java - 在 Java 代码中使用 WEKA 中的神经网络类

pandas - 如何在 Graphviz 中显示特征名称?