CS4811: Homework 5 --- Learning Decision Trees
In this assignment, you will implement the basic algorithm for learning decision trees.
You should implement your own code from scratch.
You may consult existing implementations but you may not build on them.
The textbook's web site has Java, Python and Lisp implementations, if
you'd like to take a look.
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 of how the decision tree is generated. For each node of the decision tree, the trace should include information about each attribute tested and its probability of error value and the attribute that was chosen. When the final decision tree is generated, print the tree in a way that is readable and is convenient to you.
Write a short report that summarizes your implementation and
how to cleaned up the data and the experimental findings.
Include full instructions on how to execute your code. We should be able
to test it with another set of examples without noise from the mushroom domain.
Make sure to submit the data file you used and explain how we can feed another
data file to your program.
Submit (both online and hardcopy)