CS4811: Homework 5 --- Learning Decision Trees


Due: Thursday, April 9, 2009, beginning of class. (Assigned: Tuesday, March 24, 2009.)

Reminder: This is an individual assignment. All the work should be the author's and in accordance with the university's academic integrity policies. You are allowed to use any written source in preparing your answers, but if you use any other source than the textbook and the class notes, you should specify it on your assignment.

Problem:

In this assignment, you will implement the basic algorithm for learning decision trees. Your own implementation is preferable. However, if you'd like to start out with an existing code, that is allowed as long as you credit the source. You should clearly specify the parts you reused and the parts you implemented. Java, Python and Lisp implementations provided with the text book are available in the class common directory: /classes/cs4811/common/aima-code.

Task:

Implement a decision tree learner that uses the "probability error" heuristic that we discussed in class. Test it with two datasets:

For each run, print the trace and the decision tree generated. The trace should include the attribute tested and its probability of error value for each "choose" point at the algorithm.

Write a short report that summarizes your implementation and experimental findings.

Submit (both online and hardcopy)

Whenever possible, please use enscript (or equivalent) with two columns to save paper: enscript -2Gr -Pprinter files