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)