The current setting how the different fitting interfaces (batch, minibatch, stream) are implemented has several problems:
- The variable naming is not consistent / misleading but cannot be changed (e.g. the streaming method also processes minibatches, but the corresponding kwargs cannot be renamed as such because the higher level
fit function uses the names to differentiate between the methods).
- Switching between the different functions is not straightforward (e.g. it requires adding an additional
algorithm kwarg), which requires if-else logic in the tests.
A potential solution might be to create a higher-level abstract Algorithm class that has the current MiniBatchAlgorithm as a subclass together with others that cover the batch and streaming scenario.
The current setting how the different fitting interfaces (batch, minibatch, stream) are implemented has several problems:
fitfunction uses the names to differentiate between the methods).algorithmkwarg), which requires if-else logic in the tests.A potential solution might be to create a higher-level abstract
Algorithmclass that has the currentMiniBatchAlgorithmas a subclass together with others that cover the batch and streaming scenario.