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#
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.TransformerMixinGeneric 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:
- 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:
- inverse_transform(container)#
- Parameters:
container (coco_pipe.io.structures.DataContainer)
- Return type: