I just wanted to drop a note about some of the recent updates to Pennyworth that will be released soon. I’ve been hard at work on the software, and I think that some of the new code represents big steps in the direction I’m heading with this application.
1. C4.5 decision trees: I’ve ditched the antiquated ID3 decision tree in favor of its successor, C4.5. C4.5 is superior to ID3 because it allows the learner to deal with missing values, continuous ranges, pruning the decision trees. I implemented an initial version this weekend and it already works (much) better than ID3.
2. Decision tree visualization: Unless you’ve been running Pennyworth in Xcode, you have no idea why it makes the predictions it does. I’ve addressed this by adding an additional user interface component that allows you to inspect the program’s “mental model”:
I’m using a nested set diagram to represent the trees.
This code will be released in the next version of Pennyworth. It’s working quite well at the moment, but I still have a few bugs to squash and a few new features to implement.