Skip to content

Support transforming Transformers into stateful transforms #14

@jnothman

Description

@jnothman

basically we need some kind of mixin or wrapper that does:

class transformer_to_patsy:
    def __init__(self, transformer, use_partial_fit=False):
        self.fitted = False
        self.use_partial_fit = use_partial_fit
        self.transformer = transformer

    def memorize_chunk(self, X):
        if self.use_partial_fit:
            self.transformer.partial_fit(X)
        elif self.fitted:
            raise RuntimeError
        else:
            self.fitted = True
            self.transformer.fit(X)

    def memorize_finish(self):
        pass

    def transform(self, X):
        return self.transformer.transform()

Then you can define quantiletransform = transformer_to_patsy(QuantileTransformer()) and use quantiletransform(mycategories) in a formula.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions