Decision Forests
Given that decision forests (The name with which many people are referring to random forests these days.) seem to be somewhat in fashion right now I decided I wanted an all-singing, all-dancing implementation of one. Ok, maybe the need for one for the bit of research I am planning to do next was the real motivation, but it seems fun to pretend I have some vague comprehension of fashion. Obviously I already have my swood implementation, but that is very limited, and doesn't have the features I need or the modularity required to extend it so that it does, hence a from scratch rewrite. Also, since writing swood, I attended the ICCV 2011 tutorial on decision forests, which has strongly influenced this new code.

You can find it is the module 'df' in my usual code store, as accessible via the menu.

This new implementation is currently somewhat limited - better than swood, but nowhere near where I intend it to end up. Classification support is reasonably complete however, and it does both continuous and discrete features, not to mention it has support for incremental learning. Important features I will be adding in the future include regression support, multiprocessing and the ability to express what it is doing using C++, for speed.