CSCI 335 - Artificial Intelligence

Spring 2020

Programming Project #7: Handwriting Recognition with Decision Trees and Random Forests

Overview

You will implement the Decision Tree learning algorithm for the task of recognizing handwritten characters.

Programming Assignment

Download decisiontree.zip. Implement the following. Each implementation will extend the RecognizerAI class.

Assessing performance

Visualization

A visualization has been provided for you, for both the regular Decision Tree and the Random Forest. Be sure to employ the visualizations in your analysis.

Paper

When you are finished with your experiments, write a paper summarizing your findings. Include the following:

Deadlines

Grading criteria

AchievementPoints
Passes testInterior()3
Passes testGini()3
Passes testGain()3
Passes testSplit()3
Passes testTrain()7
Passes testReduced()3
Credible implementation of resample()3
Ran fourteen experiments, from 2 to 8 letters, alternating training/testing sets20
Paper quantitatively assesses each of the fourteen experiments4
Paper includes at least one visualization, and insightfully discusses its implications5
Paper insightfully discusses how the algorithms perform with respect to their data set4
Paper insightfully discusses how the algorithms perform in comparison with the multi-layer perceptron and self-organizing map4
Paper insightfully discusses the distinctions in performance as the number of letters increases4
Paper insightfully discusses the impact of variations in the number of trees in the random forest4