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:

  1. An cross-validation strategy. This amounts to implementing an
    indexer class. See current indexers for examples.
  2. 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.
  3. A front-end API. These typically only implements a constructor and an
    add method. The add 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.