Refactor pipeline generation as builder #509
Created by: gkirgizov
Refactor Assumptions Pipeline building process
Primary changes:
- Extract TaskAssumptions as a kind of data-class containing actual readable assumptions.
- Extract PreprocessingBuilder which is almost independent of the task. Handles gaps and categorical data.
- PrimaryAssumptionsBuilder handles case of InputData, logger and available operations.
- MultiModalData assumptions case is reduced to InputData case. Can now be easily customized if needed. Handled by MultiModalAssumptionsBuilder. In principle, can be also extended to handle available operations mechanics.
- Actual pipeline building is handled by PipelineBuilder underneath. It's independent, all other logic is built on top. So it can be used elsewhere for somewhat shorter construction of pipelines.