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_上核矩阵的平方根。 |
另见
用随机Fourier特征逼近RBF核。
sklearn.metrics.pairwise.kernel_metrics
内置内核列表。
参考文献
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) 转换数据。 |