gaitmap.data_transform.ChainedTransformer#

class gaitmap.data_transform.ChainedTransformer(chain: list[tuple[Union[collections.abc.Hashable, str], gaitmap.data_transform._base.BaseTransformer]])[source]#

Apply a series of transformations to the input.

Data will be passed from one transformer to the next and the final data result will be returned.

… note :: During optimization, each transformer gets the transformed output of the previous trained

transformer in the chain and not the raw original data.

Basically, training works as follows:

  1. Optimize transformer 1

  2. Transform data using optimized transformer 1

  3. Optimize transformer 2 with transformed data after transformer 1

Parameters:
chain

A list of tuples of the form (name, transformer) that specify the transformers that should be applied. The name is used as a prefix ({name}__) when using get_param or set_param to uniquly target the respective steps.

Other Parameters:
data

The data passed to the transform method.

Attributes:
transformed_data_

The transformed data.

Methods

clone()

Create a new instance of the class with all parameters copied over.

from_json(json_str)

Import an gaitmap object from its json representation.

get_params([deep])

Get parameters for this algorithm.

self_optimize(data, **kwargs)

Optimize the chained transformers.

set_params(**params)

Set the parameters of this Algorithm.

to_json()

Export the current object parameters as json.

transform(data, **kwargs)

Transform the data.

__init__(chain: list[tuple[Union[collections.abc.Hashable, str], gaitmap.data_transform._base.BaseTransformer]]) None[source]#
clone() Self[source]#

Create a new instance of the class with all parameters copied over.

This will create a new instance of the class itself and all nested objects

classmethod from_json(json_str: str) Self[source]#

Import an gaitmap object from its json representation.

For details have a look at the this example.

You can use the to_json method of a class to export it as a compatible json string.

Parameters:
json_str

json formatted string

get_params(deep: bool = True) dict[str, Any][source]#

Get parameters for this algorithm.

Parameters:
deep

Only relevant if object contains nested algorithm objects. If this is the case and deep is True, the params of these nested objects are included in the output using a prefix like nested_object_name__ (Note the two “_” at the end)

Returns:
params

Parameter names mapped to their values.

self_optimize(data: Sequence[DataFrame], **kwargs) Self[source]#

Optimize the chained transformers.

Parameters:
data

The data to be transformed

kwargs

All kwargs will be passed to all transformers self_optimize and transform methods called in the process.

Returns:
self

The trained instance of the transformer

set_params(**params: Any) Self[source]#

Set the parameters of this Algorithm.

To set parameters of nested objects use nested_object_name__para_name=.

to_json() str[source]#

Export the current object parameters as json.

For details have a look at the this example.

You can use the from_json method of any gaitmap algorithm to load the object again.

Warning

This will only export the Parameters of the instance, but not any results!

transform(data: DataFrame, **kwargs) Self[source]#

Transform the data.

All transformers in the chain will be called in order and the result of the final transformer will be attached to self.transformed_data_

Parameters:
data

A dataframe representing single sensor data.

Returns:
self

The instance of the transformer with the results attached