Nystroem#
- class sklearn.kernel_approximation.Nystroem(kernel='rbf', *, gamma=None, coef0=None, degree=None, kernel_params=None, n_components=100, random_state=None, n_jobs=None)#
近似使用训练数据的一个子集来近似一个核映射。
为任意核构造一个近似的特征映射,使用数据的一个子集作为基。
更多信息请参阅 用户指南 。
Added in version 0.13.
- Parameters:
- kernelstr or callable, default=’rbf’
要近似的核映射。一个可调用对象应接受两个参数 并传递给此对象作为
kernel_params
的关键字参数, 并应返回一个浮点数。- gammafloat, default=None
RBF、拉普拉斯、多项式、指数卡方 和 sigmoid 核的 Gamma 参数。默认值的解释留给 核;请参阅 sklearn.metrics.pairwise 的文档。 其他核忽略此参数。
- coef0float, default=None
多项式和 sigmoid 核的零系数。 其他核忽略此参数。
- degreefloat, default=None
多项式核的度数。其他核忽略此参数。
- kernel_paramsdict, default=None
传递给核函数的关键字参数。
- n_componentsint, default=100
要构造的特征数量。 将用于构造映射的数据点数量。
- random_stateint, RandomState instance or None, default=None
伪随机数生成器,用于控制均匀采样而无需 替换
n_components
的训练数据以构造 基核。 传递一个 int 以在多次函数调用中重现输出。 请参阅 Glossary 。- n_jobsint, default=None
用于计算的作业数。通过将 核矩阵分解为
n_jobs
个均匀切片并在 并行计算它们。None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。请参阅 Glossary 了解更多详情。Added in version 0.24.
- Attributes:
- components_ndarray of shape (n_components, n_features)
用于构造特征映射的训练点子集。
- component_indices_ndarray of shape (n_components)
components_
在训练集中的索引。- normalization_ndarray of shape (n_components, n_components)
嵌入所需的归一化矩阵。
components_
上的核矩阵的平方根。- n_features_in_int
fit 期间看到的特征数量。
Added in version 0.24.
- feature_names_in_ndarray of shape (
n_features_in_
,) fit 期间看到的特征名称。仅当
X
的特征名称均为字符串时定义。Added in version 1.0.
See also
AdditiveChi2Sampler
近似加性卡方核的特征映射。
PolynomialCountSketch
通过张量草图进行多项式核近似。
RBFSampler
使用随机傅里叶特征近似 RBF 核特征映射。
SkewedChi2Sampler
近似“偏斜卡方”核的特征映射。
sklearn.metrics.pairwise.kernel_metrics
内置核列表。
References
Williams, C.K.I. and Seeger, M. “Using the Nystroem method to speed up kernel machines”, Advances in neural information processing systems 2001
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
Examples
>>> 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(X, y=None)#
拟合估计器到数据。
采样一部分训练点,计算这些点上的核函数并计算归一化矩阵。
- Parameters:
- Xarray-like, shape (n_samples, n_features)
训练数据,其中
n_samples
是样本数量,n_features
是特征数量。- yarray-like, shape (n_samples,) or (n_samples, n_outputs), default=None
目标值(无监督变换时为None)。
- Returns:
- selfobject
返回实例本身。
- fit_transform(X, y=None, **fit_params)#
拟合数据,然后进行转换。
将转换器拟合到
X
和y
,并带有可选参数fit_params
, 并返回X
的转换版本。- Parameters:
- X形状为 (n_samples, n_features) 的类数组
输入样本。
- y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组, 默认=None
目标值(无监督转换为 None)。
- **fit_paramsdict
其他拟合参数。
- Returns:
- X_new形状为 (n_samples, n_features_new) 的 ndarray 数组
转换后的数组。
- get_feature_names_out(input_features=None)#
获取转换后的输出特征名称。
输出特征名称将以小写的类名作为前缀。例如,如果转换器输出3个特征,那么输出特征名称将是:
["class_name0", "class_name1", "class_name2"]
。- Parameters:
- input_features类似数组的对象或None,默认为None
仅用于验证特征名称与
fit
中看到的名称。
- Returns:
- feature_names_outndarray of str对象
转换后的特征名称。
- get_metadata_routing()#
获取此对象的元数据路由。
请查看 用户指南 以了解路由机制的工作原理。
- Returns:
- routingMetadataRequest
MetadataRequest
封装的 路由信息。
- get_params(deep=True)#
获取此估计器的参数。
- Parameters:
- deepbool, 默认=True
如果为True,将返回此估计器和包含的子对象(也是估计器)的参数。
- Returns:
- paramsdict
参数名称映射到它们的值。
- set_output(*, transform=None)#
设置输出容器。
请参阅 介绍 set_output API 以了解如何使用API的示例。
- Parameters:
- transform{“default”, “pandas”, “polars”}, 默认=None
配置
transform
和fit_transform
的输出。"default"
: 转换器的默认输出格式"pandas"
: DataFrame 输出"polars"
: Polars 输出None
: 转换配置不变
Added in version 1.4:
"polars"
选项已添加。
- Returns:
- self估计器实例
估计器实例。
- set_params(**params)#
设置此估计器的参数。
该方法适用于简单估计器以及嵌套对象(例如
Pipeline
)。后者具有形式为<component>__<parameter>
的参数,以便可以更新嵌套对象的每个组件。- Parameters:
- **paramsdict
估计器参数。
- Returns:
- selfestimator instance
估计器实例。
- transform(X)#
应用特征图到X。
使用核函数在某些训练点和X之间计算近似特征图。
- Parameters:
- X形状为 (n_samples, n_features) 的类数组
要转换的数据。
- Returns:
- X_transformed形状为 (n_samples, n_components) 的 ndarray
转换后的数据。