gemseo.mlearning.transformers.dimension_reduction.kpca module#

The Kernel Principal Component Analysis (KPCA) to reduce the dimension of a variable.

The KPCA class implements the KCPA wraps the KPCA from Scikit-learn.

Dependence#

This dimension reduction algorithm relies on the PCA class of the scikit-learn library.

class KPCA(name='', n_components=None, fit_inverse_transform=True, kernel='linear', **parameters)[source]#

Bases: BaseDimensionReduction

Kernel principal component dimension reduction algorithm.

Parameters:
  • name (str) --

    A name for this transformer.

    By default it is set to "".

  • n_components (int | None) -- The number of components of the latent space. If None, use the maximum number allowed by the technique, typically min(n_samples, n_features).

  • fit_inverse_transform (bool) --

    If True, learn the inverse transform for non-precomputed kernels.

    By default it is set to True.

  • kernel (str) --

    The name of the kernel, either 'linear', 'poly', 'rbf', 'sigmoid', 'cosine' or 'precomputed'.

    By default it is set to "linear".

  • **parameters (float | str | None) -- The optional parameters for sklearn KPCA constructor.

inverse_transform(data, *args, **kwargs)#

Force a NumPy array to be at least 2D and evaluate the function f.

f expects a 2D array shaped as (n_points, input_dimension) and returns a nD arrays shaped as (..., n_points, output_dimension) or (..., n_points, output_dimension, input_dimension).

If the original data is a 1D array shaped as (input_dimension,), then this wrapper returns a (n-1)D array shaped as (..., output_dimension) or (..., output_dimension, intput_dimension).

Parameters:
  • data (ndarray) -- A NumPy array.

  • *args (Any) -- The positional arguments.

  • **kwargs (Any) -- The optional arguments.

Returns:

Any kind of output; if a NumPy array, its dimension is made consistent with the shape of data.

Return type:

Any

transform(data, *args, **kwargs)#

Force a NumPy array to be at least 2D and evaluate the function f.

f expects a 2D array shaped as (n_points, input_dimension) and returns a nD arrays shaped as (..., n_points, output_dimension) or (..., n_points, output_dimension, input_dimension).

If the original data is a 1D array shaped as (input_dimension,), then this wrapper returns a (n-1)D array shaped as (..., output_dimension) or (..., output_dimension, intput_dimension).

Parameters:
  • data (ndarray) -- A NumPy array.

  • *args (Any) -- The positional arguments.

  • **kwargs (Any) -- The optional arguments.

Returns:

Any kind of output; if a NumPy array, its dimension is made consistent with the shape of data.

Return type:

Any