An implementation of ID3, an algorithm used to generate a decision tree from a dataset