sklearn.decomposition.KernelPCA

class sklearn.decomposition.KernelPCA(n_components=None, *, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None, alpha=1.0, fit_inverse_transform=False, eigen_solver='auto', tol=0, max_iter=None, remove_zero_eig=False, random_state=None, copy_X=True, n_jobs=None)

[源码]

内核主成分分析(KPCA)

通过使用内核减少非线性维数(请参阅成对度量,近似关系和内核)。

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

参数 说明
n_components int, default=None
组件数。如果为None,则将保留所有非零分量。
kernel “linear” , “poly” , “rbf” ,“sigmoid” , “cosine” , “precomputed”
内核。默认值为“linear”。
gamma float, default=1/n_features
rbf,poly和Sigmoid内核的内核系数。被其他内核忽略。
degree int, default=3
多核度。被其他内核忽略。
coef0 float, default=1
poly核和sigmoid核中的独立项。被其他内核忽略。
kernel_params mapping of string to any, default=None
作为可调用对象传递的内核的参数(关键字参数)和值。被其他内核忽略。
alpha int, default=1.0
岭回归的超参数,用于学习逆变换(当fit_inverse_transform = True时)。
fit_inverse_transform bool, default=False
了解非预计算内核的逆变换。(即学会找到一个点的原像)
eigen_solver string [‘auto’,’dense’,’arpack’], default=’auto’
选择要使用的特征求解器。如果n_components远小于训练样本的数量,则arpack可能比密集特征求解器更有效。
tol float, default=0
arpack的收敛容限。如果为0,则arpack将选择最佳值。
max_iter int, default=None
arpack的最大迭代次数。如果为None,则arpack将选择最佳值。
remove_zero_eig boolean, default=False
如果为True,则将删除所有具有零特征值的分量,以使输出中的分量数可能小于n_components(有时由于数字不稳定性甚至为零)。当n_components为None时,将忽略此参数,并删除特征值为零的组件。
random_state int, RandomState instance, default=None
eigen_solver=='arpack'时使用。在多个函数调用之间传递int以获得可重复的结果。请参阅词汇表

版本0.18中的新功能。
copy_X boolean, default=True
如果为True,则模型将复制输入X并将其存储在X_fit_ 属性中。如果对X不再做任何更改,则该设置copy_X=False将通过存储引用来 节省内存。

版本0.18中的新功能。
n_jobs int or None, optional (default=None)
要运行的并行作业数。 None除非joblib.parallel_backend上下文中,否则表示1 。 -1表示使用所有处理器。有关 更多详细信息,请参见词汇表

版本0.18中的新功能。
属性 说明
lambdas_ array, (n_components,)
中心核矩阵的特征值以降序排列。如果n_componentsremove_zero_eig均未设置,则将存储所有值。
alphas_ array, (n_samples, n_components)
中心核矩阵的特征向量。如果n_componentsremove_zero_eig均未设置,则将存储所有组件。
dual_coef_ array, (n_samples, n_features)
逆变换矩阵。仅当fit_inverse_transform为True 时可用 。
X_transformed_fit_ array, (n_samples, n_components)
拟合数据在内核主成分上的投影。仅当fit_inverse_transform为True 时可用。
X_fit_ (n_samples, n_features)
用于拟合模型的数据。如果为copy_X=False,则X_fit_为参考。此属性用于进行转换的调用。

参考文献

  • 内核PCA引入于:

    Bernhard Schoelkopf, Alexander J. Smola, and Klaus-Robert Mueller. 1999. Kernel principal component analysis. In Advances in kernel methods, MIT Press, Cambridge, MA, USA 327-352.

例子

>>> from sklearn.datasets import load_digits
>>> from sklearn.decomposition import KernelPCA
>>> X, _ = load_digits(return_X_y=True)
>>> transformer = KernelPCA(n_components=7, kernel='linear')
>>> X_transformed = transformer.fit_transform(X)
>>> X_transformed.shape
(1797, 7)

方法

方法 说明
fit(X[, y]) 根据X中的数据拟合模型。
fit_transform(X[, y]) 根据X中的数据拟合模型并转换X。
get_params([deep]) 获取此估计量的参数。
inverse_transform(X) 将X转换回原始空间。
set_params(**params) 设置此估算器的参数。
transform(X) 转换X。
__init__(n_components=None, *, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None, alpha=1.0, fit_inverse_transform=False, eigen_solver='auto', tol=0, max_iter=None, remove_zero_eig=False, random_state=None, copy_X=True, n_jobs=None)

[源码]

初始化self。请参阅help(type(self))获取准确的信息。

fit(X, y=None)

[源码]

根据X中的数据拟合模型。

参数 说明
X array-like, shape (n_samples, n_features)
训练向量,其中样本数量为n_samples个,特征数量为n_features个。
返回值 说明
self object
返回实例本身。
fit_transform(X, y=None, **params)

[源码]

根据X中的数据拟合模型并转换X。

参数 说明
X array-like, shape (n_samples, n_features)
训练向量,其中样本数量为n_samples个,特征数量为n_features个。
返回值 说明
X_new array-like, shape (n_samples, n_components)
get_params(deep=True)

[源码]

获取此估计量的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和其所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
inverse_transform(X )

[源码]

将X转换回原始空间。

参数 说明
X array-like, shape (n_samples, n_components)
返回值 说明
X_new array-like, shape (n_samples, n_features)

参考文献

“Learning to Find Pre-Images”, G BakIr et al, 2004.

set_params(**params)

[源码]

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。后者具有<component>__<parameter>形式的参数, 以便可以更新嵌套对象的每个组件。

参数 说明
**params dict
估算器参数。
返回值 说明
self object
估算器实例。
transform(X )

[源码]

转换X。

参数 说明
X array-like, shape (n_samples, n_features)
返回值 说明
X_new array-like, shape (n_samples, n_components)

sklearn.decomposition.KernelPCA使用示例