Implementation
Note
Implementation details described here may change in the future, may already be outdated, incorrect, or incomplete. When in doubt, please refer to the actual source code.
If you feel something should be corrected, please raise an issue.
Training code flow
Interfaces
On the very top there are two kinds of public interfaces. One is for online training
(partial_fit()
) and the other is for training from scratch (fit()
).
These public interfaces exist as class methods for each of supported estimators.
They are implemented as thin wrappers, which delegate further work to
freestanding functions, called with estimator’s state as one of their arguments.
Doing so enables us to take advantage of hiding implementation and departing from
Object-oriented paradigm.
These functions are called partial_fit_impl
, and fit_impl
, and are overloads for respective estimator state type.
What happens underneath partial_fit_impl
, and fit_impl
is driven by a need to converge into single invocation of either fit_classifier_online_impl
or fit_regressor_online_impl
.