NateCleveland.com

C4.5

Aug 31 2010

One of the better pieces of code I wrote in college was an implementation of J. Ross Quinlan’s C4.5 Decision Trees. At the time I had grandiose ideas of making it a generic implementation that anyone could plug in and use. To my current chagrin many of the tricks (hacks?) I used to get my templated code to compile in Visual C++ 6 were utterly non-standard, and did not work with later compilers.

In the process of quickly bringing the code up to something approaching standards compliance I tweaked it enough to muck up the flow of it and now find it genuinely unpleasant to read through. This makes me skeptical that it is the one-size-fits-all implementation of the algorithm I thought it would be back when I initially wrote it all those years ago. That said I can’t begrude my younger self his idealism.

Files