sklearn.kernel_approximation.Nystroem

class sklearn.kernel_approximation.Nystroem(kernel='rbf', *, gamma=None, coef0=None, degree=None, kernel_params=None, n_components=100, random_state=None)

[源码]

使用训练数据的子集近似核映射。

以数据的子集为基础构造任意核的近似特征映射。

阅读更多内容用户指南.

新版本0.13。

参数 说明
kernel string or callable, default=”rbf”
要近似的内核映射。 一个callable应该接受两个参数和作为参数传递给该对象的关键字参数kernel_params,并且返回一个浮点数。
gamma float, default=None
RBF, laplacian, polynomial, exponential chi2 和 sigmoid kernels的Gamma参数。内核部分给出默认值的解释,请参阅sklearn.metrics.pairwise的文档。 被其他内核忽略。
coef0 float, default=None
polynomial 和 sigmoid kernels的系数为零。 被其他内核忽略。
degree float, default=None
polynomial kernel的度。被其他内核忽略。
kernel_params mapping of string to any, optional
作为可调用对象传递的内核函数的其他参数(关键字参数)。
n_components int
要构建的特征数量。 多少个数据点将用于构造映射。
random_state int, RandomState instance or None, optional (default=None)
伪随机数生成器,用于控制均匀采样,而无需替换训练数据的n_component来构造基础内核。 为多个函数调用传递可重复输出的int值。 请参阅词汇表
属性 说明
components_ array, shape (n_components, n_features)
用于构造特征图的训练点子集。
component_indices_ array, shape (n_components)
训练集中components_的索引。
normalization_ array, shape (n_components, n_components)
嵌入所需的归一化矩阵。components_上核矩阵的平方根。

另见

参考文献

1 Williams, C.K.I. and Seeger, M. “Using the Nystroem method to speed up kernel machines”, Advances in neural information processing systems 2001

2 T. Yang, Y. Li, M. Mahdavi, R. Jin and Z. Zhou “Nystroem Method vs Random Fourier Features: A Theoretical and Empirical Comparison”, Advances in Neural Information Processing Systems 2012

实例

>>> from sklearn import datasets, svm
>>> from sklearn.kernel_approximation import Nystroem
>>> X, y = datasets.load_digits(n_class=9, return_X_y=True)
>>> data = X / 16.
>>> clf = svm.LinearSVC()
>>> feature_map_nystroem = Nystroem(gamma=.2,
...                                 random_state=1,
...                                 n_components=300)
>>> data_transformed = feature_map_nystroem.fit_transform(data)
>>> clf.fit(data_transformed, y)
LinearSVC()
>>> clf.score(data_transformed, y)
0.9987...
方法 说明
fit(self, X[, y]) 拟合数据的估计量。
fit_transform(self, X[, y]) 拟合数据,然后转换它。
get_params(self[, deep]) 获取此估计器的参数。
set_params(self, **params) 设置此估计器的参数。
transform(self, X) 将特征映射应用于X。
__init__(self, kernel='rbf', *, gamma=None, coef0=None, degree=None, kernel_params=None, n_components=100, random_state=None)

[源码]

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

fit(self, X, y=None)

[源码]

拟合数据的估计量。

对训练点的子集进行采样,在此基础上计算核并计算归一化矩阵。

参数 说明
X array-like of shape (n_samples, n_features)
训练数据
fit_transform(self, X, y=None, **fit_params)

[源码]

拟合数据,然后对其进行转换。

使用可选参数Fit_params将转换器安装到X和y,并返回转换版本的X。

参数 说明
X {array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
y ndarray of shape (n_samples,), default=None
目标值。
**fit_params dict
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
变换数组
get_params(self, deep=True)

[源码]

获取此估计量的参数。

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

[源码]

设置此估计量的参数。

该方法适用于简单的估计量以及嵌套对象(例如pipelines)。 后者的参数格式为 __ ,以便可以更新嵌套对象的每个组件。

参数 说明
**params dict
估计参数
返回值 说明
self object
估计实例
transform(self, X)

[源码]

将特征映射应用于X。

利用某些训练点与X之间的核来计算一个近似特征图。

参数 说明
X array-like of shape (n_samples, n_features)
要转换的数据。
返回值 说明
X_transformed array, shape=(n_samples, n_components)
转换数据。

sklearn.kernel_approximation.Nystroem使用示例