coco_pipe.io.transform#

Stateful transformers compatible with DataContainer. Wraps scikit-learn transformers.

This module provides classes that adhere to the Scikit-Learn Transformer API but operate natively on ~coco_pipe.io.DataContainer objects, preserving metadata (IDs, coordinates) throughout the transformation pipeline.

Attributes#

Classes#

SklearnWrapper

Generic wrapper for ANY scikit-learn transformer (Scaler, PCA, etc.).

Module Contents#

coco_pipe.io.transform.logger#
class coco_pipe.io.transform.SklearnWrapper(transformer)#

Bases: sklearn.base.BaseEstimator, sklearn.base.TransformerMixin

Generic wrapper for ANY scikit-learn transformer (Scaler, PCA, etc.).

This wrapper applies a standard scikit-learn transformer to the .X data matrix of a ~coco_pipe.io.DataContainer, ensuring that the resulting container has correctly updated data while checking for dimension compatibility.

Parameters:

transformer (BaseEstimator) – An instantiated scikit-learn transformer (e.g., StandardScaler(), PCA(n_components=10)).

Variables:

estimator (BaseEstimator) – The fitted scikit-learn estimator.

Examples

>>> from sklearn.preprocessing import RobustScaler
>>> from coco_pipe.io import DataContainer, SklearnWrapper
>>> import numpy as np
>>> # Create formatted data (100 obs, 10 features)
>>> X = np.random.randn(100, 10)
>>> container = DataContainer(X, dims=("obs", "feature"))
>>> # Wrap a Scaler
>>> scaler = SklearnWrapper(RobustScaler())
>>> scaled_container = scaler.fit_transform(container)
>>> # Metadata is preserved
>>> scaled_container.dims == container.dims
True
transformer#
estimator_ = None#
fit(container, y=None)#
Parameters:

container (coco_pipe.io.structures.DataContainer)

transform(container)#
Parameters:

container (coco_pipe.io.structures.DataContainer)

Return type:

coco_pipe.io.structures.DataContainer

fit_transform(container, y=None)#

Fit the wrapped estimator and transform the data.

Parameters:
  • container (DataContainer) – Input data to transform.

  • y (array-like, optional) – Target values.

Returns:

Transformed data with the same dimensions.

Return type:

DataContainer

inverse_transform(container)#
Parameters:

container (coco_pipe.io.structures.DataContainer)

Return type:

coco_pipe.io.structures.DataContainer