Hacking ML-EnsembleΒΆ
ML-Ensemble implements a modular design that allows straightforward development of new ensemble classes. The backend is agnostic to the type of ensemble it is being asked to perform computation on, and only at the moment of computation will ensemble-specific code be needed. To implement a new ensemble type, three objects are needed:
- An cross-validation strategy. This amounts to implementing an
- indexer class. See current indexers for examples.
- An estimation engine. This is the actual class that will run the
- estimation. The
BaseEstimator
class implements most of the heavy lifting, and unless special-purpose fit and/or predict procedures are required, the only thing needed is a method for indexing the base learners to each new features generated by the cross-validation strategy. See current estimation engines for examples.
- A front-end API. These typically only implements a constructor and an
add
method. Theadd
method specifies the indexer to use and parser keyword arguments. It is also adviced to differentiate between hidden layers and the meta layer, where cross-validation is not desired.