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
(1797, 7)
方法
方法 | 说明 |
---|---|
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。 |