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:独立分量分析的快速算法。

用户指南中阅读更多内容。

参数 说明
n_components int, optional
要使用的样本数量。如果没有传递,则使用全部。
algorithm {‘parallel’, ‘deflation’}
应用平行或偏转算法。
whiten boolean, optional
如果白化为假,则认为该数据已经被白化,并且不执行白化。
fun string or function, optional. Default: ‘logcosh’
用来近似负熵的G函数的函数形式。可以是' logcosh ' ' exp '或' cube '您还可以提供自己的功能。它应该返回一个元组,其中包含函数的值及其在点中的导数。例子:

def my_g (x):
return x ** 3, (3 * x ** 2).mean(axis=-1)
fun_args dictionary, optional
要发送到函数形式的参数。如果为空,如果fun= ' logcosh ', fun_args将取值{' alpha ': 1.0}。
max_iter int, optional
fit期间的最大迭代次数。
tol float, optional
对每次迭代更新的容忍度。
w_init None of an (n_components, n_components) ndarray
混合矩阵用于初始化算法。
random_state int, RandomState instance, default=None
用于初始化未指定的w_init,使用正态分布。传递一个int,以便在多个函数调用中得到可重复的结果。详见术语表
属性 说明
components_ 2D array, shape (n_components, n_features)
将线性算子应用于数据得到独立的源。它等于解混矩阵当白化为假时,等于np。当白化为真时,点(unmixing_matrix, self。whitening_)。
mixing_ array, shape (n_features, n_components)
components_的伪逆。它是将独立的源映射到数据的线性操作符。
mean_ array, shape(n_features)
特征的平均值。只有当self时才设置。白化是正确的。
n_iter_ int
如果算法是“通缩”,n_iter是在所有组件上运行的最大迭代次数。否则它们就是收敛所需的迭代次数。
whitening_ array, shape (n_components, n_features)
只有在白化为“真”时才设置。这是将数据投影到第一个n_components主成分上的预白化矩阵。

注意

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

示例

>>> from sklearn.datasets import load_digits
>>> from sklearn.decomposition import FastICA
>>> X, _ = load_digits(return_X_y=True)
>>> transformer = FastICA(n_components=7,
...         random_state=0)
>>> X_transformed = transformer.fit_transform(X)
>>> X_transformed.shape
(17977)

方法

方法 说明
fit(self, X[, y]) 将模型拟合到X。
fit_transform(self, X[, y]) 拟合模型并从X中恢复源。
get_params(self[, deep]) 获取这个估计器的参数。
inverse_transform(self, X[, copy]) 设置这个估计器的参数。
set_params(self, **params) Set the parameters of this estimator.
transform(self, X[, copy]) 从X中恢复源(应用分离矩阵)。
__init__(self, n_components=None, *, algorithm='parallel', whiten=True, fun='logcosh', fun_args=None, max_iter=200, tol=0.0001, w_init=None, random_state=None)[source]

[源码]

初始化self. See 请参阅help(type(self))以获得准确的说明。

fit(self, X, y=None)

[源码]

将模型拟合到X。

参数 说明
X array-like, shape (n_samples, n_features)
训练数据,其中n_samples为样本数量,n_features为特征数量。
y Ignored
返回值
self
fit_transform(self, X, y=None)

[源码]

拟合模型并从X中恢复源。

参数 说明
X array-like, shape (n_samples, n_features)
训练数据,其中n_samples为样本数量,n_features为特征数量。
y Ignored
返回值 说明
X_new array-like, shape (n_samples, n_components)
inverse_transform(self, X, copy=True)

[源码]

将源转换回混合数据(应用混合矩阵)。

参数 说明
X array-like, shape (n_samples, n_features)
其中n_samples是样本的数量,n_components是组件的数量。
copy bool (optional)
如果为False,传递给fit的数据将被覆盖。默认值为True。
返回值 说明
X_new array-like, shape (n_samples, n_features)
set_params(self, **params)

[源码]

设置这个估计器的参数。

该方法适用于简单估计器和嵌套对象(如管道)。后者具有形式为 <component>__<parameter> 的参数,这样就可以更新嵌套对象的每个样本。

参数 说明
**params dict
估计参数
返回值 说明
self object
估计距离
transform(self, X, copy=True)

[源码]

从X中恢复源(应用分离矩阵)。

参数 说明
X array-like, shape (n_samples, n_features)
其中n_samples是样本的数量,n_components是组件的数量。
copy bool (optional)
如果为False,传递给fit的数据将被覆盖。默认值为True。