Source code for neuxus.nodes.feature

from neuxus.node import Node


[docs]class FeatureAggregator(Node): """Each chunk of input will be catenated into one feature vector that can be used for classification. It can specified a class as first vector coordinate Attributes: - output (Port): vector output Port Args: - input (Port): input signal - class_tag (str): class tag to add at first coordinate Example: FeatureAggregator(port4, 'RIGHT') """ def __init__(self, input_port, class_tag=None): Node.__init__(self, input_port) self._tag = class_tag if self._tag: self._channels = ['class'] + self.input.channels else: self._channels = self.input.channels self.output.set_parameters( data_type='vector', channels=self._channels, sampling_frequency=self.input.sampling_frequency, meta=self.input.meta ) Node.log_instance(self, { 'tag': self._tag, 'coordinates': self._channels }) self._i = 0 def update(self): for chunk in self.input: for _, row in chunk.iterrows(): row = row.values.tolist() if self._tag: row = [self._tag] + row self.output.set([row], [self._i], self._channels) self._i += 1