Module skplumber.samplers.straight

Expand source code
import random
import typing as t

from skplumber.primitives.primitive import Primitive
from skplumber.samplers.sampler import PipelineSampler
from skplumber.pipeline import Pipeline
from skplumber.consts import ProblemType


class StraightPipelineSampler(PipelineSampler):
    def __init__(self, preprocessors: int = 1) -> None:
        self.preprocessors = preprocessors

    def sample_pipeline(
        self,
        problem_type: ProblemType,
        models: t.List[t.Type[Primitive]],
        transformers: t.List[t.Type[Primitive]],
    ) -> Pipeline:
        pipeline = Pipeline()
        for _ in range(self.preprocessors):
            pipeline.add_step(random.choice(transformers))
        pipeline.add_step(random.choice(models))
        return pipeline

Classes

class StraightPipelineSampler (preprocessors: int = 1)

Helper class that provides a standard way to create an ABC using inheritance.

Expand source code
class StraightPipelineSampler(PipelineSampler):
    def __init__(self, preprocessors: int = 1) -> None:
        self.preprocessors = preprocessors

    def sample_pipeline(
        self,
        problem_type: ProblemType,
        models: t.List[t.Type[Primitive]],
        transformers: t.List[t.Type[Primitive]],
    ) -> Pipeline:
        pipeline = Pipeline()
        for _ in range(self.preprocessors):
            pipeline.add_step(random.choice(transformers))
        pipeline.add_step(random.choice(models))
        return pipeline

Ancestors

Methods

def sample_pipeline(self, problem_type: ProblemType, models: List[Type[Primitive]], transformers: List[Type[Primitive]]) ‑> Pipeline
Expand source code
def sample_pipeline(
    self,
    problem_type: ProblemType,
    models: t.List[t.Type[Primitive]],
    transformers: t.List[t.Type[Primitive]],
) -> Pipeline:
    pipeline = Pipeline()
    for _ in range(self.preprocessors):
        pipeline.add_step(random.choice(transformers))
    pipeline.add_step(random.choice(models))
    return pipeline

Inherited members