Fork me on GitHub

sklearn.decomposition.FastICA

class sklearn.decomposition.FastICA(n_components=None, algorithm='parallel', whiten=True, fun='logcosh', fun_args=None, max_iter=200, tol=0.0001, w_init=None, random_state=None)

FastICA: a fast algorithm for Independent Component Analysis.

Parameters:

n_components : int, optional

Number of components to use. If none is passed, all are used.

algorithm : {‘parallel’, ‘deflation’}

Apply parallel or deflational algorithm for FastICA.

whiten : boolean, optional

If whiten is false, the data is already considered to be whitened, and no whitening is performed.

fun : string or function, optional. Default: ‘logcosh’

The functional form of the G function used in the approximation to neg-entropy. Could be either ‘logcosh’, ‘exp’, or ‘cube’. You can also provide your own function. It should return a tuple containing the value of the function, and of its derivative, in the point. Example:

def my_g(x):

return x ** 3, 3 * x ** 2

fun_args : dictionary, optional

Arguments to send to the functional form. If empty and if fun=’logcosh’, fun_args will take value {‘alpha’ : 1.0}.

max_iter : int, optional

Maximum number of iterations during fit.

tol : float, optional

Tolerance on update at each iteration.

w_init : None of an (n_components, n_components) ndarray

The mixing matrix to be used to initialize the algorithm.

random_state : int or RandomState

Pseudo number generator state used for random sampling.

Attributes:

`components_` : 2D array, shape (n_components, n_features)

The unmixing matrix.

`mixing_` : array, shape (n_features, n_components)

The mixing matrix.

`sources_` : 2D array, shape (n_samples, n_components)

The estimated latent sources of the data. This attribute is deprecated and will be removed in 0.16. Use fit_transform instead and store the result.

Notes

Implementation based on A. Hyvarinen and E. Oja, Independent Component Analysis: Algorithms and Applications, Neural Networks, 13(4-5), 2000, pp. 411-430

Methods

fit(X[, y]) Fit the model to X.
fit_transform(X[, y]) Fit the model and recover the sources from X.
get_mixing_matrix(*args, **kwargs) DEPRECATED: To be removed in 0.16.
get_params([deep]) Get parameters for this estimator.
inverse_transform(X[, copy]) Transform the sources back to the mixed data (apply mixing matrix).
set_params(**params) Set the parameters of this estimator.
transform(X[, y, copy]) Recover the sources from X (apply the unmixing matrix).
__init__(n_components=None, algorithm='parallel', whiten=True, fun='logcosh', fun_args=None, max_iter=200, tol=0.0001, w_init=None, random_state=None)
fit(X, y=None)

Fit the model to X.

Parameters:

X : array-like, shape (n_samples, n_features)

Training data, where n_samples is the number of samples and n_features is the number of features.

Returns:

self :

fit_transform(X, y=None)

Fit the model and recover the sources from X.

Parameters:

X : array-like, shape (n_samples, n_features)

Training data, where n_samples is the number of samples and n_features is the number of features.

Returns:

X_new : array-like, shape (n_samples, n_components)

get_mixing_matrix(*args, **kwargs)

DEPRECATED: To be removed in 0.16. Use the mixing_ attribute.

Compute the mixing matrix.

Returns:mixing_matrix : array, shape (n_features, n_components)
get_params(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.

inverse_transform(X, copy=True)

Transform the sources back to the mixed data (apply mixing matrix).

Parameters:

X : array-like, shape (n_samples, n_components)

Sources, where n_samples is the number of samples and n_components is the number of components.

copy : bool (optional)

If False, data passed to fit are overwritten. Defaults to True.

Returns:

X_new : array-like, shape (n_samples, n_features)

set_params(**params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Returns:self :
sources_

DEPRECATED: To be removed in 0.16. Use fit_transform and store the output instead.

transform(X, y=None, copy=True)

Recover the sources from X (apply the unmixing matrix).

Parameters:

X : array-like, shape (n_samples, n_features)

Data to transform, where n_samples is the number of samples and n_features is the number of features.

copy : bool (optional)

If False, data passed to fit are overwritten. Defaults to True.

Returns:

X_new : array-like, shape (n_samples, n_components)

Previous
Next