Ambrosia icon indicating copy to clipboard operation
Ambrosia copied to clipboard

`Splitter` usage in `Designer`

Open xandaau opened this issue 2 years ago • 0 comments

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:

  1. The code will be more consistent and clear because the Splitter is designed specifically to generate subsamples(actually set of subgroups).
  2. In the future, there will be no need to duplicate the same features for split and design methods.
  3. Simultaneous refactoring of old and duplicated pieces of code in tools.py and others modules
  4. 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.

xandaau avatar Jan 16 '23 14:01 xandaau