gtime.compose.FeatureCreation

class gtime.compose.FeatureCreation(transformers, remainder='drop', sparse_threshold=0.3, n_jobs=None, transformer_weights=None, verbose=False)

Applies transformers to columns of a pandas DataFrame.

This estimator is a wrapper of sklearn.compose.ColumnTransformer, the only difference is the output type of fit_transform and transform methods which is a DataFrame instead of an array.

Attributes:
named_transformers_

Access the fitted transformer by name.

Methods

fit(self, X[, y]) Fit all transformers using X.
fit_transform(self, X, y) Fit all transformers, transform the data and concatenate results.
get_feature_names(self) Get feature names from all transformers.
get_params(self[, deep]) Get parameters for this estimator.
set_params(self, \*\*kwargs) Set the parameters of this estimator.
transform(self, X) Transform X separately by each transformer, concatenate results.
__init__(self, transformers, remainder='drop', sparse_threshold=0.3, n_jobs=None, transformer_weights=None, verbose=False)

Initialize self. See help(type(self)) for accurate signature.

fit(self, X, y=None)

Fit all transformers using X.

Parameters:
X : array-like or DataFrame of shape [n_samples, n_features]

Input data, of which specified subsets are used to fit the transformers.

y : array-like, shape (n_samples, …), optional

Targets for supervised learning.

Returns:
self : ColumnTransformer

This estimator

fit_transform(self, X: pandas.core.frame.DataFrame, y: pandas.core.frame.DataFrame = None)

Fit all transformers, transform the data and concatenate results.

Parameters:
X : pd.DataFrame, shape (n_samples, n_features), required

Input data, of which specified subsets are used to fit the transformers.

y : pd.DataFrame, shape (n_samples, …), optional, default: None

Targets for supervised learning.

Returns:
X_t_df : pd.DataFrame, shape (n_samples, sum_n_components)

hstack of results of transformers. sum_n_components is the sum of n_components (output dimension) over transformers.

Examples

>>> import pandas.util.testing as testing
>>> from gtime.compose import FeatureCreation
>>> from gtime.feature_extraction import Shift, MovingAverage
>>> data = testing.makeTimeDataFrame(freq="s")
>>> fc = FeatureCreation([
...     ('s1', Shift(1), ['A']),
...     ('ma3', MovingAverage(window_size=3), ['B']),
... ])
>>> fc.fit_transform(data).head()
                     s1__A__Shift  ma3__B__MovingAverage
2000-01-01 00:00:00           NaN                    NaN
2000-01-01 00:00:01      0.211403                    NaN
2000-01-01 00:00:02     -0.313854               0.085045
2000-01-01 00:00:03      0.502018              -0.239269
2000-01-01 00:00:04     -0.225324              -0.144625
get_feature_names(self)

Get feature names from all transformers.

Returns:
feature_names : list of strings

Names of the features produced by transform.

get_params(self, deep=True)

Get parameters for this estimator.

Parameters:
deep : boolean, optional

If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns:
params : mapping of string to any

Parameter names mapped to their values.

named_transformers_

Access the fitted transformer by name.

Read-only attribute to access any transformer by given name. Keys are transformer names and values are the fitted transformer objects.

set_params(self, **kwargs)

Set the parameters of this estimator.

Valid parameter keys can be listed with get_params().

Returns:
self
transform(self, X: pandas.core.frame.DataFrame)

Transform X separately by each transformer, concatenate results.

Parameters:
X : pd.DataFrame, shape (n_samples, n_features), required

The data to be transformed by subset.

Returns:
X_t_df : DataFrame, shape (n_samples, sum_n_components)

hstack of results of transformers. sum_n_components is the sum of n_components (output dimension) over transformers. If any result is a sparse matrix, everything will be converted to sparse matrices.