Ambrosia
Ambrosia copied to clipboard
`Splitter` usage in `Designer`
The Designer
class in its work uses own methods for generating subsamples in an empirical approach.
Let's think about switching to using the Splitter
class for the tasks of subsamples generation inside the Designer
.
Currently, I see the following advantages of this choice:
- The code will be more consistent and clear because the
Splitter
is designed specifically to generate subsamples(actually set of subgroups). - In the future, there will be no need to duplicate the same features for split and design methods.
- Simultaneous refactoring of old and duplicated pieces of code in
tools.py
and others modules - We could pass custom configuration for the
Splitter
instance inside the methods, which would help keep the empirical design more flexible and correct for custom splitting.
The cons should be considered as well, for example, there may be some problems with generation of a large number of group pairs with current structure of the Splitter
.