Decision Tree Learning
Implement the "Decision-tree learning" function (figure 18.5) described in
Russell and Norvig's text (page 658 of Vol 2).
The online code at the AIMA site should not be replicated and handed in as if it were your own
work. It is written in LISP. Use that code as a guide.
(If you do this project in LISP, MAKE EXPLICIT HOW YOU USE THAT CODE IN YOUR
IMPLEMENTATION, QUOTING PRECISELY WHAT YOU HAVE USED. )
Take care to ensure that your function handles multi-class problems.
Here is the challenge: Produce a decision tree output as a PROGRAM that can be
directly compiled/executed in any language you prefer.
(If you decide to use LISP, then output a LISP expression that can be
“eval’ed” by LISP (eg., it can be used by any built-in function/express evaluation
function available such as APPLY, EVAL, FUNCALL, etc.). )
The output program or expression is essentially a program created by your Machine Learning
Program given input and output (data records and a classification or label).
Hence, given a new datum to be classified, you would be able to excute the program with new data
and have it output a class label…
(If you use LISP, (eval ‘(Decision-Tree data)) provides the classification of the data.)
Test your implementation against the Restaurant Data set displayed in the textbook
(figure 18.3, page 656 of Vol 2.)
and available online at: http://aima.cs.berkeley.edu/data/restaurant.csv .
A final test suite of data will be provided to the class two days prior to
date for final testing.
It is almost over! I bet you will miss AI…..