Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!munnari.oz.au!deakin.OZ.AU!cm.deakin.oz.au From: lukose@cm.deakin.oz.au (Dickson Lukose) Newsgroups: comp.ai Subject: Public Domain ID3 Message-ID: <1436@sol.deakin.OZ.AU> Date: 12 Jun 91 23:25:07 GMT Sender: news@deakin.OZ.AU Organization: Dept. of Computing & Mathematics, Deakin University, Australia Lines: 80 Dear Colleague, There has been only two positive reply to my request on public domain ID3 software, as listed below:- ====================11111================11111================11111==== From: moskowit@paul.rutgers.edu (Len Moskowitz) Subject: Re: Public Domain ID3 source code I'm appending a net post I had filed away. Hope it helps. Len Moskowitz ---- >From jdooley@neutrino.urbana.mcd.mot.com (John Dooley) Fri Oct 26 14:00:39 1990 Path: paul.rutgers.edu!aramis.rutgers.edu!rutgers!cs.utexas.edu!asuvax!mcdphx!udc!neutrino.urbana.mcd.mot.com!jdooley From: jdooley@neutrino.urbana.mcd.mot.com (John Dooley) Newsgroups: comp.ai Subject: Re: ID3 and CN2 Source Code Message-ID: <1421@urbana.mcd.mot.com> Date: 26 Oct 90 18:00:39 GMT Sender: netnews@urbana.mcd.mot.com Reply-To: jdooley@urbana.mcd.mot.com Organization: Motorola, Inc. Urbana Design Center Lines: 18 There are Common LISP versions of ID3 and ID5 (an incremental ID3) available from Dr. Dan StClair at the University of Missouri Graduate Engineering Center in St. Louis, MO. (c0567@umrvmb.umr.edu). These LISP versions have been tested on LISP Machines, Vaxes, Sun-4, Mac II (running Allegro), and TI Explorers and work fine on all. There is also a C language version of ID3. A versionof CN2 in C was in the works this past summer, but I don't know if it's available yet. CN2 is another non-incremental inductive learning algorithm which produces rules instead of decision trees like ID3 does. =======22222========22222=========222222===========22222==========22222== Subject: Re: Public Domain ID3 source code From: spratt@hawk.cs.ukans.edu I wrote the following program in Franz Lisp for a course on knowledge acquisition. I also have it in XLISP (the code is essentially identical). ;;; ID3 by Lindsey Spratt (spratt@hawk.cs.ukans.edu). ;;; Written circa 1990 at the University of Kansas. ;;; ;;; The main function is id3-invoke, called with no arguments. This calls ;;; id3 in a loop until the user says she is no longer interested in running ;;; id3. ;;; ;;; [Because this implementation of ID3 can be very slow, various messages ;;; are printed out during execution to comfort the user that progress is ;;; being made. For the second test file, ID3.in2, this program takes over ;;; 2 hours of real execution time.] ;;; The implementation has two major parts, one for building a tree given a ;;; set of examples and the other for determining the decision given an ;;; example and a tree. ;;; ;;; The main function for building a tree is find-tree. If the examples all ;;; have the same decision, then its job is trivially done. Otherwise, the ;;; attribute with the highest information gain (lowest conditional entropy) ;;; with respect to the decision is found and made the root of the tree. ;;; In the process, the examples are classified according to values in the ;;; chosen attribute. Each of these classifications is further analyzed to ;;; build the child subtrees for the new root. ################### REMAINING PARTS NOT INCLUDED ########################### For all those who have requested information from me, I have forwarded your email address to spratt@hawk.cs.ukans.edu for direct reply. Once again, thank to all who have responded to my request for information. regards lukose@deakin.oz.au