multi-search – pluggable search strategies

Jan van Rijn wanted to contribute a new search strategy, as an exhaustive search space exploration may take too long. Therefore I refactored MultiSearch and pulled out the search strategy, making it pluggable now: weka.classifiers.meta.multisearch.AbstractSearch. The default search strategy is available as weka.classifiers.meta.multisearch.DefaultSearch and Jan’s random search as weka.classifiers.meta.multisearch.RandomSearch.

In addition to that, a new meta-parameter called ParameterGroup got introduced, which allows you to group dependent parameters. The old MultiSearch version generated a search space that explored all variations, i.e., you couldn’t test several SMO kernels (e.g., RBFKernel and PolyKernel) with their own subset of parameters. This is now possible.

Unfortunately, this major refactoring resulted in breaking the backwards compatibility a bit: the mandatory classifier. prefix of the property paths got dropped. MultiSearch’s classifier is now considered the base of the property paths.

Anyhow, it’s great to see that somebody else is using this package as well. 😉