Source code for DashAI.back.converters.scikit_learn.converter_chain

from DashAI.back.converters.base_converter import BaseConverter
from DashAI.back.converters.scikit_learn.sklearn_like_converter import (
    SklearnLikeConverter,
)
from DashAI.back.core.schema_fields import (
    int_field,
    schema_field,
)
from DashAI.back.core.schema_fields.base_schema import BaseSchema


class ConverterChainSchema(BaseSchema):
    steps: schema_field(
        int_field(ge=1),
        1,
        "Number of converters in the chain.",
    )  # type: ignore


[docs]class ConverterChain(BaseConverter, SklearnLikeConverter): """Chain of converters.""" DESCRIPTION = ( "A ConverterChain applies a sequence of converters to preprocess " "data, passing the output of one converter to the next, with " "its scope defined by the first converter (the chain itself)." ) SCHEMA = ConverterChainSchema
[docs] def __init__(self, steps): self.steps = steps
def fit(self, x, y=None): for step in self.steps: step.fit(x, y) return self def transform(self, x, y=None): for step in self.steps: x = step.transform(x, y) return x