Extending BATCHIE

BATCHIE is designed to be extended with new models and methods.

Adding a new model

To add a new model for prediction of outcomes, you will need to create an implementation of the batchie.core.BayesianModel class. You will also need to implement the batchie.core.Theta and batchie.core.ThetaHolder class for working with and serializing the model parameters.

The command line applications where the model is used (for instance train_model) accept --model and --model-params arguments. --model is the name of the class implementing the model, and --model-params are arbitrary key-value pairs that will be passed to the model constructor (__init__ method).

Other Extensible Classes

Other than the model, the batchie.core.Scorer, batchie.core.DistanceMetric, and batchie.core.PlatePolicy can also be implemented and specified in the command line applications in the same way.

For retrospective simulations batchie.core.RetrospectivePlateGenerator, batchie.core.InitialRetrospectivePlateGenerator, and batchie.core.RetrospectivePlateSmoother, can also be implemented and specified for the prepare_retrospective_simulation command line application.