This is a Common Lisp version of the ID3 algorithm by R. Quinlan. It is licensed under a BSD license (do whatever you want with it). The source code is consistent with existing pedagogical resources, and very easy to read (~120 lines of code).


If your Common Lisp has ASDF-install, you can download and install the package automatically by evaluating:

(asdf-install:install 'cl-id3)

if not, you can do things manually by downloading the source code. You can then load everything using ASDF or simply load the two files that make up the package:

(load "defpackage")
(load "cl-id3")


There are a couple of usage examples available on the project cliki page, http://www.cliki.net/CL-ID3

In short the algorithm takes a list of examples as an argument, and every example is represented by a property list. From this you can choose to automatically generate either:
  1. A classifier function that accepts one argument: An object to be classified. Classification is made pretty much automatic in this case.
  2. A tree (s-expression) that can be traversed with a tree-traverser (included in the package), converted to XML, visualized in a GUI/web-page, etc. ....


None that I know of.

I would be thankful if you report back any bugs and/or suggestions to me by e-mail.