Source code for simpleml.pipelines

'''
Import modules to register class names in global registry

Define convenience classes composed of different mixins
'''

__author__ = 'Elisha Yadgaran'


from .base_pipeline import Pipeline, GeneratorPipeline
from .validation_split_mixins import NoSplitMixin, RandomSplitMixin,\
    ChronologicalSplitMixin, ExplicitSplitMixin


# Mixin implementations for convenience
[docs]class NoSplitPipeline(Pipeline, NoSplitMixin): pass
[docs]class ExplicitSplitPipeline(Pipeline, ExplicitSplitMixin): pass
[docs]class RandomSplitPipeline(RandomSplitMixin, Pipeline): # Needs to be used as base class because of MRO initialization pass
[docs]class ChronologicalSplitPipeline(ChronologicalSplitMixin, Pipeline): # Needs to be used as base class because of MRO initialization pass
# Generator implementations
[docs]class NoSplitGeneratorPipeline(GeneratorPipeline, NoSplitMixin): pass
[docs]class ExplicitSplitGeneratorPipeline(GeneratorPipeline, ExplicitSplitMixin): pass
[docs]class RandomSplitGeneratorPipeline(RandomSplitMixin, GeneratorPipeline): # Needs to be used as base class because of MRO initialization pass
[docs]class ChronologicalSplitGeneratorPipeline(ChronologicalSplitMixin, GeneratorPipeline): # Needs to be used as base class because of MRO initialization pass