嗨,江恩Bierner说,这是一个分类问题。我所知道的最好的分类算法是Ross Quinlan算法。这在概念上很容易理解。
对于分类算法的现成实现,最好的选择是Weka。 http://www.cs.waikato.ac.nz/ml/weka/。我研究过Weka但没有用过,因为我发现它有点晚了。
我使用了一个更简单的实现称为JadTi。它适用于较小的数据集,比如你的。我已经用了很多,所以可以自信地说出来。 JadTi可以在这里找到:
http://www.run.montefiore.ulg.ac.be/~francois/software/jaDTi/
说了这么多,你的挑战将是建立在网络可用的接口。为此,数据集的使用将受到限制。数据集的基本工作原理是您已经拥有训练集,并且您只需一步输入新的测试数据集,即可立即获得答案。
但我的应用程序,可能也是你的,也是一步一步的用户发现,功能可以在决策树节点上来回切换。
为了构建这样的应用程序,我从我的训练集中创建了一个PMML文档,并构建了一个遍历树的每个节点的Java引擎,要求用户输入一个输入(文本/广播/列表)并使用值作为下一个可能的节点谓词的输入。
PMML标准可以在这里找到:http://www.dmg.org/在这里你只需要TreeModel。 NetBeans XML Plugin是用于PMML创作的优秀模式感知编辑器。 Altova XML可以做得更好,但花费$$。
也可以使用RDBMS来存储数据集并自动创建PMML!我没有尝试过。
祝您的项目顺利,请随时告诉我是否需要进一步的投入。
+1:以抵消downvote:这似乎是一个有趣的问题。 – 2009-12-03 00:59:59
@ Jim Ferrans - 谢谢Jim! – 2009-12-03 22:16:26
Diagonoising是什么?如果您试图在程序中诊断问题,您将遇到暂停问题。 – monksy 2011-03-18 16:41:52