我强烈推荐你使用Weka完成你的任务。
它是一个机器学习算法集合,具有用户友好的前端,方便许多不同种类的特征和模型选择策略。
你可以在不需要编写代码或进行数学运算的情况下,使用它来处理许多非常复杂的任务。
该软件的制造商还出版了一本相当不错的实用数据挖掘教材。
一旦你掌握了它,你可以使用它的API将任何分类器集成到你自己的Java程序中。
你好,像Gann 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/
话虽如此,你面临的挑战将是在web上构建可用的界面。要做到这一点,数据集的用处有限。数据集基本上依赖于你已经有了训练集,而你只需一步就可以将新的测试数据集输入其中,并立即得出答案。
但是我的应用程序,可能也是你的应用程序,是一个逐步用户发现的过程,具有在决策树节点上来回移动的功能。
为了构建这样的应用程序,我从我的训练集中创建了一个PMML文档,并建立了一个Java引擎,遍历每个树节点,要求用户给出输入(文本/收音机/列表),并将值用作下一个可能节点谓词的输入。
可以在这里找到PMML标准:http://www.dmg.org/。这里只需要TreeModel。NetBeans XML插件是一个良好的模式感知编辑器,用于PMML创作。Altova XML可以做得更好,但需要花费$。
还可以使用RDBMS存储数据集并自动生成PMML!我没有尝试过。
祝你的项目顺利,如果你需要进一步的输入,请随时告诉我。