Source code for sigfeat.feature.delta

from collections import deque

import numpy as np

from ..base import Feature
from ..base import Parameter


[docs]class Delta(Feature): """Returns a diffenetiated version of the given feature.""" axis = Parameter(0) order = Parameter(1) def __init__(self, feature, **parameters): self.unroll_parameters(parameters) self.feature = feature self.name = ''.join((self.order * 'd', feature.name)) self.values = deque([None]*(self.order+1), maxlen=self.order+1) self._requirements = []
[docs] def requires(self): yield self.feature
[docs] def process(self, data, resultd): self.values.append(resultd[self.feature.name]) if None not in self.values: return np.diff(np.array(self.values), self.order, axis=self.axis)