COSC-575: Machine Learning

Project 3
Spring 2017

Due: M 3/27 @ 5:00 P.M.
10 points

Implement Flach's tree learner for symbolic attributes with the modifications we discussed in lecture. Use gain ratio to determine the best attribute for splitting. Implement pre-pruning for nodes with fewer than three examples. Implement post-pruning with the default parameters. Disable pruning if the user provides the option -u. Extend the Performance class so it computes and returns the area or the average under the ROC curve by adding the methods

For computing AUC, use the rating in pr[0].

You can find the important classes and methods for this project in the file p3.zip.

The implementation must be general. It must follow sound object-oriented design principles. Implement the learner as a single executable. No windows. No menus. No prompts. Just do it.

The logic of the implementation should be the same as that for the implementations of p2. If the user runs the classifier and specifies only a training set, then it should evaluate using 10-fold cross-validation and output the results. Naturally, the user can use the -x switch to change the default. Otherwise, if the user specifies both a training and testing set, then the program should build a model from the training set, evaluate it on the testing set, and output the results.

Instructions for Submission

In the header comments in at least the main file of your project, provide the following information:
//
// Name
// NetID
//
// In accordance with the class policies and Georgetown's Honor Code,
// I certify that, with the exceptions of the class resources and those
// items noted below, I have neither given nor received any assistance
// on this project.
//

Submit via Autolab. When you are ready to submit your program for grading, create a zip file named submit.zip containing only your project's source files. You have two chances to compile and run against the autograding routines.

Plan B

If Autolab is down, upload your zip file to Blackboard.

Copyright © 2019 Mark Maloof. All Rights Reserved. This material may not be published, broadcast, rewritten, or redistributed.