Baum is a project mainly written in Scala, it's free.
This is a simple implementation of the id3 decision tree algorithm from Ross Quinlan for Scala
This is a simple implementation of the decision tree algorithm from Ross Quinlan for Scala
The reason for this little project is that all other implementations and libraries of the id3/c 4.5 algorithms I have worked with, have the limitation that it is not possible to access the generated tree structure. Also none of them are able to operate on a domain model instead of tabular data. So far this little prototype solves at least these 2 problems.
If you want to build the project, make sure sbt is installed, then execute the commands:
git clone git://github.com/mkleen/baum.git
cd baum
sbt update
sbt compile
Have a look at src/test/scala/baum/WeatherExample1.scala which models a classical example from the book "Datamining - Practical Machine Learning Tools and Techniques" from I. Witten and Eibe Frank. You can run the example with the following command: sbt test-only baum.WeatherExample1
There are a couple of features missing, most of them are part of the c 4.5 version of the algorithm: