pluskid/shogun — pull request #2 by pluskid (2012-04-22 11:19:22+00:00)
Title: Multiclass strategy refactoring

blackburn, in thinking on how to add a tree-structure classifier training, I decided to make it a multiclass_strategy, as OvO and OvR. Instead of adding directly on the current code, I think it's better to refactor the current code for MulticlassStrategy. So here's the changes: basically, I change the MulticlassStrategy from previous enumeration to now objects, and moved the logics of training as well as applying to the strategy object. This makes the code cleaner I think. Moreover, now in order to add tree-structure multiclass training, I can simply implement a new subclass of CMulticlassStrategy.

Tree structure training cannot be directly implemented with the previous simple enumerations, because there will be an extra piece of data (the actual tree structure) needed to be stored in the strategy.

So please review this, before I can start to work with Tree Structure training. Thanks!