Source code for sekupy.preprocessing.math

import numpy as np
from sekupy.preprocessing.base import Transformer
from sekupy.utils.math import z_fisher

import logging
logger = logging.getLogger(__name__)


[docs] class MathTransformer(Transformer): def __init__(self, name, fx, **kwargs): self._fx = fx Transformer.__init__(self, name=name, **kwargs)
[docs] def transform(self, ds): logger.info("Transforming samples with %s", str(self._fx)) ds_ = ds.copy() samples = self._fx(ds_.samples) samples[np.isinf(samples)] = 1 samples[np.isnan(samples)] = 0 ds_.samples = samples return Transformer.transform(self, ds_)
[docs] class ZFisherTransformer(MathTransformer): def __init__(self, name='zfisher', **kwargs): MathTransformer.__init__(self, name=name, fx=z_fisher, **kwargs)
[docs] class AbsoluteValueTransformer(MathTransformer): def __init__(self, name='abs', **kwargs): MathTransformer.__init__(self, name=name, fx=np.abs, **kwargs)
[docs] class SignTransformer(MathTransformer): def __init__(self, name='sign', **kwargs): MathTransformer.__init__(self, name=name, fx=np.sign, **kwargs)